about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/graphene/0001-meson-add-options-for-tests-installation-dirs.patch
blob: 9111217ea08edfda9a666d0d11cc8cd0fc7528ca (plain) (blame)
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
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