WebKit Bugzilla
Attachment 368322 Details for
Bug 195472
: Running a single test will always use the default device
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-195472-20190426093954.patch (text/plain), 5.32 KB, created by
Jonathan Bedard
on 2019-04-26 09:39:54 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Jonathan Bedard
Created:
2019-04-26 09:39:54 PDT
Size:
5.32 KB
patch
obsolete
>Index: Tools/ChangeLog >=================================================================== >--- Tools/ChangeLog (revision 244690) >+++ Tools/ChangeLog (working copy) >@@ -1,3 +1,24 @@ >+2019-04-26 Jonathan Bedard <jbedard@apple.com> >+ >+ webkitpy: Running a single test will always use the default device >+ https://bugs.webkit.org/show_bug.cgi?id=195472 >+ <rdar://problem/48724825> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ It makes more sense to have the Manager class handle the case where a user specifically requests a test which is >+ skipped on the current configuration. This changes the behavior when running part of a test shard, now tests explicitly >+ requested will be run regardless of what shard they are in. >+ >+ * Scripts/webkitpy/layout_tests/controllers/layout_test_finder.py: >+ (LayoutTestFinder.skip_tests): Caller should manage running skipped tests which were explicitly requested. >+ * Scripts/webkitpy/layout_tests/controllers/manager.py: >+ (Manager.run): If a test is marked as skipped for the configuration, but was specifically requested, run it anyways >+ on the default device type. >+ * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py: >+ (RunTest.test_run_chunk): Explicitly requesting a test will override sharing behavior. >+ (RunTest.test_run_part): Ditto. >+ > 2019-04-26 Yoshiaki Jitsukawa <yoshiaki.jitsukawa@sony.com> > > check-webkit-style complains the first block in while loop. >Index: Tools/Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py >=================================================================== >--- Tools/Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py (revision 244668) >+++ Tools/Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py (working copy) >@@ -385,7 +385,7 @@ class RunTest(unittest.TestCase, StreamT > > # Test that we wrap around if the number of tests is not evenly divisible by the chunk size > tests_to_run = ['passes/error.html', 'passes/image.html', 'passes/platform_image.html', 'passes/text.html'] >- chunk_tests_run = get_tests_run(['--run-chunk', '1:3'] + tests_to_run) >+ chunk_tests_run = get_tests_run(['--run-chunk', '1:3', '--skipped', 'always'] + tests_to_run) > self.assertEqual(['passes/text.html', 'passes/error.html', 'passes/image.html'], chunk_tests_run) > > def test_run_force(self): >@@ -397,13 +397,13 @@ class RunTest(unittest.TestCase, StreamT > def test_run_part(self): > # Test that we actually select the right part > tests_to_run = ['passes/error.html', 'passes/image.html', 'passes/platform_image.html', 'passes/text.html'] >- tests_run = get_tests_run(['--run-part', '1:2'] + tests_to_run) >+ tests_run = get_tests_run(['--run-part', '1:2', '--skipped', 'always'] + tests_to_run) > self.assertEqual(['passes/error.html', 'passes/image.html'], tests_run) > > # Test that we wrap around if the number of tests is not evenly divisible by the chunk size > # (here we end up with 3 parts, each with 2 tests, and we only have 4 tests total, so the > # last part repeats the first two tests). >- chunk_tests_run = get_tests_run(['--run-part', '3:3'] + tests_to_run) >+ chunk_tests_run = get_tests_run(['--run-part', '3:3', '--skipped', 'always'] + tests_to_run) > self.assertEqual(['passes/error.html', 'passes/image.html'], chunk_tests_run) > > def test_run_singly(self): >Index: Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_finder.py >=================================================================== >--- Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_finder.py (revision 244668) >+++ Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_finder.py (working copy) >@@ -130,9 +130,6 @@ class LayoutTestFinder(object): > tests_to_skip = all_tests - tests_to_skip > elif self._options.skipped == 'ignore': > tests_to_skip = set() >- elif self._options.skipped != 'always': >- # make sure we're explicitly running any tests passed on the command line; equivalent to 'default'. >- tests_to_skip -= set(paths) > > # unless of course we don't want to run the HTTP tests :) > if not self._options.http: >Index: Tools/Scripts/webkitpy/layout_tests/controllers/manager.py >=================================================================== >--- Tools/Scripts/webkitpy/layout_tests/controllers/manager.py (revision 244668) >+++ Tools/Scripts/webkitpy/layout_tests/controllers/manager.py (working copy) >@@ -205,6 +205,13 @@ class Manager(object): > tests_to_run_by_device[device_type] = [test for test in tests_to_run if test not in aggregate_tests] > aggregate_tests.update(tests_to_run) > >+ # If a test is marked skipped, but was explicitly requested, run it anyways >+ if self._options.skipped != 'always': >+ for arg in args: >+ if arg in total_tests and arg not in aggregate_tests: >+ tests_to_run_by_device[device_type_list[0]].append(arg) >+ aggregate_tests.add(arg) >+ > tests_to_skip = total_tests - aggregate_tests > self._printer.print_found(len(aggregate_test_names), len(aggregate_tests), self._options.repeat_each, self._options.iterations) > start_time = time.time()
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 195472
: 368322