Index: src/trusted/service_runtime/build.scons |
diff --git a/src/trusted/service_runtime/build.scons b/src/trusted/service_runtime/build.scons |
index c2c14a62dba24869488d0895426926e22f831d9d..4a2cfe930e3d2eb8ed3b9d7b801a619316d8a3db 100644 |
--- a/src/trusted/service_runtime/build.scons |
+++ b/src/trusted/service_runtime/build.scons |
@@ -554,10 +554,13 @@ elif env.Bit('target_x86_64'): |
else: |
arch_testdata_dir = 'testdata/' + env['TARGET_ARCHITECTURE'] |
+untrusted_env = env.MakeUntrustedNativeEnv() |
+hello_world_nexe = untrusted_env.File('$STAGING_DIR/hello_world.nexe') |
# Doesn't work on windows under coverage. |
# TODO(bradnelson): fix this to work on windows under coverage. |
-if not env.Bit('windows') or not env.Bit('coverage_enabled'): |
+if ((not env.Bit('windows') or not env.Bit('coverage_enabled')) and |
+ env.Bit('nacl_static_link')): |
# NOTE: uses validator |
mmap_test_objs = [env.ComponentObject('mmap_test.c')] |
mmap_test_exe = env.ComponentProgram( |
@@ -580,8 +583,7 @@ if not env.Bit('windows') or not env.Bit('coverage_enabled'): |
'sel_test', |
]) |
- mmap_test_file = env.File(arch_testdata_dir + '/hello_world.nexe') |
- mmap_test_command = env.AddBootstrap(mmap_test_exe, [mmap_test_file]) |
+ mmap_test_command = env.AddBootstrap(mmap_test_exe, [hello_world_nexe]) |
# TODO(robertm): This test emits lots of messages to stderr |
node = env.CommandTest ( |
@@ -800,37 +802,21 @@ env.AddNodeToTestSuite(node, ['small_tests'], 'run_sel_ldr_exe_not_found_test') |
# Check that "-F" makes sel_ldr stop after loading the nexe but before running |
# it. |
-if not env.Bit('bitcode') or env.Bit('target_mips32'): |
- untrusted_env = env.MakeUntrustedNativeEnv() |
- nullptr_src = env.File('${MAIN_DIR}/tests/nullptr/nullptr.c') |
- nullptr_obj = untrusted_env.ComponentObject('nullptr', nullptr_src) |
- nullptr_nexe = untrusted_env.ComponentProgram('nullptr', nullptr_obj) |
+nullptr_nexe = untrusted_env.GetTranslatedNexe( |
+ untrusted_env.File('$STAGING_DIR/nullptr$PROGSUFFIX')) |
- node = env.CommandSelLdrTestNacl( |
- 'fuzz_nullptr_test.out', |
- nullptr_nexe, |
- sel_ldr_flags=['-F']) |
- env.AddNodeToTestSuite(node, ['small_tests'], 'run_fuzz_nullptr_test') |
- |
-# ---------------------------------------------------------- |
-# Small tests with canned binaries |
-# ---------------------------------------------------------- |
- |
-if env.Bit('target_x86_64'): |
- node = env.CommandSelLdrTestNacl( |
- 'hello_x32.out', |
- env.File(os.path.join(arch_testdata_dir, 'hello_x32.nexe')), |
- stdout_golden=env.File(os.path.join('${MAIN_DIR}', |
- 'tests/hello_world', |
- 'hello_world.stdout')) |
- ) |
- env.AddNodeToTestSuite(node, ['small_tests'], 'run_hello_x32_test') |
- |
-# Test canned hello_world binary with obsolete, non-ragel based validator. |
-if not env.Bit('validator_ragel') and env.Bit('target_x86'): |
+node = env.CommandSelLdrTestNacl( |
+ 'fuzz_nullptr_test.out', |
+ nullptr_nexe, |
+ sel_ldr_flags=['-F']) |
+env.AddNodeToTestSuite(node, ['small_tests'], 'run_fuzz_nullptr_test') |
+ |
+# Test hello_world binary with obsolete, non-ragel based validator. |
+if (not env.Bit('validator_ragel') and env.Bit('target_x86') |
+ and env.Bit('nacl_static_link')): |
node = env.CommandSelLdrTestNacl( |
'dfa_hwd.out', |
- env.File(arch_testdata_dir + '/hello_world.nexe'), |
+ hello_world_nexe, |
stdout_golden = env.File('testdata/hello_world.stdout'), |
stderr_golden = env.File('testdata/non_dfa_validator_hello.stderr'), |
filter_regex = '"^(Hello, World!)$' + '|' + |
@@ -845,7 +831,6 @@ if env.Bit('target_mips32'): |
# Use arbitrary non-page-aligned addresses for data and rodata. |
rodata_region_start = 0x10020094 |
data_region_start = 0x10030098 |
- untrusted_env = env.MakeUntrustedNativeEnv() |
untrusted_env.Append(CPPFLAGS=['--pnacl-allow-native', '-arch', 'mips32']) |
unaligned_data_objs = untrusted_env.ComponentObject( |
'arch/mips/unaligned_data_test.S') |
@@ -887,6 +872,20 @@ node = env.CommandSelLdrTestNacl( |
env.AddNodeToTestSuite(node, ['small_tests'], 'run_unaligned_data_irt_test') |
# ---------------------------------------------------------- |
+# Small tests with canned binaries |
+# ---------------------------------------------------------- |
+ |
+if env.Bit('target_x86_64'): |
+ node = env.CommandSelLdrTestNacl( |
+ 'hello_x32.out', |
+ env.File(os.path.join(arch_testdata_dir, 'hello_x32.nexe')), |
+ stdout_golden=env.File(os.path.join('${MAIN_DIR}', |
+ 'tests/hello_world', |
+ 'hello_world.stdout')) |
+ ) |
+ env.AddNodeToTestSuite(node, ['small_tests'], 'run_hello_x32_test') |
+ |
+# ---------------------------------------------------------- |
# Integration Tests With Canned x86 Binaries |
# ---------------------------------------------------------- |
# To update the canned tests run: |
@@ -919,13 +918,13 @@ def AddIntegrationTest(test, location): |
['medium_tests'], |
'run_%s_integration_test' % test) |
-if env.Bit('target_x86'): |
+if env.Bit('target_x86') and env.Bit('nacl_static_link'): |
RE_HELLO = '^(Hello, World!)$' |
RE_IDENT = '^\[[0-9,:.]*\] (e_ident\+1 = ELF)$' |
node = env.CommandSelLdrTestNacl( |
'nacl_log.out', |
- env.File(arch_testdata_dir + '/hello_world.nexe'), |
+ hello_world_nexe, |
log_golden = env.File('testdata/hello_world.log'), |
stdout_golden = env.File('testdata/hello_world.stdout'), |
filter_regex = '"' + RE_HELLO + '|' + RE_IDENT + '"', |