Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 #! -*- python -*- | 1 #! -*- python -*- |
| 2 # Copyright (c) 2012 The Native Client Authors. All rights reserved. | 2 # Copyright (c) 2012 The Native Client 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 atexit | 6 import atexit |
| 7 import glob | 7 import glob |
| 8 import os | 8 import os |
| 9 import platform | 9 import platform |
| 10 import shutil | 10 import shutil |
| (...skipping 1174 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1185 size='medium', | 1185 size='medium', |
| 1186 **extra): | 1186 **extra): |
| 1187 validator = GetValidator(env, validator) | 1187 validator = GetValidator(env, validator) |
| 1188 if validator is None: | 1188 if validator is None: |
| 1189 print 'WARNING: no validator found. Skipping test %s' % name | 1189 print 'WARNING: no validator found. Skipping test %s' % name |
| 1190 return [] | 1190 return [] |
| 1191 | 1191 |
| 1192 if validator_flags is None: | 1192 if validator_flags is None: |
| 1193 validator_flags = [] | 1193 validator_flags = [] |
| 1194 | 1194 |
| 1195 if env.Bit('pnacl_stop_with_pexe'): | |
|
robertm
2012/03/13 21:53:15
I am not a big fan of the "late kill",
it would be
(google.com) Derek Schuff
2012/03/13 21:59:27
Maybe... until someone else tries to add another v
| |
| 1196 return [] | |
| 1197 | |
| 1195 command = [validator] + validator_flags + [image] | 1198 command = [validator] + validator_flags + [image] |
| 1196 return CommandTest(env, name, command, size, **extra) | 1199 return CommandTest(env, name, command, size, **extra) |
| 1197 | 1200 |
| 1198 pre_base_env.AddMethod(CommandValidatorTestNacl) | 1201 pre_base_env.AddMethod(CommandValidatorTestNacl) |
| 1199 | 1202 |
| 1200 | 1203 |
| 1201 def ExtractPublishedFiles(env, target_name): | 1204 def ExtractPublishedFiles(env, target_name): |
| 1202 run_files = ['$STAGING_DIR/' + os.path.basename(published_file.path) | 1205 run_files = ['$STAGING_DIR/' + os.path.basename(published_file.path) |
| 1203 for published_file in env.GetPublished(target_name, 'run')] | 1206 for published_file in env.GetPublished(target_name, 'run')] |
| 1204 nexe = '$STAGING_DIR/%s${PROGSUFFIX}' % target_name | 1207 nexe = '$STAGING_DIR/%s${PROGSUFFIX}' % target_name |
| (...skipping 738 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1943 pre_base_env.AddMethod(MakeVerboseExtraOptions) | 1946 pre_base_env.AddMethod(MakeVerboseExtraOptions) |
| 1944 | 1947 |
| 1945 def ShouldUseVerboseOptions(extra): | 1948 def ShouldUseVerboseOptions(extra): |
| 1946 """ Heuristic for setting up Verbose NACLLOG options. """ | 1949 """ Heuristic for setting up Verbose NACLLOG options. """ |
| 1947 return ('process_output_single' in extra or | 1950 return ('process_output_single' in extra or |
| 1948 'log_golden' in extra) | 1951 'log_golden' in extra) |
| 1949 | 1952 |
| 1950 # ---------------------------------------------------------- | 1953 # ---------------------------------------------------------- |
| 1951 DeclareBit('tests_use_irt', 'Non-browser tests also load the IRT image', False) | 1954 DeclareBit('tests_use_irt', 'Non-browser tests also load the IRT image', False) |
| 1952 | 1955 |
| 1956 # Translate the given pexe. Return the name of the translated nexe and | |
|
Mark Seaborn
2012/03/13 22:16:55
Sentence not completed.
| |
| 1957 def GetTranslatedNexe(env, pexe): | |
| 1958 pexe_name = pexe.abspath | |
| 1959 nexe_name = pexe_name[:pexe_name.index('.pexe')] + '.nexe' | |
| 1960 trans_flags = [] | |
|
Mark Seaborn
2012/03/13 22:16:55
trans_flag is not used.
| |
| 1961 trans_cmd = ('${TRANSLATE} ${TRANSLATEFLAGS} -Wl,-L${LIB_DIR} %s -o %s' % | |
| 1962 (pexe_name, nexe_name)) | |
| 1963 | |
| 1964 pexe_node = env.Command(nexe_name, pexe_name, trans_cmd) | |
| 1965 return nexe_name, pexe_node | |
|
Mark Seaborn
2012/03/13 22:16:55
In the call sites, nexe_name is not used.
| |
| 1966 | |
| 1967 pre_base_env.AddMethod(GetTranslatedNexe) | |
| 1968 | |
| 1953 def CommandSelLdrTestNacl(env, name, nexe, | 1969 def CommandSelLdrTestNacl(env, name, nexe, |
| 1954 args = None, | 1970 args = None, |
| 1955 log_verbosity=2, | 1971 log_verbosity=2, |
| 1956 sel_ldr_flags=None, | 1972 sel_ldr_flags=None, |
| 1957 loader=None, | 1973 loader=None, |
| 1958 size='medium', | 1974 size='medium', |
| 1959 # True for *.nexe statically linked with glibc | 1975 # True for *.nexe statically linked with glibc |
| 1960 glibc_static=False, | 1976 glibc_static=False, |
| 1961 uses_ppapi=False, | 1977 uses_ppapi=False, |
| 1962 skip_bootstrap=False, | 1978 skip_bootstrap=False, |
| 1963 wrapper_program_prefix=None, | 1979 wrapper_program_prefix=None, |
| 1964 # e.g., [ 'python', 'time_check.py', '--' ] | 1980 # e.g., [ 'python', 'time_check.py', '--' ] |
| 1965 **extra): | 1981 **extra): |
| 1966 # Disable all sel_ldr tests for windows under coverage. | 1982 # Disable all sel_ldr tests for windows under coverage. |
| 1967 # Currently several .S files block sel_ldr from being instrumented. | 1983 # Currently several .S files block sel_ldr from being instrumented. |
| 1968 # See http://code.google.com/p/nativeclient/issues/detail?id=831 | 1984 # See http://code.google.com/p/nativeclient/issues/detail?id=831 |
| 1969 if ('TRUSTED_ENV' in env and | 1985 if ('TRUSTED_ENV' in env and |
| 1970 env['TRUSTED_ENV'].Bit('coverage_enabled') and | 1986 env['TRUSTED_ENV'].Bit('coverage_enabled') and |
| 1971 env['TRUSTED_ENV'].Bit('windows')): | 1987 env['TRUSTED_ENV'].Bit('windows')): |
| 1972 return [] | 1988 return [] |
| 1973 | 1989 |
| 1974 command = [nexe] | 1990 if (env.Bit('pnacl_stop_with_pexe') and env['NACL_BUILD_FAMILY'] != 'TRUSTED') : |
| 1991 # The nexe is actually a pexe. translate it before we run it | |
| 1992 nexe_name, pexe_node = GetTranslatedNexe(env, nexe) | |
| 1993 command = [nexe_name] | |
| 1994 extra_deps = [pexe_node] | |
| 1995 else: | |
| 1996 command = [nexe] | |
| 1997 extra_deps = [] | |
| 1998 | |
| 1975 if args is not None: | 1999 if args is not None: |
| 1976 command += args | 2000 command += args |
| 1977 | 2001 |
| 1978 if loader is None: | 2002 if loader is None: |
| 1979 loader = GetSelLdr(env) | 2003 loader = GetSelLdr(env) |
| 1980 if loader is None: | 2004 if loader is None: |
| 1981 print 'WARNING: no sel_ldr found. Skipping test %s' % name | 2005 print 'WARNING: no sel_ldr found. Skipping test %s' % name |
| 1982 return [] | 2006 return [] |
| 1983 | 2007 |
| 1984 # Avoid problems with [] as default arguments | 2008 # Avoid problems with [] as default arguments |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2018 loader_cmd = [loader] | 2042 loader_cmd = [loader] |
| 2019 else: | 2043 else: |
| 2020 loader_cmd = [bootstrap, loader, bootstrap_arg] | 2044 loader_cmd = [bootstrap, loader, bootstrap_arg] |
| 2021 | 2045 |
| 2022 command = loader_cmd + sel_ldr_flags + ['--'] + command | 2046 command = loader_cmd + sel_ldr_flags + ['--'] + command |
| 2023 | 2047 |
| 2024 if ShouldUseVerboseOptions(extra): | 2048 if ShouldUseVerboseOptions(extra): |
| 2025 env.MakeVerboseExtraOptions(name, log_verbosity, extra) | 2049 env.MakeVerboseExtraOptions(name, log_verbosity, extra) |
| 2026 | 2050 |
| 2027 node = CommandTest(env, name, command, size, posix_path=True, | 2051 node = CommandTest(env, name, command, size, posix_path=True, |
| 2028 wrapper_program_prefix=wrapper_program_prefix, **extra) | 2052 wrapper_program_prefix=wrapper_program_prefix, |
| 2053 extra_deps=extra_deps, **extra) | |
| 2029 if env.Bit('tests_use_irt'): | 2054 if env.Bit('tests_use_irt'): |
| 2030 env.Alias('irt_tests', node) | 2055 env.Alias('irt_tests', node) |
| 2031 return node | 2056 return node |
| 2032 | 2057 |
| 2033 pre_base_env.AddMethod(CommandSelLdrTestNacl) | 2058 pre_base_env.AddMethod(CommandSelLdrTestNacl) |
| 2034 | 2059 |
| 2035 # ---------------------------------------------------------- | 2060 # ---------------------------------------------------------- |
| 2036 TEST_EXTRA_ARGS = ['stdin', 'log_file', | 2061 TEST_EXTRA_ARGS = ['stdin', 'log_file', |
| 2037 'stdout_golden', 'stderr_golden', 'log_golden', | 2062 'stdout_golden', 'stderr_golden', 'log_golden', |
| 2038 'filter_regex', 'filter_inverse', 'filter_group_only', | 2063 'filter_regex', 'filter_inverse', 'filter_group_only', |
| (...skipping 1812 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3851 nacl_env.ValidateSdk() | 3876 nacl_env.ValidateSdk() |
| 3852 | 3877 |
| 3853 if BROKEN_TEST_COUNT > 0: | 3878 if BROKEN_TEST_COUNT > 0: |
| 3854 msg = "There are %d broken tests." % BROKEN_TEST_COUNT | 3879 msg = "There are %d broken tests." % BROKEN_TEST_COUNT |
| 3855 if GetOption('brief_comstr'): | 3880 if GetOption('brief_comstr'): |
| 3856 msg += " Add --verbose to the command line for more information." | 3881 msg += " Add --verbose to the command line for more information." |
| 3857 print msg | 3882 print msg |
| 3858 | 3883 |
| 3859 # separate warnings from actual build output | 3884 # separate warnings from actual build output |
| 3860 Banner('B U I L D - O U T P U T:') | 3885 Banner('B U I L D - O U T P U T:') |
| OLD | NEW |