blob: f0f4a5ba6c94edeaa7e57362e34e5f5933d4115a [file] [log] [blame]
# -*- python -*-
# Copyright (c) 2012 The Native Client Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
Import('env')
if env.Bit('bitcode') and not env.Bit('pnacl_generate_pexe'):
env.AddBiasForPNaCl()
env.PNaClForceNative()
testsuites = ['small_tests', 'sel_ldr_tests', 'nonpexe_tests']
if not env.Bit('bitcode'):
infoleak_sources = ['test_infoleak.c']
if env.Bit('build_arm'):
infoleak_sources.append('test_infoleak_arm.S')
elif env.Bit('build_mips32'):
infoleak_sources.append('test_infoleak_mips.S')
nexe = env.ComponentProgram('test_infoleak', infoleak_sources,
EXTRA_LIBS=['${NONIRT_LIBS}'])
node = env.CommandSelLdrTestNacl('test_infoleak.out', nexe)
env.AddNodeToTestSuite(node,
testsuites,
'run_infoleak_test',
# Valgrind apparently doesn't implement
# stmxcsr/ldmxcsr correctly. stmxcsr seems to do
# nothing, and ldmxcsr always reads back the
# hardware's power-up default value of 0x1f80.
is_broken=env.IsRunningUnderValgrind())
if not env.Bit('bitcode') and not env.Bit('build_mips32'):
fpu_cw_sources = ['test_fpu_control_word.c']
if env.Bit('build_arm'):
fpu_cw_sources.append('test_fpu_control_word_arm.S')
nexe = env.ComponentProgram('test_fpu_control_word', fpu_cw_sources,
EXTRA_LIBS=['${NONIRT_LIBS}'])
node = env.CommandSelLdrTestNacl('test_fpu_control_word.out', nexe)
env.AddNodeToTestSuite(node,
testsuites,
'run_fpu_control_word_test',
# Valgrind apparenty doesn't implement
# fnstcw;fldcw correctly.
is_broken=env.IsRunningUnderValgrind())