WebKit Bugzilla
Attachment 370545 Details for
Bug 198105
: run-webkit-tests: Remove feature detection support
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch for landing
bug-198105-20190524111801.patch (text/plain), 21.64 KB, created by
Fujii Hironori
on 2019-05-23 19:18:02 PDT
(
hide
)
Description:
Patch for landing
Filename:
MIME Type:
Creator:
Fujii Hironori
Created:
2019-05-23 19:18:02 PDT
Size:
21.64 KB
patch
obsolete
>Subversion Revision: 245730 >diff --git a/Tools/ChangeLog b/Tools/ChangeLog >index 415cd0c357188b982d5890ca5eecababb132e774..bf8b360ea2edb6239563b4a8cb0e58eb7c6fc52b 100644 >--- a/Tools/ChangeLog >+++ b/Tools/ChangeLog >@@ -1,3 +1,57 @@ >+2019-05-23 Fujii Hironori <Hironori.Fujii@sony.com> >+ >+ run-webkit-tests: Remove feature detection support >+ https://bugs.webkit.org/show_bug.cgi?id=198105 >+ >+ Reviewed by Jonathan Bedard. >+ >+ Feature detection support was added to DRT for Windows and old >+ run-webkit-tests in Bug 35610. It was added for NRWT in Bug 41842. >+ But, it doesn't work for DRT for Windows because of feature name >+ mismatches. Since USE(ACCELERATED_COMPOSITING) flag has been >+ removed in Bug 127833, it is not needed anymore. >+ >+ * DumpRenderTree/win/DumpRenderTree.cpp: >+ (main): >+ * Scripts/webkitpy/port/base.py: >+ (Port._tests_for_other_platforms): >+ (Port._skipped_tests_for_unsupported_features): >+ (Port._runtime_feature_list): Deleted. >+ (Port.nm_command): Deleted. >+ (Port._modules_to_search_for_symbols): Deleted. >+ (Port._symbols_string): Deleted. >+ (Port._missing_feature_to_skipped_tests): Deleted. >+ (Port._has_test_in_directories): Deleted. >+ * Scripts/webkitpy/port/darwin.py: >+ (DarwinPort.make_command): >+ (DarwinPort.nm_command): Deleted. >+ * Scripts/webkitpy/port/ios_simulator.py: >+ (IOSSimulatorPort.reset_preferences): >+ (IOSSimulatorPort.nm_command): Deleted. >+ * Scripts/webkitpy/port/port_testcase.py: >+ (TestWebKitPort.__init__): >+ (TestWebKitPort.all_test_configurations): >+ (PortTestCase.test_path_to_test_expectations_file): >+ (TestWebKitPort._symbols_string): Deleted. >+ (PortTestCase.test_skipped_directories_for_features): Deleted. >+ (PortTestCase.test_skipped_directories_for_features_no_matching_tests_in_test_list): Deleted. >+ (PortTestCase.test_skipped_tests_for_unsupported_features_empty_test_list): Deleted. >+ * Scripts/webkitpy/port/watch_simulator.py: >+ (WatchSimulatorPort.reset_preferences): >+ (WatchSimulatorPort.nm_command): Deleted. >+ * Scripts/webkitpy/port/win.py: >+ (WinPort.show_results_html_file): >+ (WinPort._runtime_feature_list): Deleted. >+ * Scripts/webkitpy/port/win_unittest.py: >+ (WinPortTest.test_operating_system): >+ (WinPortTest.test_runtime_feature_list): Deleted. >+ * WebKitTestRunner/Options.cpp: >+ (WTR::OptionsHandler::OptionsHandler): >+ (WTR::handleOptionPrintSupportedFeatures): Deleted. >+ * WebKitTestRunner/Options.h: >+ * WebKitTestRunner/TestController.cpp: >+ (WTR::TestController::initialize): >+ > 2019-05-23 Commit Queue <commit-queue@webkit.org> > > Unreviewed, rolling out r245665. >diff --git a/Tools/DumpRenderTree/win/DumpRenderTree.cpp b/Tools/DumpRenderTree/win/DumpRenderTree.cpp >index 074db41caa514dd982bc3b1ba25589662456c64f..6d213859becfa4332fd61644a4da0332fbd37488 100644 >--- a/Tools/DumpRenderTree/win/DumpRenderTree.cpp >+++ b/Tools/DumpRenderTree/win/DumpRenderTree.cpp >@@ -104,7 +104,6 @@ static bool useAcceleratedDrawing = true; // Not used > static bool gcBetweenTests = true; > static bool printSeparators = false; > static bool leakChecking = false; >-static bool printSupportedFeatures = false; > static bool showWebView = false; > static RetainPtr<CFStringRef> persistentUserStyleSheetLocation; > >@@ -1465,11 +1464,6 @@ static Vector<const char*> initializeGlobalsFromCommandLineOptions(int argc, con > continue; > } > >- if (!stricmp(argv[i], "--print-supported-features")) { >- printSupportedFeatures = true; >- continue; >- } >- > if (!stricmp(argv[i], "--show-webview")) { > showWebView = true; > continue; >@@ -1580,23 +1574,6 @@ int main(int argc, const char* argv[]) > > prepareConsistentTestingEnvironment(standardPreferences.get(), standardPreferencesPrivate.get()); > >- if (printSupportedFeatures) { >- BOOL acceleratedCompositingAvailable = FALSE; >- standardPreferences->acceleratedCompositingEnabled(&acceleratedCompositingAvailable); >- >-#if ENABLE(3D_TRANSFORMS) >- // In theory, we could have a software-based 3D rendering implementation that we use when >- // hardware-acceleration is not available. But we don't have any such software >- // implementation, so 3D rendering is only available when hardware-acceleration is. >- BOOL threeDTransformsAvailable = acceleratedCompositingAvailable; >-#else >- BOOL threeDTransformsAvailable = FALSE; >-#endif >- >- fprintf(testResult, "SupportedFeatures:%s %s\n", acceleratedCompositingAvailable ? "AcceleratedCompositing" : "", threeDTransformsAvailable ? "3DTransforms" : ""); >- return 0; >- } >- > COMPtr<IWebView> webView(AdoptCOM, createWebViewAndOffscreenWindow(&webViewWindow)); > if (!webView) > return -4; >diff --git a/Tools/Scripts/webkitpy/port/base.py b/Tools/Scripts/webkitpy/port/base.py >index d06799c6ae0e260d9192f4b86856b8ad3aa6f991..36267cab3b70a26de22239814c16ccf59e2e56ce 100644 >--- a/Tools/Scripts/webkitpy/port/base.py >+++ b/Tools/Scripts/webkitpy/port/base.py >@@ -31,11 +31,9 @@ > test infrastructure (the Port and Driver classes).""" > > import difflib >-import itertools > import json > import logging > import os >-import operator > import optparse > import re > import sys >@@ -1557,64 +1555,7 @@ class Port(object): > dirs_to_skip.append('platform/%s' % basename) > return dirs_to_skip > >- def _runtime_feature_list(self): >- """If a port makes certain features available only through runtime flags, it can override this routine to indicate which ones are available.""" >- return None >- >- def nm_command(self): >- return 'nm' >- >- def _modules_to_search_for_symbols(self): >- path = self._path_to_webcore_library() >- if path: >- return [path] >- return [] >- >- def _symbols_string(self): >- symbols = '' >- for path_to_module in self._modules_to_search_for_symbols(): >- try: >- symbols += self._executive.run_command([self.nm_command(), path_to_module], ignore_errors=True) >- except OSError as e: >- _log.warn("Failed to run nm: %s. Can't determine supported features correctly." % e) >- return symbols >- >- # Ports which use run-time feature detection should define this method and return >- # a dictionary mapping from Feature Names to skipped directoires. NRWT will >- # run DumpRenderTree --print-supported-features and parse the output. >- # If the Feature Names are not found in the output, the corresponding directories >- # will be skipped. >- def _missing_feature_to_skipped_tests(self): >- """Return the supported feature dictionary. Keys are feature names and values >- are the lists of directories to skip if the feature name is not matched.""" >- # FIXME: This list matches WebKitWin and should be moved onto the Win port. >- return { >- "Accelerated Compositing": ["compositing"], >- "3D Rendering": ["animations/3d", "transforms/3d"], >- } >- >- def _has_test_in_directories(self, directory_lists, test_list): >- if not test_list: >- return False >- >- directories = itertools.chain.from_iterable(directory_lists) >- for directory, test in itertools.product(directories, test_list): >- if test.startswith(directory): >- return True >- return False >- > def _skipped_tests_for_unsupported_features(self, test_list): >- # Only check the runtime feature list of there are tests in the test_list that might get skipped. >- # This is a performance optimization to avoid the subprocess call to DRT. >- # If the port supports runtime feature detection, disable any tests >- # for features missing from the runtime feature list. >- # If _runtime_feature_list returns a non-None value, then prefer >- # runtime feature detection over static feature detection. >- if self._has_test_in_directories(self._missing_feature_to_skipped_tests().values(), test_list): >- supported_feature_list = self._runtime_feature_list() >- if supported_feature_list is not None: >- return reduce(operator.add, [directories for feature, directories in self._missing_feature_to_skipped_tests().items() if feature not in supported_feature_list]) >- > return [] > > def _wk2_port_name(self): >diff --git a/Tools/Scripts/webkitpy/port/darwin.py b/Tools/Scripts/webkitpy/port/darwin.py >index 33a4bc97b8f05b31f9fef398b61c391350713220..3b7c88e406c0f54fc8eff629136b465047dd0c79 100644 >--- a/Tools/Scripts/webkitpy/port/darwin.py >+++ b/Tools/Scripts/webkitpy/port/darwin.py >@@ -233,9 +233,6 @@ class DarwinPort(ApplePort): > def make_command(self): > return self.xcrun_find('make', '/usr/bin/make') > >- def nm_command(self): >- return self.xcrun_find('nm', 'nm') >- > def xcrun_find(self, command, fallback=None): > fallback = fallback or command > try: >diff --git a/Tools/Scripts/webkitpy/port/ios_simulator.py b/Tools/Scripts/webkitpy/port/ios_simulator.py >index 04f99c79461e28a2962417c9e351307c92716b4b..31275fdbfaa233d2dd78d288b32c0099548f1b74 100644 >--- a/Tools/Scripts/webkitpy/port/ios_simulator.py >+++ b/Tools/Scripts/webkitpy/port/ios_simulator.py >@@ -96,9 +96,6 @@ class IOSSimulatorPort(IOSPort): > _log.debug("reset_preferences") > SimulatedDeviceManager.tear_down(self.host) > >- def nm_command(self): >- return self.xcrun_find('nm') >- > @property > @memoized > def developer_dir(self): >diff --git a/Tools/Scripts/webkitpy/port/port_testcase.py b/Tools/Scripts/webkitpy/port/port_testcase.py >index 9d86c9c370e04cb77cccb714ae38d4fbe2967c3f..8c513d7f1e1ce3ad08897f27aa8e5f7ecbabf912 100644 >--- a/Tools/Scripts/webkitpy/port/port_testcase.py >+++ b/Tools/Scripts/webkitpy/port/port_testcase.py >@@ -56,20 +56,16 @@ from webkitpy.tool.mocktool import MockOptions > class TestWebKitPort(Port): > port_name = "testwebkitport" > >- def __init__(self, port_name=None, symbols_string=None, >+ def __init__(self, port_name=None, > expectations_file=None, skips_file=None, host=None, config=None, > **kwargs): > port_name = port_name or TestWebKitPort.port_name >- self.symbols_string = symbols_string # Passing "" disables all staticly-detectable features. > host = host or MockSystemHost() > super(TestWebKitPort, self).__init__(host, port_name=port_name, **kwargs) > > def all_test_configurations(self): > return [self.test_configuration()] > >- def _symbols_string(self): >- return self.symbols_string >- > def _tests_for_other_platforms(self, **kwargs): > return ["media", ] > >@@ -500,26 +496,6 @@ class PortTestCase(unittest.TestCase): > port._options = MockOptions(webkit_test_runner=False) > self.assertEqual(port.path_to_test_expectations_file(), '/mock-checkout/LayoutTests/platform/testwebkitport/TestExpectations') > >- def test_skipped_directories_for_features(self): >- supported_features = ["Accelerated Compositing", "Foo Feature"] >- expected_directories = set(["animations/3d", "transforms/3d"]) >- port = TestWebKitPort(supported_features=supported_features) >- port._runtime_feature_list = lambda: supported_features >- result_directories = set(port._skipped_tests_for_unsupported_features(test_list=["animations/3d/foo.html"])) >- self.assertEqual(result_directories, expected_directories) >- >- def test_skipped_directories_for_features_no_matching_tests_in_test_list(self): >- supported_features = ["Accelerated Compositing", "Foo Feature"] >- expected_directories = set([]) >- result_directories = set(TestWebKitPort(supported_features=supported_features)._skipped_tests_for_unsupported_features(test_list=['foo.html'])) >- self.assertEqual(result_directories, expected_directories) >- >- def test_skipped_tests_for_unsupported_features_empty_test_list(self): >- supported_features = ["Accelerated Compositing", "Foo Feature"] >- expected_directories = set([]) >- result_directories = set(TestWebKitPort(supported_features=supported_features)._skipped_tests_for_unsupported_features(test_list=None)) >- self.assertEqual(result_directories, expected_directories) >- > def test_skipped_layout_tests(self): > self.assertEqual(TestWebKitPort().skipped_layout_tests(test_list=[]), set(['media'])) > >diff --git a/Tools/Scripts/webkitpy/port/watch_simulator.py b/Tools/Scripts/webkitpy/port/watch_simulator.py >index 3debee2e99ab3f233ee24cc2b5975daa2d567925..932dc3e0e83d5b05ebeb5a0470054bf24cb4a859 100644 >--- a/Tools/Scripts/webkitpy/port/watch_simulator.py >+++ b/Tools/Scripts/webkitpy/port/watch_simulator.py >@@ -87,9 +87,6 @@ class WatchSimulatorPort(WatchPort): > def reset_preferences(self): > SimulatedDeviceManager.tear_down(self.host) > >- def nm_command(self): >- return self.xcrun_find('nm') >- > @property > @memoized > def developer_dir(self): >diff --git a/Tools/Scripts/webkitpy/port/win.py b/Tools/Scripts/webkitpy/port/win.py >index 66ad13db3ca68c6be7eb90ea1e4d874ced78b009..4b9b6063c295be6431098b08db8a10218acea00c 100644 >--- a/Tools/Scripts/webkitpy/port/win.py >+++ b/Tools/Scripts/webkitpy/port/win.py >@@ -154,20 +154,6 @@ class WinPort(ApplePort): > def show_results_html_file(self, results_filename): > self._run_script('run-safari', [abspath_to_uri(SystemHost().platform, results_filename)]) > >- def _runtime_feature_list(self): >- supported_features_command = [self._path_to_driver(), '--print-supported-features'] >- try: >- output = self._executive.run_command(supported_features_command, ignore_errors=True) >- except OSError as e: >- _log.warn("Exception running driver: %s, %s. Driver must be built before calling WebKitPort.test_expectations()." % (supported_features_command, e)) >- return None >- >- # Note: win/DumpRenderTree.cpp does not print a leading space before the features_string. >- match_object = re.match("SupportedFeatures:\s*(?P<features_string>.*)\s*", output) >- if not match_object: >- return None >- return match_object.group('features_string').split(' ') >- > def _build_path(self, *comps): > """Returns the full path to the test driver (DumpRenderTree).""" > root_directory = self.get_option('_cached_root') or self.get_option('root') >diff --git a/Tools/Scripts/webkitpy/port/win_unittest.py b/Tools/Scripts/webkitpy/port/win_unittest.py >index 6b327a986ec714b4b2d8f3e0b5125c0a547f7e20..0c6211421a94253ed6914e683285cb53e99d0d98 100644 >--- a/Tools/Scripts/webkitpy/port/win_unittest.py >+++ b/Tools/Scripts/webkitpy/port/win_unittest.py >@@ -93,14 +93,6 @@ class WinPortTest(port_testcase.PortTestCase): > def test_operating_system(self): > self.assertEqual('win', self.make_port().operating_system()) > >- def test_runtime_feature_list(self): >- port = self.make_port() >- port._executive.run_command = lambda command, cwd=None, ignore_errors=False: "Nonsense" >- # runtime_features_list returns None when its results are meaningless (it couldn't run DRT or parse the output, etc.) >- self.assertEqual(port._runtime_feature_list(), None) >- port._executive.run_command = lambda command, cwd=None, ignore_errors=False: "SupportedFeatures:foo bar" >- self.assertEqual(port._runtime_feature_list(), ['foo', 'bar']) >- > def test_expectations_files(self): > self.assertEqual(len(self.make_port().expectations_files()), 3) > self.assertEqual(len(self.make_port(options=MockOptions(webkit_test_runner=True, configuration='Release')).expectations_files()), 5) >diff --git a/Tools/WebKitTestRunner/Options.cpp b/Tools/WebKitTestRunner/Options.cpp >index 9dd37b028b4a5b4ab4dc33734967be07a73ba867..bc63ed2de4fec99d041b67a8b2f9874f7a1a3789 100644 >--- a/Tools/WebKitTestRunner/Options.cpp >+++ b/Tools/WebKitTestRunner/Options.cpp >@@ -57,12 +57,6 @@ static bool handleOptionPixelTests(Options& options, const char*, const char*) > return true; > } > >-static bool handleOptionPrintSupportedFeatures(Options& options, const char*, const char*) >-{ >- options.printSupportedFeatures = true; >- return true; >-} >- > static bool handleOptionComplexText(Options& options, const char*, const char*) > { > options.forceComplexText = true; >@@ -127,7 +121,6 @@ OptionsHandler::OptionsHandler(Options& o) > optionList.append(Option("--gc-between-tests", "Garbage collection between tests.", handleOptionGcBetweenTests)); > optionList.append(Option("--pixel-tests", "Check pixels.", handleOptionPixelTests)); > optionList.append(Option("-p", "Check pixels.", handleOptionPixelTests)); >- optionList.append(Option("--print-supported-features", "For DumpRenderTree compatibility.", handleOptionPrintSupportedFeatures)); > optionList.append(Option("--complex-text", "Force complex tests.", handleOptionComplexText)); > optionList.append(Option("--accelerated-drawing", "Use accelerated drawing.", handleOptionAcceleratedDrawing)); > optionList.append(Option("--remote-layer-tree", "Use remote layer tree.", handleOptionRemoteLayerTree)); >diff --git a/Tools/WebKitTestRunner/Options.h b/Tools/WebKitTestRunner/Options.h >index a89926dbc057fa630e54a4887ee9b17fcd22dd57..46ecb3995906a53c6b4d37cfcc087136b8f38fa6 100644 >--- a/Tools/WebKitTestRunner/Options.h >+++ b/Tools/WebKitTestRunner/Options.h >@@ -42,7 +42,6 @@ struct Options { > bool verbose { false }; > bool gcBetweenTests { false }; > bool shouldDumpPixelsForAllTests { false }; >- bool printSupportedFeatures { false }; > bool forceComplexText { false }; > bool shouldUseAcceleratedDrawing { false }; > bool shouldUseRemoteLayerTree { false }; >diff --git a/Tools/WebKitTestRunner/TestController.cpp b/Tools/WebKitTestRunner/TestController.cpp >index 2bbacb10bb13943eccd55efc5129f5390224635b..26a01acd7974bc1876107b790a7b3adc87a3441d 100644 >--- a/Tools/WebKitTestRunner/TestController.cpp >+++ b/Tools/WebKitTestRunner/TestController.cpp >@@ -459,13 +459,6 @@ void TestController::initialize(int argc, const char* argv[]) > m_checkForWorldLeaks = options.checkForWorldLeaks; > m_allowAnyHTTPSCertificateForAllowedHosts = options.allowAnyHTTPSCertificateForAllowedHosts; > >- if (options.printSupportedFeatures) { >- // FIXME: On Windows, DumpRenderTree uses this to expose whether it supports 3d >- // transforms and accelerated compositing. When we support those features, we >- // should match DRT's behavior. >- exit(0); >- } >- > m_usingServerMode = (m_paths.size() == 1 && m_paths[0] == "-"); > if (m_usingServerMode) > m_printSeparators = true; >diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog >index d6e8c8af05ad9b52079e9e9b7e6bac8a5e707d08..30fd561b42f7ad550aa76484354b5e0a70d67ea6 100644 >--- a/LayoutTests/ChangeLog >+++ b/LayoutTests/ChangeLog >@@ -1,3 +1,14 @@ >+2019-05-23 Fujii Hironori <Hironori.Fujii@sony.com> >+ >+ run-webkit-tests: Remove feature detection support >+ https://bugs.webkit.org/show_bug.cgi?id=198105 >+ >+ Reviewed by Jonathan Bedard. >+ >+ * platform/win/TestExpectations: >+ * platform/wincairo/TestExpectations: >+ Added Skip for all compositing, animations/3d and transforms/3d tests temporarily. >+ > 2019-05-23 Saam barati <sbarati@apple.com> > > [WHLSL] Property resolver needs to recurse to handle the base when simplifying rvalues >diff --git a/LayoutTests/platform/win/TestExpectations b/LayoutTests/platform/win/TestExpectations >index 96c6d8c2a363ab46eea27ebf3655a7144b456f4f..754a4a374627ded5ac33d7320687449370ee6a9e 100644 >--- a/LayoutTests/platform/win/TestExpectations >+++ b/LayoutTests/platform/win/TestExpectations >@@ -2601,11 +2601,12 @@ webkit.org/b/162668 fast/text/woff2-totalsfntsize.html [ Skip ] > ######################### Start list of UNREVIEWED failures ######################## > ################################################################################ > >+compositing [ Skip ] >+animations/3d [ Skip ] >+transforms/3d [ Skip ] >+ > # Skip tests that fail only in Debug mode >-[ Debug ] compositing [ Skip ] > [ Debug ] legacy-animation-engine/compositing [ Skip ] >-[ Debug ] transforms/3d/hit-testing [ Skip ] >-[ Debug ] transforms/3d/point-mapping [ Skip ] > > # These failures all seem to be related to the page cache being in a bad state. > [ Debug ] css2.1/t090402-c42-ibx-pad-00-d-ag.html [ Skip ] # Debug assertion >@@ -2693,7 +2694,6 @@ webkit.org/b/162668 fast/text/woff2-totalsfntsize.html [ Skip ] > [ Debug ] http/tests/security/listener/xss-window-onclick-addEventListener.html [ Skip ] # Causes later tests to fail > [ Debug ] platform/win/fast/events/panScroll-no-iframe-jump.html [ Skip ] # Causes later tests to fail > [ Debug ] svg/custom/list-items-with-svg-font-family.html [ Skip ] # Causes later tests to fail >-[ Debug ] transforms/3d/general/perspective-non-layer.html [ Failure ] > > # These don't seem to be running. > webkit.org/b/113946 compositing/contents-opaque/control-layer.html [ Failure ] >diff --git a/LayoutTests/platform/wincairo/TestExpectations b/LayoutTests/platform/wincairo/TestExpectations >index 0bfdf12c627ca23f18005088e56978778e874b87..e23ee862a0d72d8e7c02d91dcc19548fd30953b3 100644 >--- a/LayoutTests/platform/wincairo/TestExpectations >+++ b/LayoutTests/platform/wincairo/TestExpectations >@@ -1502,6 +1502,8 @@ storage/indexeddb/modern/aborted-put.html [ Timeout Pass ] > # TEMPORARY SKIPS -- these areas still need to be addressed individually > #////////////////////////////////////////////////////////////////////////////////////////// > >+animations/3d [ Skip ] >+compositing [ Skip ] > fast/attachment [ Skip ] > fast/backgrounds [ Skip ] > fast/block [ Skip ]
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 198105
:
370391
|
370477
|
370544
| 370545