blob: bd713e57d079c493d7d993f3db0a0f27a405c2fe [file] [log] [blame]
# -*- python -*-
# Copyright 2014 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')
# Disable this on Valgrind because we don't particularly need to measure
# performance under Valgrind. Also, disable on emulation, since these
# are benchmarks and need to run on real hardware.
is_broken = env.Bit('running_on_valgrind') or env.UsingEmulator()
# Increase the test timeout for Subzero.
# https://code.google.com/p/nativeclient/issues/detail?id=4136
timeout_override = 1000 if env.Bit('use_sz') else 0
libs = []
if env.Bit('nacl_glibc'):
# Needed for clock_gettime().
libs.append('rt')
env.Append(CFLAGS=['-std=c99', '-O2'])
env.Append(CCFLAGS=['-O2'])
env.Prepend(CPPPATH=['${MAIN_DIR}/src'])
nexe = env.ComponentProgram(
'benchmark_test',
['benchmark_life.cc',
'framework.cc',
'main.cc',
'thread_pool.cc'],
EXTRA_LIBS=['${NONIRT_LIBS}',
'${PTHREAD_LIBS}',
'${EXCEPTION_LIBS}']
+ libs)
# Allow this to be built even if sel_ldr / trusted code is not.
if 'TRUSTED_ENV' not in env:
Return()
node = env.CommandSelLdrTestNacl(
'benchmark_test.out', nexe, [env.GetPerfEnvDescription()],
time_error=timeout_override,
# Don't hide output: We want the timings to be reported in the
# Buildbot logs so that Buildbot records the "RESULT" lines.
capture_output=False)
env.AddNodeToTestSuite(node, ['large_tests'], 'run_benchmark_test',
is_broken=is_broken)