Changeset 66727 in webkit
- Timestamp:
- Sep 3, 2010 6:00:56 AM (14 years ago)
- Location:
- trunk/WebKitTools
- Files:
-
- 1 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebKitTools/ChangeLog
r66721 r66727 1 2010-09-03 Gabor Rapcsanyi <rgabor@inf.u-szeged.hu> 2 3 Reviewed by Eric Seidel. 4 5 Add feature detection support to NRWT. 6 https://bugs.webkit.org/show_bug.cgi?id=41842 7 8 * Scripts/webkitpy/layout_tests/port/base.py: 9 * Scripts/webkitpy/layout_tests/port/qt.py: 10 * Scripts/webkitpy/layout_tests/port/webkit.py: 11 * Scripts/webkitpy/layout_tests/port/webkit_unittest.py: Added. 12 1 13 2010-09-03 Hironori Bono <hbono@chromium.org> 2 14 -
trunk/WebKitTools/Scripts/webkitpy/layout_tests/port/base.py
r66640 r66727 692 692 raise NotImplementedError('Port.path_to_driver') 693 693 694 def _path_to_webcore_library(self): 695 """Returns the full path to a built copy of WebCore.""" 696 raise NotImplementedError('Port.path_to_webcore_library') 697 694 698 def _path_to_helper(self): 695 699 """Returns the full path to the layout_test_helper binary, which -
trunk/WebKitTools/Scripts/webkitpy/layout_tests/port/qt.py
r62635 r66727 94 94 return self._build_path('bin/DumpRenderTree') 95 95 96 def _path_to_webcore_library(self): 97 return self._build_path('lib/libQtWebKit.so') 98 99 def _runtime_feature_list(self): 100 return None 101 96 102 def setup_environ_for_server(self): 97 103 env = webkit.WebKitPort.setup_environ_for_server(self) -
trunk/WebKitTools/Scripts/webkitpy/layout_tests/port/webkit.py
r66041 r66727 1 1 #!/usr/bin/env python 2 2 # Copyright (C) 2010 Google Inc. All rights reserved. 3 # Copyright (C) 2010 Gabor Rapcsanyi <rgabor@inf.u-szeged.hu>, University of Szeged 3 4 # 4 5 # Redistribution and use in source and binary forms, with or without … … 42 43 import time 43 44 import webbrowser 45 import operator 44 46 45 47 from webkitpy.common.system.executive import Executive … … 217 219 "platform/win", 218 220 ] 221 222 def _runtime_feature_list(self): 223 """Return the supported features of DRT. If a port doesn't support 224 this DRT switch, it has to override this method to return None""" 225 driver_path = self._path_to_driver() 226 feature_list = ' '.join(os.popen(driver_path + " --print-supported-features 2>&1").readlines()) 227 if "SupportedFeatures:" in feature_list: 228 return feature_list 229 return None 230 231 def _supported_symbol_list(self): 232 """Return the supported symbols of WebCore.""" 233 webcore_library_path = self._path_to_webcore_library() 234 if not webcore_library_path: 235 return None 236 symbol_list = ' '.join(os.popen("nm " + webcore_library_path).readlines()) 237 return symbol_list 238 239 def _directories_for_features(self): 240 """Return the supported feature dictionary. The keys are the 241 features and the values are the directories in lists.""" 242 directories_for_features = { 243 "Accelerated Compositing": ["compositing"], 244 "3D Rendering": ["animations/3d", "transforms/3d"], 245 } 246 return directories_for_features 247 248 def _directories_for_symbols(self): 249 """Return the supported feature dictionary. The keys are the 250 symbols and the values are the directories in lists.""" 251 directories_for_symbol = { 252 "MathMLElement": ["mathml"], 253 "GraphicsLayer": ["compositing"], 254 "WebCoreHas3DRendering": ["animations/3d", "transforms/3d"], 255 "WebGLShader": ["fast/canvas/webgl"], 256 "WMLElement": ["http/tests/wml", "fast/wml", "wml"], 257 "parseWCSSInputProperty": ["fast/wcss"], 258 "isXHTMLMPDocument": ["fast/xhtmlmp"], 259 } 260 return directories_for_symbol 261 262 def _skipped_tests_for_unsupported_features(self): 263 """Return the directories of unsupported tests. Search for the 264 symbols in the symbol_list, if found add the corresponding 265 directories to the skipped directory list.""" 266 feature_list = self._runtime_feature_list() 267 directories = self._directories_for_features() 268 269 # if DRT feature detection not supported 270 if not feature_list: 271 feature_list = self._supported_symbol_list() 272 directories = self._directories_for_symbols() 273 274 if not feature_list: 275 return [] 276 277 skipped_directories = [directories[feature] 278 for feature in directories.keys() 279 if feature not in feature_list] 280 return reduce(operator.add, skipped_directories) 219 281 220 282 def _tests_for_disabled_features(self): … … 239 301 "svg/custom/image-with-prefix-in-webarchive.svg", 240 302 ] 241 return disabled_feature_tests + webarchive_tests 303 unsupported_feature_tests = self._skipped_tests_for_unsupported_features() 304 return disabled_feature_tests + webarchive_tests + unsupported_feature_tests 242 305 243 306 def _tests_from_skipped_file(self, skipped_file): … … 306 369 def _path_to_driver(self): 307 370 return self._build_path('DumpRenderTree') 371 372 def _path_to_webcore_library(self): 373 return None 308 374 309 375 def _path_to_helper(self):
Note: See TracChangeset
for help on using the changeset viewer.