mirror of
git://git.sv.gnu.org/coreutils.git
synced 2026-04-21 11:16:16 +02:00
tests: fix recent false failure due to a race
* 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.
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user