diff options
Diffstat (limited to 'tests/cp')
-rwxr-xr-x | tests/cp/existing-perm-race.sh | 8 | ||||
-rwxr-xr-x | tests/cp/file-perm-race.sh | 8 | ||||
-rwxr-xr-x | tests/cp/parent-perm-race.sh | 7 | ||||
-rwxr-xr-x | tests/cp/sparse-to-pipe.sh | 7 |
4 files changed, 19 insertions, 11 deletions
diff --git a/tests/cp/existing-perm-race.sh b/tests/cp/existing-perm-race.sh index 30cbc6ab6..f48369cd5 100755 --- a/tests/cp/existing-perm-race.sh +++ b/tests/cp/existing-perm-race.sh @@ -37,10 +37,12 @@ chgrp $g1 fifo && chgrp $g2 fifo-copy && chmod g+r fifo-copy || framework-failure +# Terminate any background cp process +cleanup_() { kill $pid 2>/dev/null && wait $pid; } + # Copy a fifo's contents. That way, we can examine the # destination permissions before they're finalized. -cp -p --copy-contents fifo fifo-copy & -cp_pid=$! +cp -p --copy-contents fifo fifo-copy & pid=$! ( # Now 'cp' is reading the fifo. Wait for the destination file to @@ -77,7 +79,7 @@ case $mode in *) fail=1;; esac -wait $cp_pid || fail=1 +wait $pid || fail=1 # Check that the final mode and group are right. ls -l -n fifo-copy >ls.out && diff --git a/tests/cp/file-perm-race.sh b/tests/cp/file-perm-race.sh index 5057dae7b..8197962da 100755 --- a/tests/cp/file-perm-race.sh +++ b/tests/cp/file-perm-race.sh @@ -25,10 +25,12 @@ require_local_dir_ umask 022 mkfifo_or_skip_ fifo +# Terminate any background cp process +cleanup_() { kill $pid 2>/dev/null && wait $pid; } + # Copy a fifo's contents. That way, we can examine the # destination permissions before they're finalized. -cp -p --copy-contents fifo fifo-copy & -cp_pid=$! +cp -p --copy-contents fifo fifo-copy & pid=$! ( # Now 'cp' is reading the fifo. Wait for the destination file to @@ -51,6 +53,6 @@ case $(cat ls.out) in *) fail=1;; esac -wait $cp_pid || fail=1 +wait $pid || fail=1 Exit $fail diff --git a/tests/cp/parent-perm-race.sh b/tests/cp/parent-perm-race.sh index 7b254b73f..c370f9e06 100755 --- a/tests/cp/parent-perm-race.sh +++ b/tests/cp/parent-perm-race.sh @@ -26,6 +26,8 @@ umask 002 mkdir mode ownership d || framework_failure_ chmod g+s d 2>/dev/null # The cp test is valid either way. +# Terminate any background cp process +cleanup_() { kill $pid 2>/dev/null && wait $pid; } for attr in mode ownership do @@ -33,8 +35,7 @@ do # Copy a fifo's contents. That way, we can examine d/$attr's # state while cp is running. - cp --preserve=$attr -R --copy-contents --parents $attr d & - cp_pid=$! + cp --preserve=$attr -R --copy-contents --parents $attr d & pid=$! ( # Now 'cp' is reading the fifo. @@ -58,7 +59,7 @@ do fail=1;; esac - wait $cp_pid || fail=1 + wait $pid || fail=1 done Exit $fail diff --git a/tests/cp/sparse-to-pipe.sh b/tests/cp/sparse-to-pipe.sh index 8fc9e09d6..2c3dcefba 100755 --- a/tests/cp/sparse-to-pipe.sh +++ b/tests/cp/sparse-to-pipe.sh @@ -21,14 +21,17 @@ print_ver_ cp require_sparse_support_ +# Terminate any background cp process +cleanup_() { kill $pid 2>/dev/null && wait $pid; } + mkfifo_or_skip_ pipe -timeout 10 cat pipe > copy & +timeout 10 cat pipe > copy & pid=$! truncate -s1M sparse || framework_failure_ cp sparse pipe || fail=1 # Ensure that the cat has completed before comparing. -wait +wait $pid cmp sparse copy || fail=1 |