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('env') | 6 Import('env') |
7 | 7 |
8 if 'TRUSTED_ENV' not in env: | 8 if 'TRUSTED_ENV' not in env: |
9 Return() | 9 Return() |
10 | 10 |
(...skipping 11 matching lines...) Expand all Loading... |
22 | 22 |
23 # We need -O0 to make stepping predictable and read local variables/function | 23 # We need -O0 to make stepping predictable and read local variables/function |
24 # arguments that may otherwise be optimized out. | 24 # arguments that may otherwise be optimized out. |
25 env.Append(CCFLAGS=['-O0', '-g', '-fno-omit-frame-pointer']) | 25 env.Append(CCFLAGS=['-O0', '-g', '-fno-omit-frame-pointer']) |
26 # We need to disable PNaCl's link time optimizations so that functions | 26 # We need to disable PNaCl's link time optimizations so that functions |
27 # do not get inlined, so that we can set breakpoints on these | 27 # do not get inlined, so that we can set breakpoints on these |
28 # functions. Also make translation optimizaton level -O0. | 28 # functions. Also make translation optimizaton level -O0. |
29 if env.Bit('bitcode'): | 29 if env.Bit('bitcode'): |
30 env.Append(LINKFLAGS=['-O0']) | 30 env.Append(LINKFLAGS=['-O0']) |
31 env.Append(TRANSLATEFLAGS=['-O0']) | 31 env.Append(TRANSLATEFLAGS=['-O0']) |
| 32 # This requires preserving nonstable bitcode debug metadata. |
| 33 env.SetBits('nonstable_bitcode') |
| 34 |
| 35 if env.Bit('skip_nonstable_bitcode'): |
| 36 Return() |
32 | 37 |
33 test_args = ['--gdb', env['GDB'], | 38 test_args = ['--gdb', env['GDB'], |
34 '--output_dir', env.subst('${TARGET_ROOT}/test_results')] | 39 '--output_dir', env.subst('${TARGET_ROOT}/test_results')] |
35 if env.Bit('tests_use_irt'): | 40 if env.Bit('tests_use_irt'): |
36 test_args += ['--irt', env.GetIrtNexe()] | 41 test_args += ['--irt', env.GetIrtNexe()] |
37 if not env.Bit('nacl_static_link'): | 42 if not env.Bit('nacl_static_link'): |
38 test_args += ['--ld_so', env.File('${NACL_SDK_LIB}/runnable-ld.so'), | 43 test_args += ['--ld_so', env.File('${NACL_SDK_LIB}/runnable-ld.so'), |
39 '--library_path', env['NACL_SDK_LIB']] | 44 '--library_path', env['NACL_SDK_LIB']] |
40 test_args += ['--'] + env.AddBootstrap(env.GetSelLdr(), ['-v']) | 45 test_args += ['--'] + env.AddBootstrap(env.GetSelLdr(), ['-v']) |
41 | 46 |
42 extra_deps = [env.File('gdb_test.py')] | 47 extra_deps = [env.File('gdb_test.py')] |
43 | 48 |
44 test_suites = ['medium_tests', 'gdb_tests'] | 49 test_suites = ['medium_tests', 'gdb_tests'] |
45 | 50 |
46 | 51 |
47 gdb_test_guest = env.ComponentProgram( | 52 gdb_test_guest = env.ComponentProgram( |
48 'gdb_test_guest', 'gdb_test_guest.c', | 53 'gdb_test_guest', 'gdb_test_guest.c', |
49 EXTRA_LIBS=['${NONIRT_LIBS}']) | 54 EXTRA_LIBS=['${NONIRT_LIBS}']) |
50 if env.ShouldTranslateToNexe(gdb_test_guest): | 55 gdb_test_guest = env.GetTranslatedNexe(gdb_test_guest) |
51 gdb_test_guest = env.GetTranslatedNexe(gdb_test_guest) | |
52 | 56 |
53 node = env.CommandTest( | 57 node = env.CommandTest( |
54 'gdb_stepi_after_break.out', | 58 'gdb_stepi_after_break.out', |
55 extra_deps=extra_deps, | 59 extra_deps=extra_deps, |
56 command=['${PYTHON}', env.File('stepi_after_break.py'), | 60 command=['${PYTHON}', env.File('stepi_after_break.py'), |
57 '--nexe', gdb_test_guest] + test_args) | 61 '--nexe', gdb_test_guest] + test_args) |
58 | 62 |
59 env.AddNodeToTestSuite(node, test_suites, 'run_gdb_stepi_after_break_test') | 63 env.AddNodeToTestSuite(node, test_suites, 'run_gdb_stepi_after_break_test') |
60 env.TestBindsFixedTcpPort(node) | 64 env.TestBindsFixedTcpPort(node) |
61 | 65 |
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
139 | 143 |
140 env.AddNodeToTestSuite(node, test_suites, | 144 env.AddNodeToTestSuite(node, test_suites, |
141 'run_gdb_execute_nacl_manifest_twice_test') | 145 'run_gdb_execute_nacl_manifest_twice_test') |
142 env.TestBindsFixedTcpPort(node) | 146 env.TestBindsFixedTcpPort(node) |
143 | 147 |
144 # GDB treats multithreaded programs specially. Provide distinct nexe for | 148 # GDB treats multithreaded programs specially. Provide distinct nexe for |
145 # multithreaded tests to isolate multiple threads-specific issues. | 149 # multithreaded tests to isolate multiple threads-specific issues. |
146 gdb_test_guest_thread = env.ComponentProgram( | 150 gdb_test_guest_thread = env.ComponentProgram( |
147 'gdb_test_guest_thread', 'gdb_test_guest_thread.c', | 151 'gdb_test_guest_thread', 'gdb_test_guest_thread.c', |
148 EXTRA_LIBS=['${PTHREAD_LIBS}', '${NONIRT_LIBS}']) | 152 EXTRA_LIBS=['${PTHREAD_LIBS}', '${NONIRT_LIBS}']) |
149 if env.ShouldTranslateToNexe(gdb_test_guest_thread): | 153 gdb_test_guest_thread = env.GetTranslatedNexe(gdb_test_guest_thread) |
150 gdb_test_guest_thread = env.GetTranslatedNexe(gdb_test_guest_thread) | |
151 | 154 |
152 node = env.CommandTest( | 155 node = env.CommandTest( |
153 'gdb_break_continue_thread.out', | 156 'gdb_break_continue_thread.out', |
154 extra_deps=extra_deps, | 157 extra_deps=extra_deps, |
155 command=['${PYTHON}', env.File('break_continue_thread.py'), | 158 command=['${PYTHON}', env.File('break_continue_thread.py'), |
156 '--nexe', gdb_test_guest_thread] + test_args) | 159 '--nexe', gdb_test_guest_thread] + test_args) |
157 | 160 |
158 env.AddNodeToTestSuite(node, test_suites, 'run_gdb_break_continue_thread_test') | 161 env.AddNodeToTestSuite(node, test_suites, 'run_gdb_break_continue_thread_test') |
159 env.TestBindsFixedTcpPort(node) | 162 env.TestBindsFixedTcpPort(node) |
160 | 163 |
161 node = env.CommandTest( | 164 node = env.CommandTest( |
162 'gdb_syscall_thread.out', | 165 'gdb_syscall_thread.out', |
163 extra_deps=extra_deps, | 166 extra_deps=extra_deps, |
164 command=['${PYTHON}', env.File('syscall_thread.py'), | 167 command=['${PYTHON}', env.File('syscall_thread.py'), |
165 '--nexe', gdb_test_guest_thread] + test_args) | 168 '--nexe', gdb_test_guest_thread] + test_args) |
166 | 169 |
167 env.AddNodeToTestSuite(node, test_suites, 'run_gdb_syscall_thread_test') | 170 env.AddNodeToTestSuite(node, test_suites, 'run_gdb_syscall_thread_test') |
168 env.TestBindsFixedTcpPort(node) | 171 env.TestBindsFixedTcpPort(node) |
OLD | NEW |