From 26c2b30277f5a4c7656b732d2093000ffa895297 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 26 Jan 2023 16:07:17 +0100 Subject: [PATCH] test: install unit tests in a dedicated subdirectory below '$testsdir' /usr/lib/systemd/tests may contain more than the unit tests. For example on SUSE we also install the integration tests there. Putting the unit tests in a dedicated directory named 'unit-tests' makes the layout cleaner. Note that `run-unit-tests.py` has not been moved so we don't need to adjust (Fedora) packaging and users also don't need to descend into the subdirectory. --- meson.build | 11 ++++++----- test/meson.build | 8 ++++---- test/run-unit-tests.py | 2 +- test/test-functions | 5 ++--- test/units/testsuite-02.sh | 2 +- test/units/testsuite-35.sh | 2 +- 6 files changed, 15 insertions(+), 15 deletions(-) diff --git a/meson.build b/meson.build index 6770deed4ff..100bf54506d 100644 --- a/meson.build +++ b/meson.build @@ -201,6 +201,7 @@ kernelinstalldir = kerneldir / 'install.d' factorydir = datadir / 'factory' bootlibdir = prefixdir / 'lib/systemd/boot/efi' testsdir = prefixdir / 'lib/systemd/tests' +unittestsdir = testsdir / 'unit-tests' systemdstatedir = localstatedir / 'lib/systemd' catalogstatedir = systemdstatedir / 'catalog' randomseeddir = localstatedir / 'lib/systemd' @@ -4330,7 +4331,7 @@ foreach test : tests build_by_default : want_tests != 'false', install_rpath : rootpkglibdir, install : install_tests, - install_dir : testsdir / type, + install_dir : unittestsdir / type, link_depends : runtest_env) if type == 'manual' @@ -4354,7 +4355,7 @@ exe = executable( dependencies : userspace, build_by_default : want_tests != 'false', install : install_tests, - install_dir : testsdir) + install_dir : unittestsdir) if want_tests != 'false' test('test-libsystemd-sym', exe) endif @@ -4372,7 +4373,7 @@ exe = executable( ], build_by_default : want_tests != 'false' and static_libsystemd_pic, install : install_tests and static_libsystemd_pic, - install_dir : testsdir) + install_dir : unittestsdir) if want_tests != 'false' and static_libsystemd_pic test('test-libsystemd-static-sym', exe) endif @@ -4386,7 +4387,7 @@ exe = executable( dependencies : userspace, build_by_default : want_tests != 'false', install : install_tests, - install_dir : testsdir) + install_dir : unittestsdir) if want_tests != 'false' test('test-libudev-sym', exe) endif @@ -4400,7 +4401,7 @@ exe = executable( dependencies : userspace, build_by_default : want_tests != 'false' and static_libudev_pic, install : install_tests and static_libudev_pic, - install_dir : testsdir) + install_dir : unittestsdir) if want_tests != 'false' and static_libudev_pic test('test-libudev-static-sym', exe) endif diff --git a/test/meson.build b/test/meson.build index 1721cffcd55..4bd7376c62d 100644 --- a/test/meson.build +++ b/test/meson.build @@ -76,7 +76,7 @@ test_sysusers_sh = configure_file( configuration : conf) if install_tests and conf.get('ENABLE_SYSUSERS') == 1 install_data(test_sysusers_sh, - install_dir : testsdir) + install_dir : unittestsdir) install_subdir('test-sysusers', exclude_files : '.gitattributes', install_dir : testdata_dir) @@ -87,7 +87,7 @@ endif test_compare_versions_sh = files('test-compare-versions.sh') if install_tests install_data(test_compare_versions_sh, - install_dir : testsdir) + install_dir : unittestsdir) endif ############################################################ @@ -109,11 +109,11 @@ if install_tests install_data('test-fstab-generator.sh', install_mode : 'rwxr-xr-x', - install_dir : testsdir) + install_dir : unittestsdir) install_data('test-network-generator-conversion.sh', install_mode : 'rwxr-xr-x', - install_dir : testsdir) + install_dir : unittestsdir) endif ############################################################ diff --git a/test/run-unit-tests.py b/test/run-unit-tests.py index 4b180cc8df0..2d6709b703c 100755 --- a/test/run-unit-tests.py +++ b/test/run-unit-tests.py @@ -32,7 +32,7 @@ def argument_parser(): opts = argument_parser().parse_args() -unittestdir = pathlib.Path(__file__).parent.absolute() +unittestdir = pathlib.Path(__file__).parent.absolute() / 'unit-tests' tests = list(unittestdir.glob('test-*')) if opts.unsafe: diff --git a/test/test-functions b/test/test-functions index 820cb93e954..472ede1ba0a 100644 --- a/test/test-functions +++ b/test/test-functions @@ -1188,9 +1188,8 @@ install_suse_systemd() { # long as it runs an equivalent version of systemd) getting rid of the # hassles of fetching, configuring, building the source code. dinfo "Install the files needed by the tests at runtime" - image_install "${SOURCE_DIR}"/test-* inst_recursive "${SOURCE_DIR}/testdata" - inst_recursive "${SOURCE_DIR}/manual" + inst_recursive "${SOURCE_DIR}/unit-tests" # On openSUSE, this directory is not created at package install, at least # for now. @@ -1272,7 +1271,7 @@ get_ldpath() { install_missing_libraries() { dinfo "Install missing libraries" # install possible missing libraries - for i in "${initdir:?}"{,/usr}/{sbin,bin}/* "$initdir"{,/usr}/lib/systemd/{,tests/{,manual/,unsafe/}}*; do + for i in "${initdir:?}"{,/usr}/{sbin,bin}/* "$initdir"{,/usr}/lib/systemd/{,tests/unit-tests/{,manual/,unsafe/}}*; do LD_LIBRARY_PATH="${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}$(get_ldpath "$i")" inst_libs "$i" done diff --git a/test/units/testsuite-02.sh b/test/units/testsuite-02.sh index 8ebcc575ee7..61f6d063970 100755 --- a/test/units/testsuite-02.sh +++ b/test/units/testsuite-02.sh @@ -6,7 +6,7 @@ set -o pipefail NPROC=$(nproc) MAX_QUEUE_SIZE=${NPROC:-2} TESTS_GLOB=${TESTS_GLOB:-test-*} -mapfile -t TEST_LIST < <(find /usr/lib/systemd/tests/ -maxdepth 1 -type f -name "${TESTS_GLOB}") +mapfile -t TEST_LIST < <(find /usr/lib/systemd/tests/unit-tests/ -maxdepth 1 -type f -name "${TESTS_GLOB}") # reset state rm -fv /failed-tests /skipped-tests /skipped diff --git a/test/units/testsuite-35.sh b/test/units/testsuite-35.sh index 02f22cf2a23..8dcd7563bb4 100755 --- a/test/units/testsuite-35.sh +++ b/test/units/testsuite-35.sh @@ -517,7 +517,7 @@ test_session_properties() { create_session s=$(loginctl list-sessions --no-legend | awk '$3 == "logind-test-user" { print $1 }') - /usr/lib/systemd/tests/manual/test-session-properties "/org/freedesktop/login1/session/_3${s?}" + /usr/lib/systemd/tests/unit-tests/manual/test-session-properties "/org/freedesktop/login1/session/_3${s?}" } test_list_users() {