nixpkgs/pkgs/development/libraries/graphene/0001-meson-add-options-for-tests-installation-dirs.patch
Matthias Devlamynck a1c5f4e220 graphene: fix nixos test
The file introspection.py was missing in the installed-tests files and
it requires python3 to run.
2021-06-06 21:48:48 +02:00

98 lines
3.4 KiB
Diff

From 57bed86429db9d871f1442c94f14e94e38972ca3 Mon Sep 17 00:00:00 2001
From: worldofpeace <worldofpeace@protonmail.ch>
Date: Thu, 16 May 2019 21:15:15 -0400
Subject: [PATCH] meson: add options for tests installation dirs
---
meson_options.txt | 6 ++++++
tests/meson.build | 23 ++++++++++++++++-------
2 files changed, 22 insertions(+), 7 deletions(-)
diff --git a/meson_options.txt b/meson_options.txt
index b9a2fb5..4b8629f 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -23,3 +23,9 @@ option('tests', type: 'boolean',
option('installed_tests', type: 'boolean',
value: true,
description: 'Install tests')
+option('installed_test_datadir', type: 'string',
+ value: '',
+ description: 'Installation directory for data files in tests')
+option('installed_test_bindir', type: 'string',
+ value: '',
+ description: 'Installation directory for binary files in tests')
diff --git a/tests/meson.build b/tests/meson.build
index 77281f5..7522456 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -21,8 +21,17 @@ unit_tests = [
gen_installed_test = find_program('gen-installed-test.py')
-installed_test_datadir = join_paths(get_option('prefix'), get_option('datadir'), 'installed-tests', graphene_api_path)
-installed_test_bindir = join_paths(get_option('prefix'), get_option('libexecdir'), 'installed-tests', graphene_api_path)
+test_suffix = join_paths('installed-tests', graphene_api_path)
+
+test_datadir = join_paths(get_option('installed_test_datadir'), test_suffix)
+if test_datadir == ''
+ test_datadir = join_paths(get_option('prefix'), get_option('datadir'), test_suffix)
+endif
+
+test_bindir = join_paths(get_option('installed_test_bindir'), test_suffix)
+if test_bindir == ''
+ test_bindir = join_paths(get_option('prefix'), get_option('libexecdir'), test_suffix)
+endif
# Make tests conditional on having mutest-1 installed system-wide, or
# available as a subproject
@@ -40,13 +49,13 @@ if mutest_dep.found()
output: wrapper,
command: [
gen_installed_test,
- '--testdir=@0@'.format(installed_test_bindir),
+ '--testdir=@0@'.format(test_bindir),
'--testname=@0@'.format(unit),
'--outdir=@OUTDIR@',
'--outfile=@0@'.format(wrapper),
],
install: get_option('installed_tests'),
- install_dir: installed_test_datadir,
+ install_dir: test_datadir,
)
test(unit,
@@ -55,7 +64,7 @@ if mutest_dep.found()
include_directories: graphene_inc,
c_args: common_cflags,
install: get_option('installed_tests'),
- install_dir: installed_test_bindir,
+ install_dir: test_bindir,
),
env: ['MUTEST_OUTPUT=tap'],
protocol: 'tap',
@@ -66,17 +75,18 @@ endif
if build_gir and host_system == 'linux' and not meson.is_cross_build()
foreach unit: ['introspection.py']
wrapper = '@0@.test'.format(unit)
+ install_data(unit, install_dir: test_bindir)
custom_target(wrapper,
output: wrapper,
command: [
gen_installed_test,
- '--testdir=@0@'.format(installed_test_bindir),
+ '--testdir=@0@'.format(test_bindir),
'--testname=@0@'.format(unit),
'--outdir=@OUTDIR@',
'--outfile=@0@'.format(wrapper),
],
install: get_option('installed_tests'),
- install_dir: installed_test_datadir,
+ install_dir: test_datadir,
)
test(unit,
--
2.31.1