Changeset 241221 in webkit
- Timestamp:
- Feb 8, 2019 4:28:19 PM (5 years ago)
- Location:
- trunk/Tools
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Tools/BuildSlaveSupport/ews-build/loadConfig.py
r241218 r241221 103 103 raise Exception('Builder "{}" does not have name defined.'.format(builder)) 104 104 105 if not builder.get('shortname'): 106 raise Exception('Builder "{}" does not have short name defined. This name is needed for EWS status bubbles.'.format(builder.get('name'))) 107 105 108 if not buildbot_identifiers.ident_re.match(builder['name']): 106 109 raise Exception('Builder name {} is not a valid buildbot identifier.'.format(builder['name'])) -
trunk/Tools/BuildSlaveSupport/ews-build/loadConfig_unittest.py
r240890 r241221 40 40 config = json.load(open(os.path.join(cwd, 'config.json'))) 41 41 valid_builder_keys = ['additionalArguments', 'architectures', 'builddir', 'configuration', 'description', 42 'defaultProperties', 'env', 'factory', 'locks', 'name', 'platform', 'properties', ' tags',42 'defaultProperties', 'env', 'factory', 'locks', 'name', 'platform', 'properties', 'shortname', 'tags', 43 43 'triggers', 'workernames', 'workerbuilddir'] 44 44 for builder in config.get('builders', []): … … 108 108 self.assertEqual(context.exception.args, ('Builder "{\'platform\': \'mac-sierra\'}" does not have name defined.',)) 109 109 110 def test_builder_with_missing_shortname(self): 111 with self.assertRaises(Exception) as context: 112 loadConfig.checkValidBuilder({}, {'platform': 'mac-sierra', 'name': 'mac-wk2(test)'}) 113 self.assertEqual(context.exception.args, ('Builder "mac-wk2(test)" does not have short name defined. This name is needed for EWS status bubbles.',)) 114 110 115 def test_builder_with_invalid_identifier(self): 111 116 with self.assertRaises(Exception) as context: 112 loadConfig.checkValidBuilder({}, {'name': 'mac-wk2(test)' })117 loadConfig.checkValidBuilder({}, {'name': 'mac-wk2(test)', 'shortname': 'mac-wk2'}) 113 118 self.assertEqual(context.exception.args, ('Builder name mac-wk2(test) is not a valid buildbot identifier.',)) 114 119 … … 116 121 longName = 'a' * 71 117 122 with self.assertRaises(Exception) as context: 118 loadConfig.checkValidBuilder({}, {'name': longName })123 loadConfig.checkValidBuilder({}, {'name': longName, 'shortname': 'a'}) 119 124 self.assertEqual(context.exception.args, ('Builder name {} is longer than maximum allowed by Buildbot (70 characters).'.format(longName),)) 120 125 121 126 def test_builder_with_invalid_configuration(self): 122 127 with self.assertRaises(Exception) as context: 123 loadConfig.checkValidBuilder({}, {'name': 'mac-wk2', ' configuration': 'asan'})128 loadConfig.checkValidBuilder({}, {'name': 'mac-wk2', 'shortname': 'mac-wk2', 'configuration': 'asan'}) 124 129 self.assertEqual(context.exception.args, ('Invalid configuration: asan for builder: mac-wk2',)) 125 130 126 131 def test_builder_with_missing_factory(self): 127 132 with self.assertRaises(Exception) as context: 128 loadConfig.checkValidBuilder({}, {'name': 'mac-wk2', ' configuration': 'release'})133 loadConfig.checkValidBuilder({}, {'name': 'mac-wk2', 'shortname': 'mac-wk2', 'configuration': 'release'}) 129 134 self.assertEqual(context.exception.args, ('Builder mac-wk2 does not have factory defined.',)) 130 135 131 136 def test_builder_with_missing_scheduler(self): 132 137 with self.assertRaises(Exception) as context: 133 loadConfig.checkValidBuilder({}, {'name': 'mac-wk2', ' configuration': 'release', 'factory': 'WK2Factory', 'platform': 'mac-sierra', 'triggers': ['api-tests-mac-ews']})138 loadConfig.checkValidBuilder({}, {'name': 'mac-wk2', 'shortname': 'mac-wk2', 'configuration': 'release', 'factory': 'WK2Factory', 'platform': 'mac-sierra', 'triggers': ['api-tests-mac-ews']}) 134 139 self.assertEqual(context.exception.args, ('Trigger: api-tests-mac-ews in builder mac-wk2 does not exist in list of Trigerrable schedulers.',)) 135 140 136 141 def test_builder_with_missing_platform(self): 137 142 with self.assertRaises(Exception) as context: 138 loadConfig.checkValidBuilder({}, {'name': 'mac-wk2', ' configuration': 'release', 'factory': 'WK2Factory'})143 loadConfig.checkValidBuilder({}, {'name': 'mac-wk2', 'shortname': 'mac-wk2', 'configuration': 'release', 'factory': 'WK2Factory'}) 139 144 self.assertEqual(context.exception.args, ('Builder mac-wk2 does not have platform defined.',)) 140 145 141 146 def test_valid_builder(self): 142 loadConfig.checkValidBuilder({}, {'name': 'mac -wk2', 'configuration': 'release', 'factory': 'WK2Factory', 'platform': 'mac-sierra'})147 loadConfig.checkValidBuilder({}, {'name': 'macOS-High-Sierra-WK2-EWS', 'shortname': 'mac-wk2', 'configuration': 'release', 'factory': 'WK2Factory', 'platform': 'mac-sierra'}) 143 148 144 149 145 150 class TestcheckWorkersAndBuildersForConsistency(unittest.TestCase): 146 151 def __init__(self, *args, **kwargs): 147 self.WK2Builder = {'name': 'mac -wk2', 'factory': 'WK2Factory', 'platform': 'mac-sierra', 'workernames': ['ews101', 'ews102']}152 self.WK2Builder = {'name': 'macOS-High-Sierra-WK2-EWS', 'shortname': 'mac-wk2', 'factory': 'WK2Factory', 'platform': 'mac-sierra', 'workernames': ['ews101', 'ews102']} 148 153 self.ews101 = {'name': 'ews101', 'platform': 'mac-sierra'} 149 154 self.ews102 = {'name': 'ews102', 'platform': 'ios-11'} … … 153 158 with self.assertRaises(Exception) as context: 154 159 loadConfig.checkWorkersAndBuildersForConsistency({}, [], [self.WK2Builder]) 155 self.assertEqual(context.exception.args, ('Builder mac -wk2has worker ews101, which is not defined in workers list!',))160 self.assertEqual(context.exception.args, ('Builder macOS-High-Sierra-WK2-EWS has worker ews101, which is not defined in workers list!',)) 156 161 157 162 def test_checkWorkersAndBuildersForConsistency1(self): 158 163 with self.assertRaises(Exception) as context: 159 164 loadConfig.checkWorkersAndBuildersForConsistency({}, [self.ews101, self.ews102], [self.WK2Builder]) 160 self.assertEqual(context.exception.args, ('Builder mac -wk2is for platform mac-sierra, but has worker ews102 for platform ios-11!',))165 self.assertEqual(context.exception.args, ('Builder macOS-High-Sierra-WK2-EWS is for platform mac-sierra, but has worker ews102 for platform ios-11!',)) 161 166 162 167 def test_success(self): -
trunk/Tools/ChangeLog
r241218 r241221 1 2019-02-08 Aakash Jain <aakash_jain@apple.com> 2 3 [ews-build] Ensure that every builder in config.json has short name 4 https://bugs.webkit.org/show_bug.cgi?id=194461 5 6 Reviewed by Lucas Forschler. 7 8 * BuildSlaveSupport/ews-build/loadConfig.py: 9 * BuildSlaveSupport/ews-build/loadConfig_unittest.py: Updated unit-tests. 10 1 11 2019-02-08 Aakash Jain <aakash_jain@apple.com> 2 12
Note: See TracChangeset
for help on using the changeset viewer.