diff options
author | Robert Hensing <robert@roberthensing.nl> | 2022-12-02 16:11:59 +0000 |
---|---|---|
committer | Robert Hensing <robert@roberthensing.nl> | 2022-12-02 16:12:50 +0000 |
commit | dbdd8fad26f4111a3bc6bbc2f7d32f43cb77ae57 (patch) | |
tree | 51d4d5229d760b9dc845f734d23e3f4e8bfdb000 /pkgs/build-support/testers | |
parent | 6be5bb3172bf4e76efa7a3bc932b34f44240d2dd (diff) |
testers.testBuildFailure: Read last log line without final newline
Diffstat (limited to 'pkgs/build-support/testers')
-rw-r--r-- | pkgs/build-support/testers/expect-failure.sh | 2 | ||||
-rw-r--r-- | pkgs/build-support/testers/test/default.nix | 11 |
2 files changed, 11 insertions, 2 deletions
diff --git a/pkgs/build-support/testers/expect-failure.sh b/pkgs/build-support/testers/expect-failure.sh index 23e8698cf4792..0e1bbe9a678c0 100644 --- a/pkgs/build-support/testers/expect-failure.sh +++ b/pkgs/build-support/testers/expect-failure.sh @@ -21,7 +21,7 @@ set -eu echo "testBuildFailure: Expecting non-zero exit from builder and args: ${*@Q}" ("$@" 2>&1) | @coreutils@/bin/tee $TMPDIR/testBuildFailure.log \ - | while read ln; do + | while IFS= read -r ln; do echo "original builder: $ln" done diff --git a/pkgs/build-support/testers/test/default.nix b/pkgs/build-support/testers/test/default.nix index d6dfbe34fd218..26e622c8763fb 100644 --- a/pkgs/build-support/testers/test/default.nix +++ b/pkgs/build-support/testers/test/default.nix @@ -29,15 +29,24 @@ lib.recurseIntoAttrs { happy = runCommand "testBuildFailure-happy" { failed = testers.testBuildFailure (runCommand "fail" {} '' echo ok-ish >$out + echo failing though echo also stderr 1>&2 + echo 'line\nwith-\bbackslashes' + printf "incomplete line - no newline" + exit 3 ''); } '' + grep -F 'ok-ish' $failed/result + grep -F 'failing though' $failed/testBuildFailure.log grep -F 'also stderr' $failed/testBuildFailure.log - grep -F 'ok-ish' $failed/result + grep -F 'line\nwith-\bbackslashes' $failed/testBuildFailure.log + grep -F 'incomplete line - no newline' $failed/testBuildFailure.log + [[ 3 = $(cat $failed/testBuildFailure.exit) ]] + touch $out ''; |