| # -*- 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 platform |
| |
| Import('env') |
| |
| |
| ###################################################################### |
| # Publish nexes and corresponding html to scons-out/.../staging/ |
| ###################################################################### |
| |
| srpc_test_objs = env.ComponentObject('srpc_test', 'srpc_test.c') |
| srpc_test_libs = ['srpc', 'imc_syscalls', 'platform', 'gio', 'm'] |
| |
| srpc_test_nexe_name = env.ProgramNameForNmf('srpc_test') |
| srpc_test_nexe = env.ComponentProgram( |
| srpc_test_nexe_name, srpc_test_objs, |
| EXTRA_LIBS=srpc_test_libs + [ |
| '${PTHREAD_LIBS}']) |
| env.Publish(srpc_test_nexe_name, 'run', |
| ['srpc_basic.html', |
| 'srpc_perf.html']) |
| |
| srpc_test_nonbrowser = env.ComponentProgram( |
| 'srpc_test_nonbrowser', srpc_test_objs, |
| EXTRA_LIBS=srpc_test_libs + ['${PTHREAD_LIBS}', '${NONIRT_LIBS}']) |
| |
| |
| srpc_nrd_server_nexe_name = env.ProgramNameForNmf('srpc_nrd_server') |
| srpc_nrd_server_nexe = env.ComponentProgram( |
| srpc_nrd_server_nexe_name, 'srpc_nrd_server.c', |
| EXTRA_LIBS=[ |
| 'srpc', |
| 'imc_syscalls', |
| 'platform', |
| 'gio', |
| 'm', |
| '${PTHREAD_LIBS}']) |
| |
| srpc_nrd_client_nexe_name = env.ProgramNameForNmf('srpc_nrd_client') |
| srpc_nrd_client_nexe = env.ComponentProgram( |
| srpc_nrd_client_nexe_name, 'srpc_nrd_client.c', |
| EXTRA_LIBS=[ |
| 'srpc', |
| 'imc_syscalls', |
| 'platform', |
| 'gio', |
| 'm', |
| '${PTHREAD_LIBS}']) |
| env.Publish(srpc_nrd_client_nexe_name, 'run', |
| ['srpc_nrd_xfer.html', |
| srpc_nrd_server_nexe]) |
| |
| |
| srpc_bidir_nexe_name = env.ProgramNameForNmf('srpc_bidir') |
| srpc_bidir_nexe = env.ComponentProgram( |
| srpc_bidir_nexe_name, 'srpc_bidir.c', |
| EXTRA_LIBS=['srpc', 'imc_syscalls', 'platform', 'gio', 'm', 'pthread']) |
| env.Publish(srpc_bidir_nexe_name, 'run', []) |
| |
| |
| # NOTE: at least for ARM the EXTRA_LIBS list should include 'srpc' |
| # but this somehow make the x86 version fragile |
| srpc_bad_service_nexe_name = env.ProgramNameForNmf('srpc_bad_service') |
| srpc_bad_service_nexe = env.ComponentProgram( |
| srpc_bad_service_nexe_name, 'srpc_bad_service.c', |
| EXTRA_LIBS=['imc_syscalls', 'm', '${PTHREAD_LIBS}', '${NONIRT_LIBS}']) |
| env.Publish(srpc_bad_service_nexe_name, 'run', []) |
| |
| ###################################################################### |
| ## Automated testing using sel_universal |
| ###################################################################### |
| |
| node = env.SelUniversalTest( |
| 'srpc_basic_test.out', |
| srpc_test_nonbrowser, |
| sel_universal_flags=['--command_file', env.File('srpc_basic_test.stdin')], |
| stdout_golden=env.File('srpc_basic_test.stdout'), |
| ) |
| env.AddNodeToTestSuite(node, |
| ['sel_ldr_tests', 'small_tests'], |
| 'run_srpc_basic_test') |
| |
| node = env.SelUniversalTest( |
| 'srpc_bad_service.out', |
| srpc_bad_service_nexe, |
| exit_status='1' |
| ) |
| env.AddNodeToTestSuite(node, |
| ['sel_ldr_tests', 'small_tests'], |
| 'run_srpc_bad_service_test') |