mirror of
https://github.com/systemd/systemd.git
synced 2024-12-22 17:35:35 +03:00
Merge pull request #26870 from fbuihuu/move-unit-tests-in-a-dedicated-subdir
Move unit tests in a dedicated subdir
This commit is contained in:
commit
8e1a129136
14
meson.build
14
meson.build
@ -201,6 +201,8 @@ kernelinstalldir = kerneldir / 'install.d'
|
||||
factorydir = datadir / 'factory'
|
||||
bootlibdir = prefixdir / 'lib/systemd/boot/efi'
|
||||
testsdir = prefixdir / 'lib/systemd/tests'
|
||||
unittestsdir = testsdir / 'unit-tests'
|
||||
testdata_dir = testsdir / 'testdata'
|
||||
systemdstatedir = localstatedir / 'lib/systemd'
|
||||
catalogstatedir = systemdstatedir / 'catalog'
|
||||
randomseeddir = localstatedir / 'lib/systemd'
|
||||
@ -274,7 +276,7 @@ conf.set_quoted('SYSTEMD_LANGUAGE_FALLBACK_MAP', pkgdatadir / 'lang
|
||||
conf.set_quoted('SYSTEMD_MAKEFS_PATH', rootlibexecdir / 'systemd-makefs')
|
||||
conf.set_quoted('SYSTEMD_PULL_PATH', rootlibexecdir / 'systemd-pull')
|
||||
conf.set_quoted('SYSTEMD_SHUTDOWN_BINARY_PATH', rootlibexecdir / 'systemd-shutdown')
|
||||
conf.set_quoted('SYSTEMD_TEST_DATA', testsdir / 'testdata')
|
||||
conf.set_quoted('SYSTEMD_TEST_DATA', testdata_dir)
|
||||
conf.set_quoted('SYSTEMD_TTY_ASK_PASSWORD_AGENT_BINARY_PATH', rootbindir / 'systemd-tty-ask-password-agent')
|
||||
conf.set_quoted('SYSTEMD_UPDATE_HELPER_PATH', rootlibexecdir / 'systemd-update-helper')
|
||||
conf.set_quoted('SYSTEMD_USERWORK_PATH', rootlibexecdir / 'systemd-userwork')
|
||||
@ -4320,7 +4322,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'
|
||||
@ -4344,7 +4346,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
|
||||
@ -4362,7 +4364,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
|
||||
@ -4376,7 +4378,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
|
||||
@ -4390,7 +4392,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
|
||||
|
@ -20,6 +20,13 @@ $KERNEL_APPEND
|
||||
# shellcheck source=test/test-functions
|
||||
. "${TEST_BASE_DIR:?}/test-functions"
|
||||
|
||||
test_append_files() {
|
||||
if get_bool "$LOOKS_LIKE_SUSE"; then
|
||||
dinfo "Install the unit test binaries needed by the TEST-02-UNITTESTS at runtime"
|
||||
inst_recursive "${SOURCE_DIR}/unit-tests"
|
||||
fi
|
||||
}
|
||||
|
||||
check_result_nspawn() {
|
||||
check_result_nspawn_unittests "${1}"
|
||||
}
|
||||
|
@ -1,8 +1,6 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
|
||||
if install_tests
|
||||
testdata_dir = testsdir + '/testdata/'
|
||||
|
||||
foreach subdir : [
|
||||
'auxv',
|
||||
'journal-data',
|
||||
@ -59,6 +57,12 @@ if install_tests
|
||||
install_data('create-busybox-container',
|
||||
install_mode : 'rwxr-xr-x',
|
||||
install_dir : testdata_dir)
|
||||
|
||||
# The unit tests implemented as shell scripts expect to find testdata/
|
||||
# in the directory where they are stored.
|
||||
meson.add_install_script(meson_make_symlink,
|
||||
testdata_dir,
|
||||
unittestsdir / 'testdata')
|
||||
endif
|
||||
|
||||
test_bootctl_json_sh = find_program('test-bootctl-json.sh')
|
||||
@ -76,7 +80,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 +91,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 +113,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
|
||||
|
||||
############################################################
|
||||
|
@ -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:
|
||||
|
@ -1144,7 +1144,7 @@ install_debian_systemd() {
|
||||
ddebug "Install debian files from package $deb"
|
||||
for file in $files; do
|
||||
[ -e "$file" ] || continue
|
||||
[ -d "$file" ] && continue
|
||||
[ ! -L "$file" ] && [ -d "$file" ] && continue
|
||||
inst "$file"
|
||||
done
|
||||
done < <(grep -E '^Package:' "${SOURCE_DIR}/debian/control" | cut -d ':' -f 2)
|
||||
@ -1174,23 +1174,13 @@ install_suse_systemd() {
|
||||
ddebug "Install files from package $p"
|
||||
while read -r f; do
|
||||
[ -e "$f" ] || continue
|
||||
[ -d "$f" ] && continue
|
||||
[ ! -L "$file" ] && [ -d "$file" ] && continue
|
||||
inst "$f"
|
||||
done < <(rpm -ql "$p")
|
||||
done
|
||||
|
||||
# Embed the files needed by the extended testsuite at runtime. Also include
|
||||
# the unit tests needed by TEST-02-UNITTESTS. This is mostly equivalent to
|
||||
# what `ninja install` does for the tests when '-Dinstall-tests=true'.
|
||||
#
|
||||
# Why? openSUSE ships a package named 'systemd-testsuite' which contains
|
||||
# the minimal set of files that allows to run the testsuite on the host (as
|
||||
# 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-*
|
||||
dinfo "Install the data needed by the tests at runtime"
|
||||
inst_recursive "${SOURCE_DIR}/testdata"
|
||||
inst_recursive "${SOURCE_DIR}/manual"
|
||||
|
||||
# On openSUSE, this directory is not created at package install, at least
|
||||
# for now.
|
||||
@ -1272,7 +1262,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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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() {
|
||||
|
Loading…
Reference in New Issue
Block a user