summaryrefslogtreecommitdiff
path: root/test/meson.build
blob: cc461febf102102722793f9e749132c059285b0f (plain)
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
# SPDX-License-Identifier: LGPL-2.1-or-later

if install_tests
        testdata_dir = testsdir + '/testdata/'

        install_subdir('journal-data',
                       install_dir : testdata_dir)
        install_subdir('units',
                       install_dir : testdata_dir)
        install_subdir('test-execute',
                       install_dir : testdata_dir)
        install_subdir('test-path',
                       install_dir : testdata_dir)
        install_subdir('test-umount',
                       install_dir : testdata_dir)
        install_subdir('test-network-generator-conversion',
                       install_dir : testdata_dir)
        install_subdir('testsuite-04.units',
                       install_dir : testdata_dir)
        install_subdir('testsuite-06.units',
                       install_dir : testdata_dir)
        install_subdir('testsuite-10.units',
                       install_dir : testdata_dir)
        install_subdir('testsuite-11.units',
                       install_dir : testdata_dir)
        install_subdir('testsuite-16.units',
                       install_dir : testdata_dir)
        install_subdir('testsuite-28.units',
                       install_dir : testdata_dir)
        install_subdir('testsuite-30.units',
                       install_dir : testdata_dir)
        install_subdir('testsuite-52.units',
                       install_dir : testdata_dir)

        testsuite08_dir = testdata_dir + '/testsuite-08.units'
        install_data('testsuite-08.units/-.mount',
                     install_dir : testsuite08_dir)
        install_data('testsuite-08.units/systemd-remount-fs.service',
                     install_dir : testsuite08_dir)
        meson.add_install_script(meson_make_symlink,
                                 './-.mount',
                                 testsuite08_dir + '/root.mount')
        meson.add_install_script(meson_make_symlink,
                                 '../-.mount',
                                 testsuite08_dir + '/local-fs.target.wants/-.mount')

        if conf.get('ENABLE_RESOLVE') == 1
                install_subdir('test-resolve',
                               install_dir : testdata_dir)
        endif

        install_data('create-busybox-container',
                     install_mode : 'rwxr-xr-x',
                     install_dir : testdata_dir)
endif

test_network_generator_conversion_sh = find_program('test-network-generator-conversion.sh')

############################################################

test_sysusers_dir = join_paths(meson.current_source_dir(), 'test-sysusers')

test_sysusers_sh = configure_file(
        input : 'test-sysusers.sh.in',
        output : 'test-sysusers.sh',
        configuration : substs)
if install_tests and conf.get('ENABLE_SYSUSERS') == 1
        install_data(test_sysusers_sh,
                     install_dir : testsdir)
        install_subdir('test-sysusers',
                       install_dir : testdata_dir)
endif

############################################################

rule_syntax_check_py = find_program('rule-syntax-check.py')
if want_tests != 'false'
        test('rule-syntax-check',
             rule_syntax_check_py,
             args : all_rules)
endif

############################################################

if conf.get('HAVE_SYSV_COMPAT') == 1
        sysv_generator_test_py = find_program('sysv-generator-test.py')
        if want_tests != 'false'
                test('sysv-generator-test',
                     sysv_generator_test_py)
        endif
endif

############################################################

if install_tests
        install_data('run-unit-tests.py',
                     install_mode : 'rwxr-xr-x',
                     install_dir : testsdir)
        install_data('test-network-generator-conversion.sh',
                     install_mode : 'rwxr-xr-x',
                     install_dir : testsdir)
endif

############################################################

# prepare test/sys tree
sys_script_py = find_program('sys-script.py')
custom_target(
        'sys',
        command : [sys_script_py, meson.current_build_dir()],
        output : 'sys',
        build_by_default : want_tests != 'false')

if perl.found()
        udev_test_pl = find_program('udev-test.pl')
        if want_tests != 'false'
                test('udev-test',
                     udev_test_pl,
                     timeout : 180)
        endif
else
        message('Skipping udev-test because perl is not available')
endif

if conf.get('ENABLE_HWDB') == 1
        hwdb_test_sh = find_program('hwdb-test.sh')
        if want_tests != 'false'
                test('hwdb-test',
                     hwdb_test_sh,
                     timeout : 90)
        endif
endif

subdir('fuzz')