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

openSUSE Build Service is sponsored by