summaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorFilipe Manana <fdmanana@suse.com>2021-05-12 16:28:00 +0100
committerEryu Guan <guaneryu@gmail.com>2021-05-16 22:43:41 +0800
commitc4fa3c07679790ecafdb3cd0d6d05122ac52a090 (patch)
tree519a1102d69f3efb80596237039aceaf068a0039 /common
parentfcd74c405bb67b66094c9ca860922d1681564724 (diff)
btrfs/187: fix test failure when using bash 5.0+ with debug enabled
When running btrfs/187 with a bash 5.0+ build that has debug enabled, the test fails due to an unexpected warning message from bash: $ ./check btrfs/187 FSTYP -- btrfs PLATFORM -- Linux/x86_64 debian9 5.12.0-rc8-btrfs-next-92 #1 SMP PREEMPT Wed Apr 21 10:36:03 WEST 2021 MKFS_OPTIONS -- /dev/sdc MOUNT_OPTIONS -- /dev/sdc /home/fdmanana/btrfs-tests/scratch_1 btrfs/187 436s ... - output mismatch (see /xfstests/results//btrfs/187.out.bad) --- tests/btrfs/187.out 2020-10-16 23:13:46.550152492 +0100 +++ /xfstests/results//btrfs/187.out.bad 2021-04-27 14:57:02.623941700 +0100 @@ -1,3 +1,4 @@ QA output created by 187 Create a readonly snapshot of 'SCRATCH_MNT' in 'SCRATCH_MNT/snap1' Create a readonly snapshot of 'SCRATCH_MNT' in 'SCRATCH_MNT/snap2' +/xfstests/tests/btrfs/187: line 1: warning: wait_for: recursively setting old_sigint_handler to wait_sigint_handler: running_trap = 16 ... (Run 'diff -u /xfstests/tests/btrfs/187.out /xfstests/results//btrfs/187.out.bad' to see the entire diff) Ran: btrfs/187 Failures: btrfs/187 Failed 1 of 1 tests This is because the process running dedupe_files_loop() executes the 'wait' command in the trap it has setup and very often it receives the SIGTERM signal while it is running the 'wait' command in the while loop of that function - so executing the trap makes bash run 'wait' while it is already running 'wait', triggering the warning message from bash. That warning message was added in bash 5.0 by commit 36f89ff1d8b761 ("SIGINT trap handler SIGINT loop fix"): https://git.savannah.gnu.org/cgit/bash.git/commit/?id=36f89ff1d8b761c815d8993e9833e6357a57fc6b So fix this by making the trap set a local variable named 'stop' to the value 1 and have the loop exit when the local variable 'stop' is 1. Signed-off-by: Filipe Manana <fdmanana@suse.com> Reviewed-by: Boris Burkov <boris@bur.io> Signed-off-by: Eryu Guan <guaneryu@gmail.com>
Diffstat (limited to 'common')
0 files changed, 0 insertions, 0 deletions