Changeset 254547 in webkit
- Timestamp:
- Jan 14, 2020, 5:32:39 PM (7 years ago)
- Location:
- trunk/Tools
- Files:
-
- 5 edited
-
BuildSlaveSupport/ews-build/factories.py (modified) (2 diffs)
-
BuildSlaveSupport/ews-build/factories_unittest.py (modified) (1 diff)
-
BuildSlaveSupport/ews-build/steps.py (modified) (4 diffs)
-
BuildSlaveSupport/ews-build/steps_unittest.py (modified) (3 diffs)
-
ChangeLog (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Tools/BuildSlaveSupport/ews-build/factories.py
r252786 r254547 30 30 PrintConfiguration, RunAPITests, RunBindingsTests, RunBuildWebKitOrgUnitTests, RunEWSBuildbotCheckConfig, RunEWSUnitTests, 31 31 RunJavaScriptCoreTests, RunWebKit1Tests, RunWebKitPerlTests, 32 RunWebKitPy Tests, RunWebKitTests, UpdateWorkingDirectory, ValidatePatch)32 RunWebKitPyPython2Tests, RunWebKitPyPython3Tests, RunWebKitTests, UpdateWorkingDirectory, ValidatePatch) 33 33 34 34 … … 88 88 def __init__(self, platform, configuration=None, architectures=None, additionalArguments=None, **kwargs): 89 89 Factory.__init__(self, platform=platform, configuration=configuration, architectures=architectures, buildOnly=False, additionalArgument=additionalArguments, checkRelevance=True) 90 self.addStep(RunWebKitPyTests()) 90 self.addStep(RunWebKitPyPython2Tests()) 91 self.addStep(RunWebKitPyPython3Tests()) 91 92 92 93 -
trunk/Tools/BuildSlaveSupport/ews-build/factories_unittest.py
r254448 r254547 135 135 _BuildStepFactory(steps.CheckOutSpecificRevision), 136 136 _BuildStepFactory(steps.ApplyPatch), 137 _BuildStepFactory(steps.RunWebKitPyTests), 137 _BuildStepFactory(steps.RunWebKitPyPython2Tests), 138 _BuildStepFactory(steps.RunWebKitPyPython3Tests), 138 139 ]) 139 140 -
trunk/Tools/BuildSlaveSupport/ews-build/steps.py
r254359 r254547 694 694 695 695 696 class RunWebKitPyTests(shell.ShellCommand): 697 name = 'webkitpy-tests' 698 description = ['webkitpy-tests running'] 696 class WebKitPyTest(shell.ShellCommand): 697 language = 'python' 699 698 descriptionDone = ['webkitpy-tests'] 700 699 flunkOnFailure = True 701 jsonFileName = 'webkitpy_test_results.json' 702 logfiles = {'json': jsonFileName} 703 command = ['python', 'Tools/Scripts/test-webkitpy', '--json-output={0}'.format(jsonFileName)] 704 705 def __init__(self, **kwargs): 706 super(RunWebKitPyTests, self).__init__(timeout=2 * 60, logEnviron=False, **kwargs) 700 701 def __init__(self, **kwargs): 702 super(WebKitPyTest, self).__init__(timeout=2 * 60, logEnviron=False, **kwargs) 707 703 708 704 def start(self): … … 713 709 def getResultSummary(self): 714 710 if self.results == SUCCESS: 715 message = 'Passed webkitpy tests' 716 self.build.buildFinished([message], SUCCESS) 711 message = 'Passed webkitpy {} tests'.format(self.language) 717 712 return {u'step': unicode(message)} 718 713 … … 723 718 except Exception as ex: 724 719 self._addToLog('stderr', 'ERROR: unable to parse data, exception: {}'.format(ex)) 725 return super( RunWebKitPyTests, self).getResultSummary()720 return super(WebKitPyTest, self).getResultSummary() 726 721 727 722 failures = webkitpy_results.get('failures') + webkitpy_results.get('errors') 728 723 if not failures: 729 return super( RunWebKitPyTests, self).getResultSummary()724 return super(WebKitPyTest, self).getResultSummary() 730 725 pluralSuffix = 's' if len(failures) > 1 else '' 731 726 failures_string = ', '.join([failure.get('name').replace('webkitpy.', '') for failure in failures]) 732 727 message = 'Found {} WebKitPy test failure{}: {}'.format(len(failures), pluralSuffix, failures_string) 733 self.build.buildFinished([message], FAILURE)734 728 return {u'step': unicode(message)} 735 729 … … 741 735 log = yield self.addLog(logName) 742 736 log.addStdout(message) 737 738 739 class RunWebKitPyPython2Tests(WebKitPyTest): 740 language = 'python2' 741 name = 'webkitpy-tests-{}'.format(language) 742 description = ['webkitpy-tests running ({})'.format(language)] 743 jsonFileName = 'webkitpy_test_{}_results.json'.format(language) 744 logfiles = {'json': jsonFileName} 745 command = ['python', 'Tools/Scripts/test-webkitpy', '--json-output={0}'.format(jsonFileName)] 746 747 748 class RunWebKitPyPython3Tests(WebKitPyTest): 749 language = 'python3' 750 name = 'webkitpy-tests-{}'.format(language) 751 description = ['webkitpy-tests running ({})'.format(language)] 752 jsonFileName = 'webkitpy_test_{}_results.json'.format(language) 753 logfiles = {'json': jsonFileName} 754 command = ['python3', 'Tools/Scripts/test-webkitpy', '--json-output={0}'.format(jsonFileName)] 743 755 744 756 -
trunk/Tools/BuildSlaveSupport/ews-build/steps_unittest.py
r253049 r254547 41 41 PrintConfiguration, ReRunAPITests, ReRunJavaScriptCoreTests, ReRunWebKitPerlTests, ReRunWebKitTests, RunAPITests, RunAPITestsWithoutPatch, 42 42 RunBindingsTests, RunBuildWebKitOrgUnitTests, RunEWSBuildbotCheckConfig, RunEWSUnitTests, RunJavaScriptCoreTests, RunJSCTestsWithoutPatch, RunWebKit1Tests, 43 RunWebKitPerlTests, RunWebKitPy Tests, RunWebKitTests, RunWebKitTestsWithoutPatch, TestWithFailureCount, Trigger, TransferToS3, UnApplyPatchIfRequired,43 RunWebKitPerlTests, RunWebKitPyPython2Tests, RunWebKitPyPython3Tests, RunWebKitTests, RunWebKitTestsWithoutPatch, TestWithFailureCount, Trigger, TransferToS3, UnApplyPatchIfRequired, 44 44 UpdateWorkingDirectory, UploadBuiltProduct, UploadTestResults, ValidatePatch) 45 45 … … 420 420 421 421 422 class TestWebKitPy Tests(BuildStepMixinAdditions, unittest.TestCase):423 def setUp(self): 424 self.longMessage = True 425 self.jsonFileName = 'webkitpy_test_ results.json'426 return self.setUpBuildStep() 427 428 def tearDown(self): 429 return self.tearDownBuildStep() 430 431 def test_success(self): 432 self.setupStep(RunWebKitPy Tests())422 class TestWebKitPyPython2Tests(BuildStepMixinAdditions, unittest.TestCase): 423 def setUp(self): 424 self.longMessage = True 425 self.jsonFileName = 'webkitpy_test_python2_results.json' 426 return self.setUpBuildStep() 427 428 def tearDown(self): 429 return self.tearDownBuildStep() 430 431 def test_success(self): 432 self.setupStep(RunWebKitPyPython2Tests()) 433 433 self.expectRemoteCommands( 434 434 ExpectShell(workdir='wkdir', … … 440 440 + 0, 441 441 ) 442 self.expectOutcome(result=SUCCESS, state_string='Passed webkitpy tests')443 return self.runStep() 444 445 def test_failure(self): 446 self.setupStep(RunWebKitPy Tests())442 self.expectOutcome(result=SUCCESS, state_string='Passed webkitpy python2 tests') 443 return self.runStep() 444 445 def test_failure(self): 446 self.setupStep(RunWebKitPyPython2Tests()) 447 447 self.expectRemoteCommands( 448 448 ExpectShell(workdir='wkdir', 449 449 logEnviron=False, 450 450 command=['python', 'Tools/Scripts/test-webkitpy', '--json-output={0}'.format(self.jsonFileName)], 451 logfiles={'json': self.jsonFileName}, 452 timeout=120, 453 ) 454 + ExpectShell.log('stdio', stdout='''Ran 1744 tests in 5.913s 455 FAILED (failures=1, errors=0)''') 456 + 2, 457 ) 458 self.expectOutcome(result=FAILURE, state_string='webkitpy-tests (failure)') 459 return self.runStep() 460 461 462 class TestWebKitPyPython3Tests(BuildStepMixinAdditions, unittest.TestCase): 463 def setUp(self): 464 self.longMessage = True 465 self.jsonFileName = 'webkitpy_test_python3_results.json' 466 return self.setUpBuildStep() 467 468 def tearDown(self): 469 return self.tearDownBuildStep() 470 471 def test_success(self): 472 self.setupStep(RunWebKitPyPython3Tests()) 473 self.expectRemoteCommands( 474 ExpectShell(workdir='wkdir', 475 logEnviron=False, 476 command=['python3', 'Tools/Scripts/test-webkitpy', '--json-output={0}'.format(self.jsonFileName)], 477 logfiles={'json': self.jsonFileName}, 478 timeout=120, 479 ) 480 + 0, 481 ) 482 self.expectOutcome(result=SUCCESS, state_string='Passed webkitpy python3 tests') 483 return self.runStep() 484 485 def test_failure(self): 486 self.setupStep(RunWebKitPyPython3Tests()) 487 self.expectRemoteCommands( 488 ExpectShell(workdir='wkdir', 489 logEnviron=False, 490 command=['python3', 'Tools/Scripts/test-webkitpy', '--json-output={0}'.format(self.jsonFileName)], 451 491 logfiles={'json': self.jsonFileName}, 452 492 timeout=120, -
trunk/Tools/ChangeLog
r254545 r254547 1 2020-01-14 Jonathan Bedard <jbedard@apple.com> 2 3 EWS: Run webkitpy tests with Python 2 and 3 4 https://bugs.webkit.org/show_bug.cgi?id=206113 5 6 Reviewed by Aakash Jain. 7 8 * BuildSlaveSupport/ews-build/factories.py: 9 (WebKitPyFactory.__init__): Run webkitpy tests in Python 2 and Python 3. 10 * BuildSlaveSupport/ews-build/factories_unittest.py: 11 (TestTestsFactory.test_webkitpy_factory): 12 * BuildSlaveSupport/ews-build/steps.py: 13 (WebKitPyTest): Renamed from RunWebKitPyTests. 14 (RunWebKitPyPython2Tests): 15 (RunWebKitPyPython3Tests): 16 (RunWebKitPyTests): Renamed to WebKitPyTest. 17 * BuildSlaveSupport/ews-build/steps_unittest.py: 18 (TestWebKitPyPython2Tests): Moved from TestWebKitPyTests. 19 (TestWebKitPyTests): Moved to TestWebKitPyPython2Tests. 20 (TestWebKitPyPython3Tests): Copied from TestWebKitPyPython2Tests. 21 1 22 2020-01-14 Aakash Jain <aakash_jain@apple.com> 2 23
Note:
See TracChangeset
for help on using the changeset viewer.