File 0001-TEST-10-ISSUE-2467-adapt-for-SUSE-openQA.patch of Package systemd-v245-testsuite
From c904e6ef838c847fa62bc4b96ba1fb453ac9b046 Mon Sep 17 00:00:00 2001
From: Elisei Roca <eroca@suse.de>
Date: Thu, 3 Sep 2020 18:33:40 +0200
Subject: [PATCH] TEST-10-ISSUE-2467: adapt for SUSE openQA
---
test/TEST-10-ISSUE-2467/test.sh | 39 ++++++++++++++++++++++++++++++---
1 file changed, 36 insertions(+), 3 deletions(-)
diff --git a/test/TEST-10-ISSUE-2467/test.sh b/test/TEST-10-ISSUE-2467/test.sh
index 1761ad1e43..95a8523858 100755
--- a/test/TEST-10-ISSUE-2467/test.sh
+++ b/test/TEST-10-ISSUE-2467/test.sh
@@ -2,18 +2,19 @@
set -e
TEST_DESCRIPTION="https://github.com/systemd/systemd/issues/2467"
+export TEST_BASE_DIR=/var/opt/systemd-tests/test
. $TEST_BASE_DIR/test-functions
test_setup() {
- create_empty_image_rootdir
+ mkdir -p $TESTDIR/root
+ initdir=$TESTDIR/root
+ STRIP_BINARIES=no
# Create what will eventually be our root filesystem onto an overlay
(
LOG_LEVEL=5
- eval $(udevadm info --export --query=env --name=${LOOPDEV}p2)
setup_basic_environment
- mask_supporting_services
dracut_install true rm socat
# setup the testsuite service
@@ -23,7 +24,11 @@ Description=Testsuite service
[Service]
Type=oneshot
+StandardOutput=kmsg
+StandardError=kmsg
ExecStart=/bin/sh -e -x -c 'rm -f /tmp/nonexistent; systemctl start test.socket; printf x > test.file; socat -t20 OPEN:test.file UNIX-CONNECT:/run/test.ctl; >/testok'
+ExecStartPost=/bin/sh -x -c 'systemctl status test.socket > /failed; echo SUSEtest OK > /testok'
+TimeoutStartSec=10s
EOF
cat >$initdir/etc/systemd/system/test.socket <<'EOF'
@@ -43,6 +48,34 @@ EOF
setup_testsuite
)
setup_nspawn_root
+
+ # copy the units used by this test
+ for unit in test.service test.socket testsuite.service; do
+ cp $initdir/etc/systemd/system/$unit /etc/systemd/system/
+ done
+
+ mask_supporting_services_nspawn
+ mask_supporting_services
+}
+
+test_run() {
+ systemctl daemon-reload
+ systemctl start testsuite.service || return 1
+ ret=1
+ test -s /failed && ret=$(($ret+1))
+ [[ -e /testok ]] && ret=0
+ return $ret
+}
+
+test_cleanup() {
+ _test_cleanup
+ for unit in test.service test.socket testsuite.service; do
+ rm -f /etc/systemd/system/$unit
+ done
+ for file in $(ls /testok* /failed* /test.file 2>/dev/null); do
+ rm -f $file
+ done
+ return 0
}
do_test "$@"
--
2.28.0