mirror of
https://git.proxmox.com/git/systemd
synced 2026-01-08 13:11:51 +00:00
62 lines
2.3 KiB
Bash
Executable File
62 lines
2.3 KiB
Bash
Executable File
#!/bin/sh
|
|
# run upstream system integration tests
|
|
# Author: Martin Pitt <martin.pitt@ubuntu.com>
|
|
set -e
|
|
|
|
DPKGARCH=$(dpkg --print-architecture)
|
|
|
|
# quiesce Makefile.guess; not really relevant as systemd/nspawn run from
|
|
# installed packages
|
|
export BUILD_DIR=.
|
|
|
|
# modify the image build scripts to install systemd from the debs instead of
|
|
# from a "make/ninja install" as we don't have a built tree here. Also call
|
|
# systemd-nspawn from the system.
|
|
sed -i '/DESTDIR.* install/ s%^.*$% for p in `grep ^Package: '`pwd`'/debian/control | cut -f2 -d\\ |grep -Ev -- "-(udeb|dev)"`; do (cd /tmp; apt-get download $p \&\& dpkg-deb --fsys-tarfile ${p}[._]*deb | tar -C $initdir --dereference -x); done%; s_[^" ]*/systemd-nspawn_systemd-nspawn_g; s/\(_ninja_bin=\).*/\1dummy-ninja/' test/test-functions
|
|
|
|
# adjust path
|
|
sed -i 's_/usr/libexec/selinux/hll/pp_/usr/lib/selinux/hll/pp_' test/TEST-06-SELINUX/test.sh
|
|
|
|
FAILED=""
|
|
|
|
# Because this test is used both by upstream and by Debian, we use different blacklist filenames.
|
|
# For more details see https://salsa.debian.org/systemd-team/systemd/merge_requests/52
|
|
if [ -n "$TEST_UPSTREAM" ]; then
|
|
BLACKLIST="blacklist-ubuntu-ci"
|
|
else
|
|
BLACKLIST="blacklist-upstream-ci"
|
|
fi
|
|
|
|
for t in test/TEST*; do
|
|
testname=$(basename $t)
|
|
if [ -f "$t/$BLACKLIST" ]; then
|
|
echo "========== BLACKLISTED: $testname =========="
|
|
continue
|
|
elif [ -f "$t/$BLACKLIST-$DPKGARCH" ]; then
|
|
echo "========== BLACKLISTED (for arch $DPKGARCH): $testname =========="
|
|
continue
|
|
fi
|
|
echo "========== START: $testname =========="
|
|
rm -rf /var/tmp/systemd-test.*
|
|
if ! make -C $t clean setup run; then
|
|
for j in /var/tmp/systemd-test.*/journal/* /var/tmp/systemd-test.*/system.journal; do
|
|
[ -e "$j" ] || continue
|
|
# keep the entire journal in artifacts, in case one needs the debug messages
|
|
cp -r "$j" "$AUTOPKGTEST_ARTIFACTS/${testname}-$(basename $j)"
|
|
echo "---- $j ----"
|
|
[ -d "$j" ] && journalctl --priority=warning --directory=$j
|
|
[ -f "$j" ] && journalctl --priority=warning --file=$j
|
|
done
|
|
FAILED="$FAILED $testname"
|
|
fi
|
|
echo
|
|
# always cleanup each test run
|
|
make -C $t clean-again
|
|
echo "========== END: $testname =========="
|
|
done
|
|
|
|
if [ -n "$FAILED" ]; then
|
|
echo FAILED TESTS: "$FAILED"
|
|
exit 1
|
|
fi
|