/
SConscript
51 lines (39 loc) · 1.47 KB
/
SConscript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#
# Copyright (c) 2018 Juniper Networks, Inc. All rights reserved.
#
Import('VRouterEnv')
env = VRouterEnv.Clone()
env.Append(CPPPATH = [env['TOP_INCLUDE'], 'include'])
env.Append(CPPPATH = [env['TOP_INCLUDE'], 'win_tx_postprocess_tests/include'])
# Treat warnings as errors
env.Append(CPPFLAGS = '/WX')
env.Replace(LIBPATH = env['TOP_LIB'])
env.Append(LIBPATH = ['.', '../../windows'])
# vRouter code
env.Replace(LIBS = ['win_packet', 'Ws2_32'])
# 3rd party libs
env.Append(LIBS = 'cmocka')
env.AppendENVPath('Path', Dir('#build/bin'))
common_tests_src = ['fake_win_packet_raw.c', 'fake_win_memory.c', 'fake_vrouter.c', 'fake_win_packetdump.c']
common_tests_obj = env.Object(common_tests_src)
test_suite_base_names = [
'win_csum',
'win_packet_clone',
'win_packet_free',
'win_packet_split_multi_packet',
'win_pclone',
'win_pfree',
'win_tx_postprocess',
]
test_suite_additional_sources = {
'win_tx_postprocess' : env.Object(Glob("win_tx_postprocess_tests/*.c"))
}
test_suites = []
for test_suite_name in test_suite_base_names:
test_suite_src = ['test_{}.c'.format(test_suite_name)] + common_tests_obj
if test_suite_name in test_suite_additional_sources:
test_suite_src += test_suite_additional_sources[test_suite_name]
test_suite = env.UnitTest('{}_tests'.format(test_suite_name), test_suite_src)
test_suites.append(test_suite)
kernel_tests = env.TestSuite('kernel-tests', test_suites)
env.Requires(kernel_tests, '#build/bin/cmocka.dll')