summaryrefslogtreecommitdiff
path: root/test/meson.build
blob: 4bc01d78f4e62cb9e9d62555f1efbdc7727802b9 (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
# SPDX-License-Identifier: CC0-1.0

if not get_option('test')
    test_enabled = false
    subdir_done()
endif

test_enabled = true

subdir('libtest')

subdir('camera')
subdir('controls')
subdir('gstreamer')
subdir('ipa')
subdir('ipc')
subdir('log')
subdir('media_device')
subdir('pipeline')
subdir('process')
subdir('py')
subdir('serialization')
subdir('stream')
subdir('v4l2_compat')
subdir('v4l2_subdevice')
subdir('v4l2_videodevice')

public_tests = [
    ['color-space',                     'color-space.cpp'],
    ['geometry',                        'geometry.cpp'],
    ['public-api',                      'public-api.cpp'],
    ['signal',                          'signal.cpp'],
    ['span',                            'span.cpp'],
]

internal_tests = [
    ['bayer-format',                    'bayer-format.cpp'],
    ['byte-stream-buffer',              'byte-stream-buffer.cpp'],
    ['camera-sensor',                   'camera-sensor.cpp'],
    ['delayed_controls',                'delayed_controls.cpp'],
    ['event',                           'event.cpp'],
    ['event-dispatcher',                'event-dispatcher.cpp'],
    ['event-thread',                    'event-thread.cpp'],
    ['file',                            'file.cpp'],
    ['flags',                           'flags.cpp'],
    ['hotplug-cameras',                 'hotplug-cameras.cpp'],
    ['message',                         'message.cpp'],
    ['object',                          'object.cpp'],
    ['object-delete',                   'object-delete.cpp'],
    ['object-invoke',                   'object-invoke.cpp'],
    ['pixel-format',                    'pixel-format.cpp'],
    ['shared-fd',                       'shared-fd.cpp'],
    ['signal-threads',                  'signal-threads.cpp'],
    ['threads',                         'threads.cpp', [libthreads]],
    ['timer',                           'timer.cpp'],
    ['timer-thread',                    'timer-thread.cpp'],
    ['unique-fd',                       'unique-fd.cpp'],
    ['utils',                           'utils.cpp'],
    ['yaml-parser',                     'yaml-parser.cpp'],
]

internal_non_parallel_tests = [
    ['fence',                           'fence.cpp'],
    ['mapped-buffer',                   'mapped-buffer.cpp'],
]

foreach test : public_tests
    deps = [libcamera_public]
    if test.length() > 2
        deps += test[2]
    endif

    exe = executable(test[0], test[1],
                     dependencies : deps,
                     link_with : test_libraries,
                     include_directories : test_includes_public)

    test(test[0], exe)
endforeach

foreach test : internal_tests
    deps = [libcamera_private]
    if test.length() > 2
        deps += test[2]
    endif

    exe = executable(test[0], test[1],
                     dependencies : deps,
                     link_with : test_libraries,
                     include_directories : test_includes_internal)

    test(test[0], exe)
endforeach

foreach test : internal_non_parallel_tests
    deps = [libcamera_private]
    if test.length() > 2
        deps += test[2]
    endif

    exe = executable(test[0], test[1],
                     dependencies : deps,
                     link_with : test_libraries,
                     include_directories : test_includes_internal)

    test(test[0], exe, is_parallel : false)
endforeach