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 | |
21 # On the main Chrome waterfall, we may need to control where the tests are | 15 # On the main Chrome waterfall, we may need to control where the tests are |
22 # run. | 16 # run. |
23 # If there is serious skew in the PPAPI interface that causes all of | 17 # If there is serious skew in the PPAPI interface that causes all of |
24 # the NaCl integration tests to fail, you can uncomment the | 18 # the NaCl integration tests to fail, you can uncomment the |
25 # following block. (Make sure you comment it out when the issues | 19 # following block. (Make sure you comment it out when the issues |
26 # are resolved.) *However*, it is much preferred to add tests to | 20 # are resolved.) *However*, it is much preferred to add tests to |
27 # the 'tests_to_disable' list below. | 21 # the 'tests_to_disable' list below. |
28 #if not is_integration_bot: | 22 #if not is_integration_bot: |
29 # return | 23 # return |
30 | 24 |
(...skipping 28 matching lines...) Expand all Loading... |
59 # TODO(mseaborn) fix | 53 # TODO(mseaborn) fix |
60 # http://code.google.com/p/nativeclient/issues/detail?id=1835 | 54 # http://code.google.com/p/nativeclient/issues/detail?id=1835 |
61 tests_to_disable.append('run_ppapi_crash_browser_test') | 55 tests_to_disable.append('run_ppapi_crash_browser_test') |
62 | 56 |
63 if sys.platform in ('win32', 'cygwin'): | 57 if sys.platform in ('win32', 'cygwin'): |
64 # This one is only failing for nacl_glibc on x64 Windows | 58 # This one is only failing for nacl_glibc on x64 Windows |
65 # but it is not clear how to disable only that limited case. | 59 # but it is not clear how to disable only that limited case. |
66 # See http://crbug.com/132395 | 60 # See http://crbug.com/132395 |
67 tests_to_disable.append('run_inbrowser_test_runner') | 61 tests_to_disable.append('run_inbrowser_test_runner') |
68 | 62 |
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 ]) | |
81 | 63 |
82 if sys.platform in ('win32', 'cygwin'): | 64 if sys.platform in ('win32', 'cygwin'): |
83 tests_to_disable.append('run_ppapi_ppp_input_event_browser_test') | 65 tests_to_disable.append('run_ppapi_ppp_input_event_browser_test') |
84 | 66 |
85 script_dir = os.path.dirname(os.path.abspath(__file__)) | 67 script_dir = os.path.dirname(os.path.abspath(__file__)) |
86 test_dir = os.path.dirname(script_dir) | 68 test_dir = os.path.dirname(script_dir) |
87 chrome_dir = os.path.dirname(test_dir) | 69 chrome_dir = os.path.dirname(test_dir) |
88 src_dir = os.path.dirname(chrome_dir) | 70 src_dir = os.path.dirname(chrome_dir) |
89 nacl_integration_script = os.path.join( | 71 nacl_integration_script = os.path.join( |
90 src_dir, 'native_client/build/buildbot_chrome_nacl_stage.py') | 72 src_dir, 'native_client/build/buildbot_chrome_nacl_stage.py') |
91 cmd = [sys.executable, | 73 cmd = [sys.executable, |
92 '/b/build/scripts/slave/runtest.py', | 74 '/b/build/scripts/slave/runtest.py', |
93 '--run-python-script', | 75 '--run-python-script', |
94 '--target=', | 76 '--target=', |
95 '--build-dir=', | 77 '--build-dir=', |
96 '--', | 78 '--', |
97 nacl_integration_script, | 79 nacl_integration_script, |
98 # TODO(ncbray) re-enable. | 80 # TODO(ncbray) re-enable. |
99 # https://code.google.com/p/chromium/issues/detail?id=133568 | 81 # https://code.google.com/p/chromium/issues/detail?id=133568 |
100 '--disable_glibc', | 82 '--disable_glibc', |
101 '--disable_tests=%s' % ','.join(tests_to_disable)] | 83 '--disable_tests=%s' % ','.join(tests_to_disable)] |
102 cmd += args | 84 cmd += args |
103 sys.stdout.write('Running %s\n' % ' '.join(cmd)) | 85 sys.stdout.write('Running %s\n' % ' '.join(cmd)) |
104 sys.stdout.flush() | 86 sys.stdout.flush() |
105 return subprocess.call(cmd) | 87 return subprocess.call(cmd) |
106 | 88 |
107 | 89 |
108 if __name__ == '__main__': | 90 if __name__ == '__main__': |
109 sys.exit(Main(sys.argv[1:])) | 91 sys.exit(Main(sys.argv[1:])) |
OLD | NEW |