1 #!/usr/bin/env python 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 4 # found in the LICENSE file. 5 6 import os 7 import subprocess 8 import sys 9 10 11 def Main(args): 12 pwd = os.environ.get('PWD', '') 13 is_integration_bot = 'nacl-chrome' in pwd 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 22 # run. 23 # If there is serious skew in the PPAPI interface that causes all of 24 # the NaCl integration tests to fail, you can uncomment the 25 # following block. (Make sure you comment it out when the issues 26 # are resolved.) *However*, it is much preferred to add tests to 27 # the 'tests_to_disable' list below. 28 #if not is_integration_bot: 29 # return 30 31 tests_to_disable = [] 32 33 # In general, you should disable tests inside this conditional. This turns 34 # them off on the main Chrome waterfall, but not on NaCl's integration bots. 35 # This makes it easier to see when things have been fixed NaCl side. 36 if not is_integration_bot: 37 # http://code.google.com/p/nativeclient/issues/detail?id=2511 38 tests_to_disable.append('run_ppapi_ppb_image_data_browser_test') 39 40 if sys.platform == 'darwin': 41 # TODO(mseaborn) fix 42 # http://code.google.com/p/nativeclient/issues/detail?id=1835 43 tests_to_disable.append('run_ppapi_crash_browser_test') 44 45 if sys.platform in ('win32', 'cygwin'): 46 # This one is only failing for nacl_glibc on x64 Windows but it is not 47 # clear how to disable only that limited case. 48 # See http://crbug.com/132395 49 tests_to_disable.append('run_inbrowser_test_runner') 50 # run_breakpad_browser_process_crash_test is flaky. 51 # See http://crbug.com/317890 52 tests_to_disable.append('run_breakpad_browser_process_crash_test') 53 # See http://crbug.com/332301 54 tests_to_disable.append('run_breakpad_crash_in_syscall_test') 55 56 # It appears that crash_service.exe is not being reliably built by 57 # default in the CQ. See: http://crbug.com/380880 58 tests_to_disable.append('run_breakpad_untrusted_crash_test') 59 tests_to_disable.append('run_breakpad_trusted_crash_in_startup_test') 60 61 script_dir = os.path.dirname(os.path.abspath(__file__)) 62 nacl_integration_script = os.path.join(script_dir, 63 'buildbot_chrome_nacl_stage.py') 64 cmd = [sys.executable, 65 nacl_integration_script, 66 # TODO(ncbray) re-enable. 67 # https://code.google.com/p/chromium/issues/detail?id=133568 68 '--disable_glibc', 69 '--disable_tests=%s' % ','.join(tests_to_disable)] 70 cmd += args 71 sys.stdout.write('Running %s\n' % ' '.join(cmd)) 72 sys.stdout.flush() 73 return subprocess.call(cmd) 74 75 76 if __name__ == '__main__': 77 sys.exit(Main(sys.argv[1:])) 78