OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2012 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 import os | 6 import os |
7 import subprocess | 7 import subprocess |
8 import sys | 8 import sys |
9 | 9 |
10 | 10 |
11 def Main(args): | 11 def Main(args): |
12 pwd = os.environ.get('PWD', '') | 12 pwd = os.environ.get('PWD', '') |
13 is_integration_bot = 'nacl-chrome' in pwd | 13 is_integration_bot = 'nacl-chrome' in pwd |
14 | 14 |
| 15 # This environment variable check mimics what |
| 16 # buildbot_chrome_nacl_stage.py does. |
| 17 is_win64 = (sys.platform in ('win32', 'cygwin') and |
| 18 ('64' in os.environ.get('PROCESSOR_ARCHITECTURE', '') or |
| 19 '64' in os.environ.get('PROCESSOR_ARCHITEW6432', ''))) |
| 20 |
15 # On the main Chrome waterfall, we may need to control where the tests are | 21 # On the main Chrome waterfall, we may need to control where the tests are |
16 # run. | 22 # run. |
17 # If there is serious skew in the PPAPI interface that causes all of | 23 # If there is serious skew in the PPAPI interface that causes all of |
18 # the NaCl integration tests to fail, you can uncomment the | 24 # the NaCl integration tests to fail, you can uncomment the |
19 # following block. (Make sure you comment it out when the issues | 25 # following block. (Make sure you comment it out when the issues |
20 # are resolved.) *However*, it is much preferred to add tests to | 26 # are resolved.) *However*, it is much preferred to add tests to |
21 # the 'tests_to_disable' list below. | 27 # the 'tests_to_disable' list below. |
22 #if not is_integration_bot: | 28 #if not is_integration_bot: |
23 # return | 29 # return |
24 | 30 |
(...skipping 28 matching lines...) Expand all Loading... |
53 # TODO(mseaborn) fix | 59 # TODO(mseaborn) fix |
54 # http://code.google.com/p/nativeclient/issues/detail?id=1835 | 60 # http://code.google.com/p/nativeclient/issues/detail?id=1835 |
55 tests_to_disable.append('run_ppapi_crash_browser_test') | 61 tests_to_disable.append('run_ppapi_crash_browser_test') |
56 | 62 |
57 if sys.platform in ('win32', 'cygwin'): | 63 if sys.platform in ('win32', 'cygwin'): |
58 # This one is only failing for nacl_glibc on x64 Windows | 64 # This one is only failing for nacl_glibc on x64 Windows |
59 # but it is not clear how to disable only that limited case. | 65 # but it is not clear how to disable only that limited case. |
60 # See http://crbug.com/132395 | 66 # See http://crbug.com/132395 |
61 tests_to_disable.append('run_inbrowser_test_runner') | 67 tests_to_disable.append('run_inbrowser_test_runner') |
62 | 68 |
| 69 if sys.platform in ('win32', 'cygwin') and not is_win64: |
| 70 # The Breakpad tests have started failing on 32-bit Windows (but |
| 71 # not 64-bit Windows) because Chromium is producing an excess |
| 72 # crash dump. |
| 73 # See http://code.google.com/p/chromium/issues/detail?id=143413 |
| 74 # TODO(mseaborn): Change the tests to ignore the excess crash |
| 75 # dump until we find out what is causing it. |
| 76 tests_to_disable.extends([ |
| 77 'run_inbrowser_trusted_crash_in_startup_test', |
| 78 'run_inbrowser_crash_in_syscall_test', |
| 79 'run_inbrowser_untrusted_crash_test', |
| 80 ]) |
63 | 81 |
64 if sys.platform in ('win32', 'cygwin'): | 82 if sys.platform in ('win32', 'cygwin'): |
65 tests_to_disable.append('run_ppapi_ppp_input_event_browser_test') | 83 tests_to_disable.append('run_ppapi_ppp_input_event_browser_test') |
66 | 84 |
67 script_dir = os.path.dirname(os.path.abspath(__file__)) | 85 script_dir = os.path.dirname(os.path.abspath(__file__)) |
68 test_dir = os.path.dirname(script_dir) | 86 test_dir = os.path.dirname(script_dir) |
69 chrome_dir = os.path.dirname(test_dir) | 87 chrome_dir = os.path.dirname(test_dir) |
70 src_dir = os.path.dirname(chrome_dir) | 88 src_dir = os.path.dirname(chrome_dir) |
71 nacl_integration_script = os.path.join( | 89 nacl_integration_script = os.path.join( |
72 src_dir, 'native_client/build/buildbot_chrome_nacl_stage.py') | 90 src_dir, 'native_client/build/buildbot_chrome_nacl_stage.py') |
73 cmd = [sys.executable, | 91 cmd = [sys.executable, |
74 '/b/build/scripts/slave/runtest.py', | 92 '/b/build/scripts/slave/runtest.py', |
75 '--run-python-script', | 93 '--run-python-script', |
76 '--target=', | 94 '--target=', |
77 '--build-dir=', | 95 '--build-dir=', |
78 '--', | 96 '--', |
79 nacl_integration_script, | 97 nacl_integration_script, |
80 # TODO(ncbray) re-enable. | 98 # TODO(ncbray) re-enable. |
81 # https://code.google.com/p/chromium/issues/detail?id=133568 | 99 # https://code.google.com/p/chromium/issues/detail?id=133568 |
82 '--disable_glibc', | 100 '--disable_glibc', |
83 '--disable_tests=%s' % ','.join(tests_to_disable)] | 101 '--disable_tests=%s' % ','.join(tests_to_disable)] |
84 cmd += args | 102 cmd += args |
85 sys.stdout.write('Running %s\n' % ' '.join(cmd)) | 103 sys.stdout.write('Running %s\n' % ' '.join(cmd)) |
86 sys.stdout.flush() | 104 sys.stdout.flush() |
87 return subprocess.call(cmd) | 105 return subprocess.call(cmd) |
88 | 106 |
89 | 107 |
90 if __name__ == '__main__': | 108 if __name__ == '__main__': |
91 sys.exit(Main(sys.argv[1:])) | 109 sys.exit(Main(sys.argv[1:])) |
OLD | NEW |