Home | History | Annotate | Download | only in examples
      1 # Copyright 2017 The Chromium Authors. All rights reserved.
      2 # Use of this source code is governed by a BSD-style license that can be
      3 # found in the LICENSE file.
      4 
      5 
      6 DEPS = [
      7   'builder_name_schema',
      8 ]
      9 
     10 
     11 def RunSteps(api):
     12   names = [
     13     'Build-Debian9-Clang-x64-Release-Android',
     14     'Upload-Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Debug-Shard_12-Coverage',
     15   ]
     16   for name in names:
     17     d = api.builder_name_schema.DictForBuilderName(name)
     18     got = api.builder_name_schema.MakeBuilderName(**d)
     19     assert got == name
     20 
     21   # Failures.
     22   try:
     23     api.builder_name_schema.MakeBuilderName(role='nope')
     24   except ValueError:
     25     pass
     26 
     27   try:
     28     api.builder_name_schema.MakeBuilderName(compiler='Build', os='ab')
     29   except ValueError:
     30     pass
     31 
     32   try:
     33     api.builder_name_schema.MakeBuilderName(role='Build', bogus='BOGUS')
     34   except ValueError:
     35     pass
     36 
     37   try:
     38     api.builder_name_schema.MakeBuilderName(
     39         role='Build',
     40         os='Debian9',
     41         compiler='Clang',
     42         target_arch='x64',
     43         configuration='Release',
     44         extra_config='A%sB' % api.builder_name_schema.BUILDER_NAME_SEP)
     45   except ValueError:
     46     pass
     47 
     48   try:
     49     api.builder_name_schema.DictForBuilderName('Build-')
     50   except ValueError:
     51     pass
     52 
     53   try:
     54     api.builder_name_schema.DictForBuilderName(
     55         'Build-Debian9-Clang-x64-Release-Android-Bogus')
     56   except ValueError:
     57     pass
     58 
     59   try:
     60     api.builder_name_schema.DictForBuilderName(
     61         'Bogus-Debian9-Clang-x64-Release-Android')
     62   except ValueError:
     63     pass
     64 
     65   try:
     66     api.builder_name_schema.MakeBuilderName(role='Upload')
     67   except ValueError:
     68     pass
     69 
     70   try:
     71     m = {
     72       'role': 'Upload',
     73       'sub-role-1': 'fake',
     74     }
     75     api.builder_name_schema.MakeBuilderName(**m)
     76   except ValueError:
     77     pass
     78 
     79   try:
     80     api.builder_name_schema.MakeBuilderName(
     81         role='Build',
     82         os='Debian9',
     83         compiler='Clang',
     84         target_arch='x64',
     85         configuration='Release',
     86         extra_config='Android',
     87         extra_extra_config='Bogus',
     88     )
     89   except ValueError:
     90     pass
     91 
     92 def GenTests(api):
     93   yield api.test('test')
     94