summaryrefslogtreecommitdiffstats
path: root/tests/posix
diff options
context:
space:
mode:
authorTavian Barnes <tavianator@tavianator.com>2022-12-16 15:32:04 -0500
committerTavian Barnes <tavianator@tavianator.com>2022-12-16 15:32:04 -0500
commite50c19f284dad6b4b7b79f91cc8576a97626be8a (patch)
tree3fc7b15a412d4123d403bca6fdbf3225389926e1 /tests/posix
parent7d87b96b421b76e387cee903b7b7c1bc16c54310 (diff)
downloadbfs-e50c19f284dad6b4b7b79f91cc8576a97626be8a.tar.xz
tests: Turn on set -e
Diffstat (limited to 'tests/posix')
-rw-r--r--tests/posix/L_loops.sh2
-rw-r--r--tests/posix/L_xdev.sh7
-rw-r--r--tests/posix/depth_error.sh10
-rw-r--r--tests/posix/exec_nonexistent.sh7
-rw-r--r--tests/posix/exec_plus_nonexistent.sh7
-rw-r--r--tests/posix/exec_plus_status.sh3
-rw-r--r--tests/posix/readdir_error.sh2
-rw-r--r--tests/posix/type_bind_mount.sh6
-rw-r--r--tests/posix/xdev.sh7
9 files changed, 20 insertions, 31 deletions
diff --git a/tests/posix/L_loops.sh b/tests/posix/L_loops.sh
index f737cea..1314401 100644
--- a/tests/posix/L_loops.sh
+++ b/tests/posix/L_loops.sh
@@ -1,4 +1,4 @@
# POSIX says it's okay to either stop or keep going on seeing a filesystem
# loop, as long as a diagnostic is printed
-errors=$(invoke_bfs -L loops 2>&1 >/dev/null)
+! errors=$(invoke_bfs -L loops 2>&1 >/dev/null)
[ -n "$errors" ]
diff --git a/tests/posix/L_xdev.sh b/tests/posix/L_xdev.sh
index 2fc99dd..587c8bb 100644
--- a/tests/posix/L_xdev.sh
+++ b/tests/posix/L_xdev.sh
@@ -3,13 +3,12 @@ test "$UNAME" = "Darwin" && skip
clean_scratch
mkdir scratch/{foo,mnt}
+
sudo mount -t tmpfs tmpfs scratch/mnt
+trap "sudo umount scratch/mnt" EXIT
+
ln -s ../mnt scratch/foo/bar
"$XTOUCH" scratch/mnt/baz
ln -s ../mnt/baz scratch/foo/qux
bfs_diff -L scratch -xdev
-ret=$?
-
-sudo umount scratch/mnt
-return $ret
diff --git a/tests/posix/depth_error.sh b/tests/posix/depth_error.sh
index f770210..15cc82d 100644
--- a/tests/posix/depth_error.sh
+++ b/tests/posix/depth_error.sh
@@ -1,11 +1,7 @@
clean_scratch
"$XTOUCH" -p scratch/foo/bar
-chmod a-r scratch/foo
-
-bfs_diff scratch -depth
-ret=$?
-chmod +r scratch/foo
-clean_scratch
+chmod a-r scratch/foo
+trap "chmod +r scratch/foo" EXIT
-[ $ret -eq $EX_BFS ]
+check_exit $EX_BFS bfs_diff scratch -depth
diff --git a/tests/posix/exec_nonexistent.sh b/tests/posix/exec_nonexistent.sh
index b4e08e0..d4ad92a 100644
--- a/tests/posix/exec_nonexistent.sh
+++ b/tests/posix/exec_nonexistent.sh
@@ -1,8 +1,7 @@
# Failure to execute the command should lead to an error message and
# non-zero exit status. See https://unix.stackexchange.com/q/704522/56202
-stderr=$(invoke_bfs basic -exec "$TESTS/nonexistent" {} \; 2>&1 >/dev/null)
-[ -n "$stderr" ] || return 1
+! stderr=$(invoke_bfs basic -exec "$TESTS/nonexistent" {} \; 2>&1 >/dev/null)
+[ -n "$stderr" ]
-bfs_diff basic -print -exec "$TESTS/nonexistent" {} \; -print
-(($? == EX_BFS))
+check_exit $EX_BFS bfs_diff basic -print -exec "$TESTS/nonexistent" {} \; -print
diff --git a/tests/posix/exec_plus_nonexistent.sh b/tests/posix/exec_plus_nonexistent.sh
index f96099e..6c9cb8c 100644
--- a/tests/posix/exec_plus_nonexistent.sh
+++ b/tests/posix/exec_plus_nonexistent.sh
@@ -1,5 +1,4 @@
-stderr=$(invoke_bfs basic -exec "$TESTS/nonexistent" {} + 2>&1 >/dev/null)
-[ -n "$stderr" ] || return 1
+! stderr=$(invoke_bfs basic -exec "$TESTS/nonexistent" {} + 2>&1 >/dev/null)
+[ -n "$stderr" ]
-bfs_diff basic -exec "$TESTS/nonexistent" {} + -print
-(($? == EX_BFS))
+check_exit $EX_BFS bfs_diff basic -exec "$TESTS/nonexistent" {} + -print
diff --git a/tests/posix/exec_plus_status.sh b/tests/posix/exec_plus_status.sh
index ea9e5ef..f44062e 100644
--- a/tests/posix/exec_plus_status.sh
+++ b/tests/posix/exec_plus_status.sh
@@ -1,4 +1,3 @@
# -exec ... {} + should always return true, but if the command fails, bfs
# should exit with a non-zero status
-bfs_diff basic -exec false {} + -print
-(($? == EX_BFS))
+check_exit $EX_BFS bfs_diff basic -exec false {} + -print
diff --git a/tests/posix/readdir_error.sh b/tests/posix/readdir_error.sh
index e45ec5c..9a002a1 100644
--- a/tests/posix/readdir_error.sh
+++ b/tests/posix/readdir_error.sh
@@ -29,7 +29,7 @@ kill -9 "$pid"
# Wait until it's really a zombie
state=R
while [ "$state" != "Z" ]; do
- read -r _ _ state _ <"/proc/$pid/stat" || exit 1
+ read -r _ _ state _ <"/proc/$pid/stat"
done
# On Linux, open(/proc/$pid/net) will succeed but readdir() will fail
diff --git a/tests/posix/type_bind_mount.sh b/tests/posix/type_bind_mount.sh
index fe32875..2d913db 100644
--- a/tests/posix/type_bind_mount.sh
+++ b/tests/posix/type_bind_mount.sh
@@ -3,10 +3,8 @@ test "$UNAME" = "Linux" || skip
clean_scratch
"$XTOUCH" scratch/{file,null}
+
sudo mount --bind /dev/null scratch/null
+trap "sudo umount scratch/null" EXIT
bfs_diff scratch -type c
-ret=$?
-
-sudo umount scratch/null
-return $ret
diff --git a/tests/posix/xdev.sh b/tests/posix/xdev.sh
index 44e04dd..9d21b14 100644
--- a/tests/posix/xdev.sh
+++ b/tests/posix/xdev.sh
@@ -3,11 +3,10 @@ test "$UNAME" = "Darwin" && skip
clean_scratch
mkdir scratch/{foo,mnt}
+
sudo mount -t tmpfs tmpfs scratch/mnt
+trap "sudo umount scratch/mnt" EXIT
+
"$XTOUCH" scratch/foo/bar scratch/mnt/baz
bfs_diff scratch -xdev
-ret=$?
-
-sudo umount scratch/mnt
-return $ret