Skip to content

Commit

Permalink
tests: also run TEST-01-BASIC in an unprivileged container (#9957)
Browse files Browse the repository at this point in the history
This should make it much easier to catch regressions like
systemd/systemd#9914 and
systemd/systemd#8535.

(cherry picked from commit 746fbd9)
(cherry picked from commit 91bd0b9)
  • Loading branch information
evverx authored and mrc0mmand committed Feb 10, 2020
1 parent b09486b commit f2737fa
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 6 deletions.
1 change: 1 addition & 0 deletions test/TEST-01-BASIC/test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
# ex: ts=8 sw=4 sts=4 et filetype=sh
set -e
TEST_DESCRIPTION="Basic systemd setup"
RUN_IN_UNPRIVILEGED_CONTAINER=yes

. $TEST_BASE_DIR/test-functions

Expand Down
23 changes: 17 additions & 6 deletions test/test-functions
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,7 @@ $KERNEL_APPEND \
run_nspawn() {
[[ -d /run/systemd/system ]] || return 1

local _nspawn_cmd="$BUILD_DIR/systemd-nspawn $NSPAWN_ARGUMENTS --register=no --kill-signal=SIGKILL --directory=$TESTDIR/nspawn-root $PATH_TO_INIT $KERNEL_APPEND"
local _nspawn_cmd="$BUILD_DIR/systemd-nspawn $NSPAWN_ARGUMENTS --register=no --kill-signal=SIGKILL --directory=$TESTDIR/$1 $PATH_TO_INIT $KERNEL_APPEND"
if [[ "$NSPAWN_TIMEOUT" != "infinity" ]]; then
_nspawn_cmd="timeout --foreground $NSPAWN_TIMEOUT $_nspawn_cmd"
fi
Expand Down Expand Up @@ -450,9 +450,9 @@ EOF

check_result_nspawn() {
ret=1
[[ -e $TESTDIR/nspawn-root/testok ]] && ret=0
[[ -f $TESTDIR/nspawn-root/failed ]] && cp -a $TESTDIR/nspawn-root/failed $TESTDIR
cp -a $TESTDIR/nspawn-root/var/log/journal $TESTDIR
[[ -e $TESTDIR/$1/testok ]] && ret=0
[[ -f $TESTDIR/$1/failed ]] && cp -a $TESTDIR/$1/failed $TESTDIR
cp -a $TESTDIR/$1/var/log/journal $TESTDIR
[[ -f $TESTDIR/failed ]] && cat $TESTDIR/failed
ls -l $TESTDIR/journal/*/*.journal
test -s $TESTDIR/failed && ret=$(($ret+1))
Expand Down Expand Up @@ -662,6 +662,9 @@ setup_nspawn_root() {
cp -ar $initdir $TESTDIR/nspawn-root
# we don't mount in the nspawn root
rm -f $TESTDIR/nspawn-root/etc/fstab
if [[ "$RUN_IN_UNPRIVILEGED_CONTAINER" = "yes" ]]; then
cp -ar $TESTDIR/nspawn-root $TESTDIR/unprivileged-nspawn-root
fi
}

setup_basic_dirs() {
Expand Down Expand Up @@ -1478,11 +1481,19 @@ test_run() {
fi
fi
if [ -z "$TEST_NO_NSPAWN" ]; then
if run_nspawn; then
check_result_nspawn || return 1
if run_nspawn "nspawn-root"; then
check_result_nspawn "nspawn-root" || return 1
else
dwarn "can't run systemd-nspawn, skipping"
fi

if [[ "$RUN_IN_UNPRIVILEGED_CONTAINER" = "yes" ]]; then
if NSPAWN_ARGUMENTS="-U --private-network $NSPAWN_ARGUMENTS" run_nspawn "unprivileged-nspawn-root"; then
check_result_nspawn "unprivileged-nspawn-root" || return 1
else
dwarn "can't run systemd-nspawn, skipping"
fi
fi
fi
return 0
}
Expand Down

0 comments on commit f2737fa

Please sign in to comment.