Changeset 262379 in webkit


Ignore:
Timestamp:
Jun 1, 2020 9:15:43 AM (4 years ago)
Author:
clopez@igalia.com
Message:

[EWS] Add a special case for running the layout test step without aborting in case of many failures for WPT tests
https://bugs.webkit.org/show_bug.cgi?id=212381

Reviewed by Jonathan Bedard.

Add a special case for patches uploaded by the bugzilla user that would be used
for prototyping a bot that helps automating the import of WPT tests. For patches
uploaded by this user don't pass the parameters that make the step abort early in
case of many errors, and only run the layout tests inside the WPT import directory.

  • BuildSlaveSupport/ews-build/steps.py:

(RunWebKitTests):
(RunWebKitTests.start):

  • BuildSlaveSupport/ews-build/steps_unittest.py:

(test_success):
(test_warnings):
(test_parse_results_json_regression):
(test_parse_results_json_flakes):
(test_parse_results_json_flakes_and_regressions):
(test_parse_results_json_with_newlines):
(test_unexpected_error):
(test_failure):
(test_success_wpt_import_bot):
(TestRunWebKitTestsWithoutPatch.test_success):
(TestRunWebKitTestsWithoutPatch.test_failure):
(TestRunWebKit1Tests.test_success):
(TestRunWebKit1Tests.test_failure):

Location:
trunk/Tools
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Tools/BuildSlaveSupport/ews-build/steps.py

    r261227 r262379  
    16831683               '--no-new-test-results',
    16841684               '--clobber-old-results',
    1685                '--exit-after-n-failures', '30',
    1686                '--skip-failing-tests',
    16871685               WithProperties('--%(configuration)s')]
    16881686
     
    17101708        self.setCommand(self.command + ['--results-directory', self.resultDirectory])
    17111709        self.setCommand(self.command + ['--debug-rwt-logging'])
     1710
     1711        patch_author = self.getProperty('patch_author')
     1712        if patch_author in ['webkit-wpt-import-bot@igalia.com']:
     1713            self.setCommand(self.command + ['imported/w3c/web-platform-tests'])
     1714        else:
     1715            self.setCommand(self.command + ['--exit-after-n-failures', '30', '--skip-failing-tests'])
    17121716
    17131717        if additionalArguments:
  • trunk/Tools/BuildSlaveSupport/ews-build/steps_unittest.py

    r261184 r262379  
    15531553                        logfiles={'json': self.jsonFileName},
    15541554                        logEnviron=False,
    1555                         command=['python', 'Tools/Scripts/run-webkit-tests', '--no-build', '--no-show-results', '--no-new-test-results', '--clobber-old-results', '--exit-after-n-failures', '30', '--skip-failing-tests', '--release', '--results-directory', 'layout-test-results', '--debug-rwt-logging'],
     1555                        command=['python', 'Tools/Scripts/run-webkit-tests', '--no-build', '--no-show-results', '--no-new-test-results', '--clobber-old-results', '--release', '--results-directory', 'layout-test-results', '--debug-rwt-logging', '--exit-after-n-failures', '30', '--skip-failing-tests'],
    15561556                        )
    15571557            + 0,
     
    15681568                        logfiles={'json': self.jsonFileName},
    15691569                        logEnviron=False,
    1570                         command=['python', 'Tools/Scripts/run-webkit-tests', '--no-build', '--no-show-results', '--no-new-test-results', '--clobber-old-results', '--exit-after-n-failures', '30', '--skip-failing-tests', '--release', '--results-directory', 'layout-test-results', '--debug-rwt-logging'],
     1570                        command=['python', 'Tools/Scripts/run-webkit-tests', '--no-build', '--no-show-results', '--no-new-test-results', '--clobber-old-results', '--release', '--results-directory', 'layout-test-results', '--debug-rwt-logging', '--exit-after-n-failures', '30', '--skip-failing-tests'],
    15711571                        )
    15721572            + 0
     
    16051605                        logfiles={'json': self.jsonFileName},
    16061606                        logEnviron=False,
    1607                         command=['python', 'Tools/Scripts/run-webkit-tests', '--no-build', '--no-show-results', '--no-new-test-results', '--clobber-old-results', '--exit-after-n-failures', '30', '--skip-failing-tests', '--release', '--results-directory', 'layout-test-results', '--debug-rwt-logging'],
     1607                        command=['python', 'Tools/Scripts/run-webkit-tests', '--no-build', '--no-show-results', '--no-new-test-results', '--clobber-old-results', '--release', '--results-directory', 'layout-test-results', '--debug-rwt-logging', '--exit-after-n-failures', '30', '--skip-failing-tests'],
    16081608                        )
    16091609            + 2
     
    16341634                        logfiles={'json': self.jsonFileName},
    16351635                        logEnviron=False,
    1636                         command=['python', 'Tools/Scripts/run-webkit-tests', '--no-build', '--no-show-results', '--no-new-test-results', '--clobber-old-results', '--exit-after-n-failures', '30', '--skip-failing-tests', '--release', '--results-directory', 'layout-test-results', '--debug-rwt-logging'],
     1636                        command=['python', 'Tools/Scripts/run-webkit-tests', '--no-build', '--no-show-results', '--no-new-test-results', '--clobber-old-results', '--release', '--results-directory', 'layout-test-results', '--debug-rwt-logging', '--exit-after-n-failures', '30', '--skip-failing-tests'],
    16371637                        )
    16381638            + 0
     
    16531653                        logfiles={'json': self.jsonFileName},
    16541654                        logEnviron=False,
    1655                         command=['python', 'Tools/Scripts/run-webkit-tests', '--no-build', '--no-show-results', '--no-new-test-results', '--clobber-old-results', '--exit-after-n-failures', '30', '--skip-failing-tests', '--release', '--results-directory', 'layout-test-results', '--debug-rwt-logging'],
     1655                        command=['python', 'Tools/Scripts/run-webkit-tests', '--no-build', '--no-show-results', '--no-new-test-results', '--clobber-old-results', '--release', '--results-directory', 'layout-test-results', '--debug-rwt-logging', '--exit-after-n-failures', '30', '--skip-failing-tests'],
    16561656                        )
    16571657            + 2
     
    16721672                        logfiles={'json': self.jsonFileName},
    16731673                        logEnviron=False,
    1674                         command=['python', 'Tools/Scripts/run-webkit-tests', '--no-build', '--no-show-results', '--no-new-test-results', '--clobber-old-results', '--exit-after-n-failures', '30', '--skip-failing-tests', '--release', '--results-directory', 'layout-test-results', '--debug-rwt-logging'],
     1674                        command=['python', 'Tools/Scripts/run-webkit-tests', '--no-build', '--no-show-results', '--no-new-test-results', '--clobber-old-results', '--release', '--results-directory', 'layout-test-results', '--debug-rwt-logging', '--exit-after-n-failures', '30', '--skip-failing-tests'],
    16751675                        )
    16761676            + 2
     
    16911691                        logfiles={'json': self.jsonFileName},
    16921692                        logEnviron=False,
    1693                         command=['python', 'Tools/Scripts/run-webkit-tests', '--no-build', '--no-show-results', '--no-new-test-results', '--clobber-old-results', '--exit-after-n-failures', '30', '--skip-failing-tests', '--debug', '--results-directory', 'layout-test-results', '--debug-rwt-logging'],
     1693                        command=['python', 'Tools/Scripts/run-webkit-tests', '--no-build', '--no-show-results', '--no-new-test-results', '--clobber-old-results', '--debug', '--results-directory', 'layout-test-results', '--debug-rwt-logging',  '--exit-after-n-failures', '30', '--skip-failing-tests'],
    16941694                        )
    16951695            + ExpectShell.log('stdio', stdout='Unexpected error.')
     
    17071707                        logfiles={'json': self.jsonFileName},
    17081708                        logEnviron=False,
    1709                         command=['python', 'Tools/Scripts/run-webkit-tests', '--no-build', '--no-show-results', '--no-new-test-results', '--clobber-old-results', '--exit-after-n-failures', '30', '--skip-failing-tests', '--release', '--results-directory', 'layout-test-results', '--debug-rwt-logging'],
     1709                        command=['python', 'Tools/Scripts/run-webkit-tests', '--no-build', '--no-show-results', '--no-new-test-results', '--clobber-old-results', '--release', '--results-directory', 'layout-test-results', '--debug-rwt-logging',  '--exit-after-n-failures', '30', '--skip-failing-tests'],
    17101710                        )
    17111711            + ExpectShell.log('stdio', stdout='9 failures found.')
     
    17131713        )
    17141714        self.expectOutcome(result=FAILURE, state_string='layout-tests (failure)')
     1715        return self.runStep()
     1716
     1717    def test_success_wpt_import_bot(self):
     1718        self.configureStep()
     1719        self.setProperty('fullPlatform', 'ios-simulator')
     1720        self.setProperty('configuration', 'release')
     1721        self.setProperty('patch_author', 'webkit-wpt-import-bot@igalia.com')
     1722        self.expectRemoteCommands(
     1723            ExpectShell(workdir='wkdir',
     1724                        logfiles={'json': self.jsonFileName},
     1725                        logEnviron=False,
     1726                        command=['python', 'Tools/Scripts/run-webkit-tests', '--no-build', '--no-show-results', '--no-new-test-results', '--clobber-old-results', '--release', '--results-directory', 'layout-test-results', '--debug-rwt-logging', 'imported/w3c/web-platform-tests'],
     1727                        )
     1728            + 0,
     1729        )
     1730        self.expectOutcome(result=SUCCESS, state_string='Passed layout tests')
    17151731        return self.runStep()
    17161732
     
    17541770                                 '--no-new-test-results',
    17551771                                 '--clobber-old-results',
    1756                                  '--exit-after-n-failures', '30',
    1757                                  '--skip-failing-tests',
    17581772                                 '--release',
    17591773                                 '--results-directory', 'layout-test-results',
    1760                                  '--debug-rwt-logging'],
     1774                                 '--debug-rwt-logging',
     1775                                 '--exit-after-n-failures', '30',
     1776                                 '--skip-failing-tests'],
    17611777                        )
    17621778            + 0,
     
    17791795                                 '--no-new-test-results',
    17801796                                 '--clobber-old-results',
    1781                                  '--exit-after-n-failures', '30',
    1782                                  '--skip-failing-tests',
    17831797                                 '--release',
    17841798                                 '--results-directory', 'layout-test-results',
    1785                                  '--debug-rwt-logging'],
     1799                                 '--debug-rwt-logging',
     1800                                 '--exit-after-n-failures', '30',
     1801                                 '--skip-failing-tests'],
    17861802                        )
    17871803            + ExpectShell.log('stdio', stdout='9 failures found.')
     
    18091825                        logfiles={'json': self.jsonFileName},
    18101826                        logEnviron=False,
    1811                         command=['python', 'Tools/Scripts/run-webkit-tests', '--no-build', '--no-show-results', '--no-new-test-results', '--clobber-old-results', '--exit-after-n-failures', '30', '--skip-failing-tests', '--debug', '--dump-render-tree', '--results-directory', 'layout-test-results', '--debug-rwt-logging'],
     1827                        command=['python', 'Tools/Scripts/run-webkit-tests', '--no-build', '--no-show-results', '--no-new-test-results', '--clobber-old-results', '--debug', '--dump-render-tree', '--results-directory', 'layout-test-results', '--debug-rwt-logging', '--exit-after-n-failures', '30', '--skip-failing-tests'],
    18121828                        )
    18131829            + 0,
     
    18241840                        logfiles={'json': self.jsonFileName},
    18251841                        logEnviron=False,
    1826                         command=['python', 'Tools/Scripts/run-webkit-tests', '--no-build', '--no-show-results', '--no-new-test-results', '--clobber-old-results', '--exit-after-n-failures', '30', '--skip-failing-tests', '--release', '--dump-render-tree', '--results-directory', 'layout-test-results', '--debug-rwt-logging'],
     1842                        command=['python', 'Tools/Scripts/run-webkit-tests', '--no-build', '--no-show-results', '--no-new-test-results', '--clobber-old-results', '--release', '--dump-render-tree', '--results-directory', 'layout-test-results', '--debug-rwt-logging', '--exit-after-n-failures', '30', '--skip-failing-tests'],
    18271843                        )
    18281844            + ExpectShell.log('stdio', stdout='9 failures found.')
  • trunk/Tools/ChangeLog

    r262377 r262379  
     12020-06-01  Carlos Alberto Lopez Perez  <clopez@igalia.com>
     2
     3        [EWS] Add a special case for running the layout test step without aborting in case of many failures for WPT tests
     4        https://bugs.webkit.org/show_bug.cgi?id=212381
     5
     6        Reviewed by Jonathan Bedard.
     7
     8        Add a special case for patches uploaded by the bugzilla user that would be used
     9        for prototyping a bot that helps automating the import of WPT tests. For patches
     10        uploaded by this user don't pass the parameters that make the step abort early in
     11        case of many errors, and only run the layout tests inside the WPT import directory.
     12
     13        * BuildSlaveSupport/ews-build/steps.py:
     14        (RunWebKitTests):
     15        (RunWebKitTests.start):
     16        * BuildSlaveSupport/ews-build/steps_unittest.py:
     17        (test_success):
     18        (test_warnings):
     19        (test_parse_results_json_regression):
     20        (test_parse_results_json_flakes):
     21        (test_parse_results_json_flakes_and_regressions):
     22        (test_parse_results_json_with_newlines):
     23        (test_unexpected_error):
     24        (test_failure):
     25        (test_success_wpt_import_bot):
     26        (TestRunWebKitTestsWithoutPatch.test_success):
     27        (TestRunWebKitTestsWithoutPatch.test_failure):
     28        (TestRunWebKit1Tests.test_success):
     29        (TestRunWebKit1Tests.test_failure):
     30
    1312020-06-01  Sam Weinig  <weinig@apple.com>
    232
Note: See TracChangeset for help on using the changeset viewer.