Changeset 106412 in webkit
- Timestamp:
- Jan 31, 2012 4:32:57 PM (12 years ago)
- Location:
- trunk/Tools
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Tools/ChangeLog
r106409 r106412 1 2012-01-31 Ojan Vafai <ojan@chromium.org> 2 3 run-webkit-tests calls out to webkit-build-directory twice 4 https://bugs.webkit.org/show_bug.cgi?id=77248 5 6 Reviewed by Dirk Pranke. 7 8 * Scripts/webkit-build-directory: 9 If called with no arguments, print out both the top-level directory and the 10 configuration directory 11 12 * Scripts/webkitpy/layout_tests/port/config.py: 13 (Config.build_directory): 14 When called with no arguments, get and cache both the top-level and configuration directories. 15 16 * Scripts/webkitpy/layout_tests/port/config_standalone.py: 17 (main): 18 * Scripts/webkitpy/layout_tests/port/config_unittest.py: 19 (ConfigTest.assert_configuration): 20 (ConfigTest.test_build_directory.mock_webkit_build_directory): 21 (ConfigTest.test_build_directory): 22 (ConfigTest.test_default_configuration__notfound): 23 * Scripts/webkitpy/layout_tests/port/webkit.py: 24 (WebKitPort._build_path): 25 Cache the build directory in the options object so that other users 26 of the options object don't need to call out to webkit-build-directory. 27 Also, properly support the existing --build-directory argument. 28 1 29 2012-01-31 Ryosuke Niwa <rniwa@webkit.org> 2 30 -
trunk/Tools/Scripts/webkit-build-directory
r106389 r106412 58 58 ); 59 59 60 if (!$getOptionsResult || $showHelp || (!$showConfigurationDirectory && !$showTopLevelDirectory)) {60 if (!$getOptionsResult || $showHelp) { 61 61 print STDERR $usage; 62 62 exit 1; 63 63 } 64 64 65 if ($showTopLevelDirectory) { 65 if (!$showConfigurationDirectory && !$showTopLevelDirectory) { 66 print baseProductDir() . "\n"; 67 print productDir() . "\n"; 68 } elsif ($showTopLevelDirectory) { 66 69 print baseProductDir() . "\n"; 67 70 } else { -
trunk/Tools/Scripts/webkitpy/layout_tests/port/config.py
r106389 r106412 75 75 else: 76 76 configuration = "" 77 flags = [ "--top-level"]77 flags = [] 78 78 79 79 if not self._build_directories.get(configuration): 80 80 args = ["perl", self.script_path("webkit-build-directory")] + flags 81 self._build_directories[configuration] = ( 82 self._executive.run_command(args, cwd=self.webkit_base_dir()).rstrip()) 81 output = self._executive.run_command(args, cwd=self.webkit_base_dir()).rstrip() 82 parts = output.split("\n") 83 self._build_directories[configuration] = parts[0] 84 85 if len(parts) == 2: 86 default_configuration = parts[1][len(parts[0]):] 87 if default_configuration.startswith("/"): 88 default_configuration = default_configuration[1:] 89 self._build_directories[default_configuration] = parts[1] 83 90 84 91 return self._build_directories[configuration] -
trunk/Tools/Scripts/webkitpy/layout_tests/port/config_standalone.py
r106389 r106412 58 58 59 59 if len(argv) == 3 and argv[1] == '--mock': 60 e = executive_mock.MockExecutive2(output='foo ')60 e = executive_mock.MockExecutive2(output='foo\nfoo/%s' % argv[2]) 61 61 fs = filesystem_mock.MockFileSystem({'foo/Configuration': argv[2]}) 62 62 else: -
trunk/Tools/Scripts/webkitpy/layout_tests/port/config_unittest.py
r106389 r106412 52 52 # This tests that a configuration file containing 53 53 # _contents_ ends up being interpreted as _expected_. 54 c = self.make_config('foo', {'foo/Configuration': contents}) 54 output = 'foo\nfoo/%s' % contents 55 c = self.make_config(output, {'foo/Configuration': contents}) 55 56 self.assertEqual(c.default_configuration(), expected) 56 57 … … 59 60 def mock_webkit_build_directory(arg_list): 60 61 if arg_list == ['--top-level']: 61 return '/WebKitBuild '62 return '/WebKitBuild/' 62 63 elif arg_list == ['--configuration', '--debug']: 63 64 return '/WebKitBuild/Debug' 64 65 elif arg_list == ['--configuration', '--release']: 65 66 return '/WebKitBuild/Release' 67 elif arg_list == []: 68 return '/WebKitBuild/\n/WebKitBuild//Debug\n' 66 69 return 'Error' 67 70 … … 72 75 73 76 c = self.make_config(run_command_fn=mock_run_command) 74 self.assert True(c.build_directory(None).endswith('WebKitBuild'))77 self.assertEqual(c.build_directory(None), '/WebKitBuild/') 75 78 76 79 # Test again to check caching 77 self.assert True(c.build_directory(None).endswith('WebKitBuild'))80 self.assertEqual(c.build_directory(None), '/WebKitBuild/') 78 81 79 82 # Test other values … … 96 99 def test_default_configuration__notfound(self): 97 100 # This tests what happens if the default configuration file doesn't exist. 98 c = self.make_config(output='foo ', files={'foo/Configuration': None})101 c = self.make_config(output='foo\nfoo/Release', files={'foo/Configuration': None}) 99 102 self.assertEqual(c.default_configuration(), "Release") 100 103 -
trunk/Tools/Scripts/webkitpy/layout_tests/port/webkit.py
r106389 r106412 378 378 def _build_path(self, *comps): 379 379 # --root is used for running with a pre-built root (like from a nightly zip). 380 build_directory = self.get_option('root') 380 build_directory = self.get_option('root') or self.get_option('build_directory') 381 381 if not build_directory: 382 382 build_directory = self._config.build_directory(self.get_option('configuration')) 383 # Set --build-directory here Since this modifies the options object used by the worker subprocesses, 384 # it avoids the slow call out to build_directory in each subprocess. 385 self.set_option_default('build_directory', build_directory) 383 386 return self._filesystem.join(build_directory, *comps) 384 387
Note: See TracChangeset
for help on using the changeset viewer.