[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] tests: fix recent false failure due to a race
From: |
Pádraig Brady |
Subject: |
[PATCH] tests: fix recent false failure due to a race |
Date: |
Wed, 20 Apr 2016 17:12:08 +0100 |
* tests/cp/parent-perm-race.sh: This new race introduced in
commit v8.25-5-g632eda5 is quite hard to hit, but is due to
`ls > fifo` doing write()/close()/exit() once `cp` has
open() the source fifo. Then the subsequent comparison of the
destination file may fail due to the file being missing or empty.
Previously `ls` generated output that was independent of `cp`.
Now we must wait for `cp` to finish before inspecting the
destination file that it wrote.
---
tests/cp/parent-perm-race.sh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tests/cp/parent-perm-race.sh b/tests/cp/parent-perm-race.sh
index 0d0841c..8d09329 100755
--- a/tests/cp/parent-perm-race.sh
+++ b/tests/cp/parent-perm-race.sh
@@ -43,6 +43,8 @@ do
# $d/attr and has started to read the source file $attr/fifo.
timeout 10 sh -c "ls -ld d/$attr >$attr/fifo" || fail=1
+ wait $pid || fail=1
+
ls_output=$(cat d/$attr/fifo) || fail=1
case $attr,$ls_output in
ownership,d???--[-S]--[-S]* | \
@@ -52,8 +54,6 @@ do
*)
fail=1;;
esac
-
- wait $pid || fail=1
done
Exit $fail
--
2.5.5
- [PATCH] tests: fix recent false failure due to a race,
Pádraig Brady <=