1#
2# Build tests
3#
4tests = [
5  'test-logging',
6  'test-region',
7  'test-ssl-verify',
8  'test-utils',
9]
10tests_deps = [spice_common_dep, gio2_deps]
11
12foreach t : tests
13  name = t.underscorify()
14  exe = executable(name, '@0@.c'.format(t),
15                   dependencies : tests_deps,
16                   install : false)
17  test(name, exe)
18endforeach
19
20#
21# test_marshallers
22#
23if spice_common_generate_client_code or spice_common_generate_server_code
24  test_proto = files('test-marshallers.proto')
25
26  test_marshallers_sources = ['test-marshallers.c', 'test-marshallers.h']
27  generated_marshallers = []
28
29  targets = [
30      ['test_marshallers', test_proto, 'generated_test_marshallers.c', [
31        '--suffix=_test',
32        '--generate-marshallers',
33        '--server',
34        '--include', 'test-marshallers.h',
35        '@INPUT@', '@OUTPUT@'
36      ]],
37      ['test_marshallers_h', test_proto, 'generated_test_marshallers.h', [
38        '--suffix=_test',
39        '--generate-marshallers',
40        '--server',
41        '--include', 'test-marshallers.h',
42        '-H',
43        '@INPUT@', '@OUTPUT@'
44      ]],
45      ['test_demarshallers', test_proto, 'generated_test_demarshallers.c', [
46        '--suffix=_test',
47        '--generate-demarshallers',
48        '--client',
49        '--include', 'test-marshallers.h',
50        '--generated-declaration-file', meson.current_build_dir() /'generated_test_messages.h',
51        '@INPUT@', '@OUTPUT@'
52      ]],
53      ['test_enums_h', test_proto, 'generated_test_enums.h', [
54        '--suffix=_test',
55        '-e',
56        '@INPUT@', '@OUTPUT@'
57      ]],
58  ]
59
60  foreach t : targets
61    cmd = [python, spice_codegen] + t[3]
62    generated_marshallers += custom_target(t[0], input: t[1], output : t[2], command: cmd, depend_files : spice_codegen_files)
63  endforeach
64
65  test_marshallers_sources += generated_marshallers
66
67  test('test_marshallers',
68       executable('test_marshallers', test_marshallers_sources,
69                  dependencies : spice_common_dep,
70                  install : false))
71endif
72
73#
74# test_quic
75#
76gdk_pixbuf_dep = dependency('gdk-pixbuf-2.0', version : '>= 2.26', required : false)
77if gdk_pixbuf_dep.found()
78  test('test_quic',
79       executable('test_quic', 'test-quic.c',
80                  dependencies : [spice_common_dep, gdk_pixbuf_dep],
81                  install : false), timeout : 120)
82endif
83
84#
85# helper_fuzzer_demarshallers
86#
87if spice_common_generate_client_code and spice_common_generate_server_code
88  executable('helper_fuzzer_demarshallers',
89             ['helper-fuzzer-demarshallers.c'] + generated_marshallers,
90             dependencies : [tests_deps, spice_common_server_dep, spice_common_client_dep],
91             install : false)
92endif
93