summaryrefslogtreecommitdiffstats
path: root/tests/meson.build
diff options
context:
space:
mode:
Diffstat (limited to 'tests/meson.build')
-rw-r--r--tests/meson.build61
1 files changed, 61 insertions, 0 deletions
diff --git a/tests/meson.build b/tests/meson.build
new file mode 100644
index 0000000..1647b30
--- /dev/null
+++ b/tests/meson.build
@@ -0,0 +1,61 @@
+# tests
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+## unit tests
+build_unit_tests = false
+if get_option('unit_tests') != 'disabled'
+ message('--- unit_tests dependencies ---')
+ cmocka = dependency('cmocka', required: get_option('unit_tests') == 'enabled')
+ if cmocka.found()
+ build_unit_tests = true
+ subdir('unit')
+ endif
+ message('-------------------------------')
+endif
+
+build_extra_tests = get_option('extra_tests') == 'enabled'
+build_config_tests = get_option('config_tests') == 'enabled'
+if get_option('config_tests') == 'auto'
+ build_config_tests = build_extra_tests
+endif
+
+## config tests
+if build_config_tests
+ message('--- config_tests dependencies ---')
+ cqueues = run_command('luajit', '-l', 'cqueues', '-e', 'os.exit(0)') # luajit -l $(1) -e "os.exit(0)"
+ if cqueues.returncode() != 0
+ error('missing luajit package: cqueues')
+ endif
+ basexx = run_command('luajit', '-l', 'basexx', '-e', 'os.exit(0)') # luajit -l $(1) -e "os.exit(0)"
+ if basexx.returncode() != 0
+ error('missing luajit package: basexx')
+ endif
+ ffi = run_command('luajit', '-l', 'ffi', '-e', 'os.exit(0)') # luajit -l $(1) -e "os.exit(0)"
+ if ffi.returncode() != 0
+ error('missing luajit package: ffi')
+ endif
+ message('---------------------------------')
+
+ subdir('config')
+endif
+
+## extra tests
+if build_extra_tests
+ message('--- extra_tests dependencies ---')
+ python3 = find_program('python3')
+ py3_deps = []
+
+ subdir('pytests')
+ subdir('integration')
+ if build_dnstap
+ subdir('dnstap')
+ endif
+
+ foreach py3_dep : py3_deps
+ py3_import = run_command(python3, '-c', 'import @0@'.format(py3_dep[0]))
+ if py3_import.returncode() != 0
+ error('missing python3 dependency: @0@'.format(py3_dep[1]))
+ endif
+ endforeach
+ message('--------------------------------')
+endif