From: Frantisek Sumsal Date: Wed, 1 Feb 2023 12:54:21 +0000 (+0100) Subject: test: disable pipefail when testing interactive firstboot X-Git-Tag: v254-rc1~1226^2~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=27c814666fa25210c3f6c603c8da836189272eb0;p=thirdparty%2Fsystemd.git test: disable pipefail when testing interactive firstboot Otherwise we might get unexpected test fails due to SIGPIPE: ``` [ 14.334917] testsuite-74.sh[565]: + grep -q '^root:.*:0:0:.*:/bin/fooshell$' test-root/etc/passwd [ 14.335670] testsuite-74.sh[681]: + systemd-firstboot --root=test-root --prompt-root-shell [ 14.336382] testsuite-74.sh[680]: + echo -ne '\n/bin/barshell\n' [ 14.336980] testsuite-74.sh[680]: .//usr/lib/systemd/tests/testdata/units/testsuite-74.firstboot.sh: line 166: echo: write error: Broken pipe ``` --- diff --git a/test/units/testsuite-74.firstboot.sh b/test/units/testsuite-74.firstboot.sh index c3be8f1cf6c..92a607501b7 100755 --- a/test/units/testsuite-74.firstboot.sh +++ b/test/units/testsuite-74.firstboot.sh @@ -143,6 +143,8 @@ diff <(awk -F: '/^root/ { print $2; }' /etc/shadow) <(awk -F: '/^root/ { print $ rm -fr "$ROOT" mkdir -p "$ROOT/bin" touch "$ROOT/bin/fooshell" "$ROOT/bin/barshell" +# Temporarily disable pipefail to avoid `echo: write error: Broken pipe +set +o pipefail # We can do only limited testing here, since it's all an interactive stuff, # so --prompt and --prompt-root-password are skipped on purpose echo -ne "\nfoo\nbar\n" | systemd-firstboot --root="$ROOT" --prompt-locale @@ -168,6 +170,8 @@ grep -q "^root:.*:0:0:.*:/bin/fooshell$" "$ROOT/etc/passwd" # Now without the welcome screen but with force echo -ne "/bin/barshell\n" | systemd-firstboot --root="$ROOT" --force --prompt-root-shell --welcome=no grep -q "^root:.*:0:0:.*:/bin/barshell$" "$ROOT/etc/passwd" +# Re-enable pipefail +set -o pipefail # Assorted tests rm -fr "$ROOT"