OLD | NEW |
1 #!/usr/bin/python | 1 #!/usr/bin/python |
2 # Copyright (c) 2011 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2011 The Chromium Authors. All rights reserved. |
3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
5 | 5 |
6 """A wrapper script to run layout tests on the buildbots. | 6 """A wrapper script to run layout tests on the buildbots. |
7 | 7 |
8 Runs the run_webkit_tests.py script found in webkit/tools/layout_tests above | 8 Runs the run_webkit_tests.py script found in webkit/tools/layout_tests above |
9 this script. For a complete list of command-line options, pass '--help' on the | 9 this script. For a complete list of command-line options, pass '--help' on the |
10 command line. | 10 command line. |
(...skipping 30 matching lines...) Expand all Loading... |
41 slave_name = slave_utils.SlaveBuildName(build_dir) | 41 slave_name = slave_utils.SlaveBuildName(build_dir) |
42 | 42 |
43 command = [run_webkit_tests, | 43 command = [run_webkit_tests, |
44 '--noshow-results', | 44 '--noshow-results', |
45 '--verbose', # Verbose output is enabled to support the dashboard. | 45 '--verbose', # Verbose output is enabled to support the dashboard. |
46 '--full-results-html', # To make debugging failures easier. | 46 '--full-results-html', # To make debugging failures easier. |
47 '--clobber-old-results', # Clobber test results before each run. | 47 '--clobber-old-results', # Clobber test results before each run. |
48 ] | 48 ] |
49 | 49 |
50 if options.results_directory: | 50 if options.results_directory: |
51 # run_webkit_tests expects the results directory to be either an absolute | 51 # Prior to the fix in https://bugs.webkit.org/show_bug.cgi?id=58272, |
52 # path (starting with '/') or relative to Debug or Release. We expect it | 52 # run_webkit_tests expects the results directory to be relative to |
53 # to be relative to the build_dir, which is a parent of Debug or Release. | 53 # the configuration directory (e.g., src/webkit/Release). The |
54 # Thus if it's a relative path, we need to move it out one level. | 54 # parameter is given to us relative to build_dir, which is where we |
55 if not options.results_directory.startswith('/'): | 55 # will run the command from. |
56 options.results_directory = os.path.join('..', options.results_directory) | 56 # |
| 57 # When 58272 is landed, run_webkit_tests will support absolute file |
| 58 # paths as well as paths relative to CWD for non-Chromium ports and |
| 59 # paths relative to the configuration dir for Chromium ports. As |
| 60 # a transitional fix, we convert to an absolute dir, but once the |
| 61 # hack in 58272 is removed, we can use results_dir as-is. |
| 62 if not os.path.isabs(options.results_directory): |
| 63 options.results_directory = os.path.abspath( |
| 64 os.path.join(os.getcwd(), options.results_directory)) |
57 chromium_utils.RemoveDirectory(options.results_directory) | 65 chromium_utils.RemoveDirectory(options.results_directory) |
58 command.extend(['--results-directory', options.results_directory]) | 66 command.extend(['--results-directory', options.results_directory]) |
59 | 67 |
60 if options.target: | 68 if options.target: |
61 command.extend(['--target', options.target]) | 69 command.extend(['--target', options.target]) |
62 if options.platform: | 70 if options.platform: |
63 command.extend(['--platform', options.platform]) | 71 command.extend(['--platform', options.platform]) |
64 | 72 |
65 # Build type is no longer used. | 73 # Build type is no longer used. |
66 # TODO(pamg): remove it from the buildbot config too. | 74 # TODO(pamg): remove it from the buildbot config too. |
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
149 "this appengine server.")) | 157 "this appengine server.")) |
150 options, args = option_parser.parse_args() | 158 options, args = option_parser.parse_args() |
151 | 159 |
152 # Disable pageheap checking except on Windows. | 160 # Disable pageheap checking except on Windows. |
153 if sys.platform != 'win32': | 161 if sys.platform != 'win32': |
154 options.enable_pageheap = False | 162 options.enable_pageheap = False |
155 return layout_test(options, args) | 163 return layout_test(options, args) |
156 | 164 |
157 if '__main__' == __name__: | 165 if '__main__' == __name__: |
158 sys.exit(main()) | 166 sys.exit(main()) |
OLD | NEW |