OLD | NEW |
1 # -*- python -*- | 1 # -*- python -*- |
2 # Copyright (c) 2011 The Native Client Authors. All rights reserved. | 2 # Copyright (c) 2011 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 os | 6 import os |
7 | 7 |
8 Import('env') | 8 Import('env') |
9 | 9 |
10 env.Replace(EXTRA_LIBS=['pthread']) | 10 env.Replace(EXTRA_LIBS=['pthread']) |
11 | 11 |
12 env.ComponentProgram('egyptian_cotton.nexe', 'egyptian_cotton.c') | 12 egyptian_cotton_nexe = env.ComponentProgram('egyptian_cotton', |
| 13 'egyptian_cotton.c') |
13 | 14 |
14 platform_limits_known = False | 15 platform_limits_known = False |
15 | 16 |
16 # this test accepts the number of threads to attempt to create as an | 17 # this test accepts the number of threads to attempt to create as an |
17 # argument. NACL_THREAD_MAX is 8192 for x86-32 and x86-64, and 4096 | 18 # argument. NACL_THREAD_MAX is 8192 for x86-32 and x86-64, and 4096 |
18 # for the Arm. See the header files | 19 # for the Arm. See the header files |
19 # src/trusted/service_runtime/arch/{x86,arm}/sel_ldr_{x86,arm}.h for | 20 # src/trusted/service_runtime/arch/{x86,arm}/sel_ldr_{x86,arm}.h for |
20 # the current values (and update this comment to reflect reality!). | 21 # the current values (and update this comment to reflect reality!). |
21 # On the x86_32, the actual number of threads possible is slightly | 22 # On the x86_32, the actual number of threads possible is slightly |
22 # fewer than 8192, since the service runtime's trusted internal | 23 # fewer than 8192, since the service runtime's trusted internal |
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
112 # TODO(bsy): figure out why this fails on atom64 with 1GB RAM. | 113 # TODO(bsy): figure out why this fails on atom64 with 1GB RAM. |
113 # Disable thread_stack_alloc_test on one specific atom64 box. | 114 # Disable thread_stack_alloc_test on one specific atom64 box. |
114 if os.environ.get('COMPUTERNAME') == 'NACL-ATOM1': | 115 if os.environ.get('COMPUTERNAME') == 'NACL-ATOM1': |
115 tests = [t for t in tests if t[0] != 'thread_stack_alloc_test'] | 116 tests = [t for t in tests if t[0] != 'thread_stack_alloc_test'] |
116 | 117 |
117 # This test does not make much sense on Valgrind, and is too slow. | 118 # This test does not make much sense on Valgrind, and is too slow. |
118 if env.IsRunningUnderValgrind(): | 119 if env.IsRunningUnderValgrind(): |
119 tests = [t for t in tests if t[0] != 'thread_stack_alloc_test'] | 120 tests = [t for t in tests if t[0] != 'thread_stack_alloc_test'] |
120 | 121 |
121 def ThreadTestNode(name, args): | 122 def ThreadTestNode(name, args): |
122 cmd = [env.File('egyptian_cotton.nexe')] + args | 123 return env.CommandSelLdrTestNacl(name + '.out', |
123 return env.CommandSelLdrTestNacl(name + '.out', command = cmd) | 124 egyptian_cotton_nexe, |
| 125 args=args) |
124 | 126 |
125 nodes = [ ThreadTestNode(name, args) for name, args in tests ] | 127 nodes = [ ThreadTestNode(name, args) for name, args in tests ] |
126 | 128 |
127 is_broken = env.Bit('target_arm') and env.UsingEmulator() | 129 is_broken = env.Bit('target_arm') and env.UsingEmulator() |
128 for p, n in zip(tests, nodes): | 130 for p, n in zip(tests, nodes): |
129 env.AddNodeToTestSuite(n, ['small_tests', 'sel_ldr_tests'], 'run_' + p[0], | 131 env.AddNodeToTestSuite(n, ['small_tests', 'sel_ldr_tests'], 'run_' + p[0], |
130 is_broken=is_broken) | 132 is_broken=is_broken) |
OLD | NEW |