|
@@ -1,150 +0,0 @@
|
|
|
-From ebeb780df4ca5a8e5a43da1b38492964d8817455 Mon Sep 17 00:00:00 2001
|
|
|
-From: Adam Duskett <Adamduskett@outlook.com>
|
|
|
-Date: Mon, 1 Jan 2018 08:01:01 -0500
|
|
|
-Subject: [PATCH] add false option for tests
|
|
|
-
|
|
|
-Currently there is no way to not build tests. This introduces two problems:
|
|
|
-
|
|
|
-1) It adds a extra 381 files to compile.
|
|
|
-2) One of these tests explicitly requires libgcrypt to be built even if systemd
|
|
|
- is not using it.
|
|
|
-
|
|
|
-This patch adds the option "false" to tests, adds a check around the
|
|
|
-foreach loop that compiles the tests to see if tests is set to false,
|
|
|
-and adds a check around finding g++ as it's only used for tests and
|
|
|
-is not needed.
|
|
|
-
|
|
|
-Signed-off-by: Adam Duskett <Adamduskett@outlook.com>
|
|
|
----
|
|
|
- meson.build | 91 +++++++++++++++++++++++++++++--------------------------
|
|
|
- meson_options.txt | 2 +-
|
|
|
- 2 files changed, 49 insertions(+), 44 deletions(-)
|
|
|
-
|
|
|
-diff --git a/meson.build b/meson.build
|
|
|
-index ddc061c..4dcdd41 100644
|
|
|
---- a/meson.build
|
|
|
-+++ b/meson.build
|
|
|
-@@ -260,10 +260,12 @@ cc = meson.get_compiler('c')
|
|
|
- pkgconfig = import('pkgconfig')
|
|
|
- check_compilation_sh = find_program('tools/meson-check-compilation.sh')
|
|
|
-
|
|
|
--cxx = find_program('c++', required : false)
|
|
|
--if cxx.found()
|
|
|
-- # Used only for tests
|
|
|
-- add_languages('cpp')
|
|
|
-+if get_option('tests') != 'false'
|
|
|
-+ cxx = find_program('c++', required : false)
|
|
|
-+ if cxx.found()
|
|
|
-+ # Used only for tests
|
|
|
-+ add_languages('cpp')
|
|
|
-+ endif
|
|
|
- endif
|
|
|
-
|
|
|
- foreach arg : ['-Wextra',
|
|
|
-@@ -2388,48 +2390,51 @@ executable('systemd-sulogin-shell',
|
|
|
- install_dir : rootlibexecdir)
|
|
|
-
|
|
|
- ############################################################
|
|
|
-+if want_tests == 'false'
|
|
|
-+ message('Not compiling because tests is set to false')
|
|
|
-+else
|
|
|
-+ foreach tuple : tests
|
|
|
-+ sources = tuple[0]
|
|
|
-+ link_with = tuple[1].length() > 0 ? tuple[1] : [libshared]
|
|
|
-+ dependencies = tuple[2]
|
|
|
-+ condition = tuple.length() >= 4 ? tuple[3] : ''
|
|
|
-+ type = tuple.length() >= 5 ? tuple[4] : ''
|
|
|
-+ defs = tuple.length() >= 6 ? tuple[5] : []
|
|
|
-+ incs = tuple.length() >= 7 ? tuple[6] : includes
|
|
|
-+ timeout = 30
|
|
|
-+
|
|
|
-+ name = sources[0].split('/')[-1].split('.')[0]
|
|
|
-+ if type.startswith('timeout=')
|
|
|
-+ timeout = type.split('=')[1].to_int()
|
|
|
-+ type = ''
|
|
|
-+ endif
|
|
|
-
|
|
|
--foreach tuple : tests
|
|
|
-- sources = tuple[0]
|
|
|
-- link_with = tuple[1].length() > 0 ? tuple[1] : [libshared]
|
|
|
-- dependencies = tuple[2]
|
|
|
-- condition = tuple.length() >= 4 ? tuple[3] : ''
|
|
|
-- type = tuple.length() >= 5 ? tuple[4] : ''
|
|
|
-- defs = tuple.length() >= 6 ? tuple[5] : []
|
|
|
-- incs = tuple.length() >= 7 ? tuple[6] : includes
|
|
|
-- timeout = 30
|
|
|
--
|
|
|
-- name = sources[0].split('/')[-1].split('.')[0]
|
|
|
-- if type.startswith('timeout=')
|
|
|
-- timeout = type.split('=')[1].to_int()
|
|
|
-- type = ''
|
|
|
-- endif
|
|
|
--
|
|
|
-- if condition == '' or conf.get(condition) == 1
|
|
|
-- exe = executable(
|
|
|
-- name,
|
|
|
-- sources,
|
|
|
-- include_directories : incs,
|
|
|
-- link_with : link_with,
|
|
|
-- dependencies : dependencies,
|
|
|
-- c_args : defs,
|
|
|
-- install_rpath : rootlibexecdir,
|
|
|
-- install : install_tests,
|
|
|
-- install_dir : join_paths(testsdir, type))
|
|
|
--
|
|
|
-- if type == 'manual'
|
|
|
-- message('@0@ is a manual test'.format(name))
|
|
|
-- elif type == 'unsafe' and want_tests != 'unsafe'
|
|
|
-- message('@0@ is an unsafe test'.format(name))
|
|
|
-+ if condition == '' or conf.get(condition) == 1
|
|
|
-+ exe = executable(
|
|
|
-+ name,
|
|
|
-+ sources,
|
|
|
-+ include_directories : incs,
|
|
|
-+ link_with : link_with,
|
|
|
-+ dependencies : dependencies,
|
|
|
-+ c_args : defs,
|
|
|
-+ install_rpath : rootlibexecdir,
|
|
|
-+ install : install_tests,
|
|
|
-+ install_dir : join_paths(testsdir, type))
|
|
|
-+
|
|
|
-+ if type == 'manual'
|
|
|
-+ message('@0@ is a manual test'.format(name))
|
|
|
-+ elif type == 'unsafe' and want_tests != 'unsafe'
|
|
|
-+ message('@0@ is an unsafe test'.format(name))
|
|
|
-+ else
|
|
|
-+ test(name, exe,
|
|
|
-+ env : test_env,
|
|
|
-+ timeout : timeout)
|
|
|
-+ endif
|
|
|
- else
|
|
|
-- test(name, exe,
|
|
|
-- env : test_env,
|
|
|
-- timeout : timeout)
|
|
|
-+ message('Not compiling @0@ because @1@ is not true'.format(name, condition))
|
|
|
- endif
|
|
|
-- else
|
|
|
-- message('Not compiling @0@ because @1@ is not true'.format(name, condition))
|
|
|
-- endif
|
|
|
--endforeach
|
|
|
-+ endforeach
|
|
|
-+endif
|
|
|
-
|
|
|
- test_libsystemd_sym = executable(
|
|
|
- 'test-libsystemd-sym',
|
|
|
-diff --git a/meson_options.txt b/meson_options.txt
|
|
|
-index f0c0506..0caba0c 100644
|
|
|
---- a/meson_options.txt
|
|
|
-+++ b/meson_options.txt
|
|
|
-@@ -284,7 +284,7 @@ option('bashcompletiondir', type : 'string',
|
|
|
- option('zshcompletiondir', type : 'string',
|
|
|
- description : 'directory for zsh completion scripts ["no" disables]')
|
|
|
-
|
|
|
--option('tests', type : 'combo', choices : ['true', 'unsafe'],
|
|
|
-+option('tests', type : 'combo', choices : ['true', 'unsafe', 'false'],
|
|
|
- description : 'enable extra tests with =unsafe')
|
|
|
- option('slow-tests', type : 'boolean', value : 'false',
|
|
|
- description : 'run the slow tests by default')
|
|
|
---
|
|
|
-2.14.3
|
|
|
-
|