summaryrefslogtreecommitdiff
path: root/test/meson.build
blob: 05a54d5cad2f52c4e48c858628375ba8507e6199 (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 = [
    {'name': 'color-space', 'sources': ['color-space.cpp']},
    {'name': 'geometry', 'sources': ['geometry.cpp']},
    {'name': 'public-api', 'sources': ['public-api.cpp']},
    {'name': 'signal', 'sources': ['signal.cpp']},
    {'name': 'span', 'sources': ['span.cpp']},
]

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

internal_non_parallel_tests = [
    {'name': 'fence', 'sources': ['fence.cpp']},
    {'name': 'mapped-buffer', 'sources': ['mapped-buffer.cpp']},
]

foreach test : public_tests
    deps = [libcamera_public]
    if 'dependencies' in test
        deps += test['dependencies']
    endif

    exe = executable(test['name'], test['sources'],
                     dependencies : deps,
                     link_with : test_libraries,
                     include_directories : test_includes_public)

    test(test['name'], exe)
endforeach

foreach test : internal_tests
    deps = [libcamera_private]
    if 'dependencies' in test
        deps += test['dependencies']
    endif

    exe = executable(test['name'], test['sources'],
                     dependencies : deps,
                     link_with : test_libraries,
                     include_directories : test_includes_internal)

    test(test['name'], exe)
endforeach

foreach test : internal_non_parallel_tests
    deps = [libcamera_private]
    if 'dependencies' in test
        deps += test['dependencies']
    endif

    exe = executable(test['name'], test['sources'],
                     dependencies : deps,
                     link_with : test_libraries,
                     include_directories : test_includes_internal)

    test(test['name'], exe, is_parallel : false)
endforeach