summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorTavian Barnes <tavianator@tavianator.com>2023-10-22 16:41:41 -0400
committerTavian Barnes <tavianator@tavianator.com>2023-10-22 17:51:36 -0400
commita2af2746c4686201e2e0796fbdfa115d08727b86 (patch)
tree4127a4c813de4f4c91c92b0596b468cceac43a7b /tests
parentdd8ac68070176343a8781e67de4bbd6a071bb89d (diff)
downloadbfs-a2af2746c4686201e2e0796fbdfa115d08727b86.tar.xz
tests: Use test-specific scratch directories
Diffstat (limited to 'tests')
-rw-r--r--tests/bfs/L_capable.out4
-rw-r--r--tests/bfs/L_capable.sh13
-rw-r--r--tests/bfs/capable.out2
-rw-r--r--tests/bfs/capable.sh13
-rw-r--r--tests/bfs/color_ls.sh2
-rw-r--r--tests/bfs/exec_flush_fprint.sh3
-rw-r--r--tests/bsd/L_acl.out4
-rw-r--r--tests/bsd/L_acl.sh12
-rw-r--r--tests/bsd/L_xattr.out6
-rw-r--r--tests/bsd/L_xattr.sh4
-rw-r--r--tests/bsd/L_xattrname.out4
-rw-r--r--tests/bsd/L_xattrname.sh6
-rw-r--r--tests/bsd/acl.out2
-rw-r--r--tests/bsd/acl.sh12
-rw-r--r--tests/bsd/flags.out2
-rw-r--r--tests/bsd/flags.sh10
-rw-r--r--tests/bsd/rm.out2
-rw-r--r--tests/bsd/rm.sh10
-rw-r--r--tests/bsd/type_w.out72
-rw-r--r--tests/bsd/type_w.sh36
-rw-r--r--tests/bsd/xattr.out6
-rw-r--r--tests/bsd/xattr.sh4
-rw-r--r--tests/bsd/xattrname.out4
-rw-r--r--tests/bsd/xattrname.sh6
-rw-r--r--tests/common/L_ls.sh3
-rw-r--r--tests/common/L_mount.out10
-rw-r--r--tests/common/L_mount.sh16
-rw-r--r--tests/common/delete.out2
-rw-r--r--tests/common/delete.sh11
-rw-r--r--tests/common/delete_many.out2
-rw-r--r--tests/common/delete_many.sh10
-rw-r--r--tests/common/execdir_ulimit.out2
-rw-r--r--tests/common/execdir_ulimit.sh8
-rw-r--r--tests/common/inum_bind_mount.out4
-rw-r--r--tests/common/inum_bind_mount.sh10
-rw-r--r--tests/common/inum_mount.out2
-rw-r--r--tests/common/inum_mount.sh10
-rw-r--r--tests/common/ls.sh3
-rw-r--r--tests/common/mount.out8
-rw-r--r--tests/common/mount.sh12
-rw-r--r--tests/gnu/L_delete.out4
-rw-r--r--tests/gnu/L_delete.sh11
-rw-r--r--tests/gnu/files0_from_file.sh6
-rw-r--r--tests/gnu/fls.sh3
-rw-r--r--tests/gnu/fls_nonexistent.sh2
-rw-r--r--tests/gnu/fprint0_nonexistent.sh2
-rw-r--r--tests/gnu/fprint_duplicate.sh10
-rw-r--r--tests/gnu/fprint_nonexistent.sh2
-rw-r--r--tests/gnu/fprintf_nonexistent.sh2
-rw-r--r--tests/gnu/fstype_stacked.out2
-rw-r--r--tests/gnu/fstype_stacked.sh14
-rw-r--r--tests/gnu/fstype_umount.sh14
-rw-r--r--tests/gnu/ignore_readdir_race.sh6
-rw-r--r--tests/gnu/ignore_readdir_race_notdir.sh6
-rw-r--r--tests/gnu/inum_automount.out2
-rw-r--r--tests/gnu/inum_automount.sh14
-rw-r--r--tests/gnu/printf_Y_error.out6
-rw-r--r--tests/gnu/printf_Y_error.sh12
-rw-r--r--tests/gnu/regex_invalid_utf8.out2
-rw-r--r--tests/gnu/regex_invalid_utf8.sh10
-rw-r--r--tests/gnu/xtype_bind_mount.out4
-rw-r--r--tests/gnu/xtype_bind_mount.sh12
-rw-r--r--tests/posix/L_xdev.out10
-rw-r--r--tests/posix/L_xdev.sh16
-rw-r--r--tests/posix/depth_error.out4
-rw-r--r--tests/posix/depth_error.sh10
-rw-r--r--tests/posix/overlayfs.out10
-rw-r--r--tests/posix/overlayfs.sh14
-rw-r--r--tests/posix/readdir_error.sh18
-rw-r--r--tests/posix/type_bind_mount.out2
-rw-r--r--tests/posix/type_bind_mount.sh10
-rw-r--r--tests/posix/unionfs.out20
-rw-r--r--tests/posix/unionfs.sh13
-rw-r--r--tests/posix/xdev.out8
-rw-r--r--tests/posix/xdev.sh12
-rw-r--r--tests/run.sh28
-rw-r--r--tests/stddirs.sh25
77 files changed, 330 insertions, 368 deletions
diff --git a/tests/bfs/L_capable.out b/tests/bfs/L_capable.out
index e5ba3c7..0810d4a 100644
--- a/tests/bfs/L_capable.out
+++ b/tests/bfs/L_capable.out
@@ -1,2 +1,2 @@
-scratch/capable
-scratch/link
+./capable
+./link
diff --git a/tests/bfs/L_capable.sh b/tests/bfs/L_capable.sh
index 232d6ac..97c404f 100644
--- a/tests/bfs/L_capable.sh
+++ b/tests/bfs/L_capable.sh
@@ -1,11 +1,10 @@
test "$UNAME" = "Linux" || skip
+invoke_bfs . -quit -capable || skip
-clean_scratch
+cd "$TEST"
-invoke_bfs scratch -quit -capable || skip
+"$XTOUCH" normal capable
+bfs_sudo setcap all+ep capable || skip
+ln -s capable link
-"$XTOUCH" scratch/{normal,capable}
-bfs_sudo setcap all+ep scratch/capable || skip
-ln -s capable scratch/link
-
-bfs_diff -L scratch -capable
+bfs_diff -L . -capable
diff --git a/tests/bfs/capable.out b/tests/bfs/capable.out
index 78b5bd9..ac7b5ce 100644
--- a/tests/bfs/capable.out
+++ b/tests/bfs/capable.out
@@ -1 +1 @@
-scratch/capable
+./capable
diff --git a/tests/bfs/capable.sh b/tests/bfs/capable.sh
index e5cad63..35bb0b4 100644
--- a/tests/bfs/capable.sh
+++ b/tests/bfs/capable.sh
@@ -1,11 +1,10 @@
test "$UNAME" = "Linux" || skip
+invoke_bfs . -quit -capable || skip
-clean_scratch
+cd "$TEST"
-invoke_bfs scratch -quit -capable || skip
+"$XTOUCH" normal capable
+bfs_sudo setcap all+ep capable || skip
+ln -s capable link
-"$XTOUCH" scratch/{normal,capable}
-bfs_sudo setcap all+ep scratch/capable || skip
-ln -s capable scratch/link
-
-bfs_diff scratch -capable
+bfs_diff . -capable
diff --git a/tests/bfs/color_ls.sh b/tests/bfs/color_ls.sh
index f2d3c72..f1cc216 100644
--- a/tests/bfs/color_ls.sh
+++ b/tests/bfs/color_ls.sh
@@ -1,4 +1,4 @@
-clean_scratch
+cd "$TEST"
"$XTOUCH" -p scratch/foo/bar/baz
ln -s foo/bar/baz scratch/link
ln -s foo/bar/nowhere scratch/broken
diff --git a/tests/bfs/exec_flush_fprint.sh b/tests/bfs/exec_flush_fprint.sh
index bf6b62f..a862773 100644
--- a/tests/bfs/exec_flush_fprint.sh
+++ b/tests/bfs/exec_flush_fprint.sh
@@ -1,3 +1,2 @@
# Even non-stdstreams should be flushed
-clean_scratch
-bfs_diff basic/a -fprint scratch/foo -exec cat scratch/foo \;
+bfs_diff basic/a -fprint "$OUT.f" -exec cat "$OUT.f" \;
diff --git a/tests/bsd/L_acl.out b/tests/bsd/L_acl.out
index 1dae00a..dd89800 100644
--- a/tests/bsd/L_acl.out
+++ b/tests/bsd/L_acl.out
@@ -1,2 +1,2 @@
-scratch/acl
-scratch/link
+./acl
+./link
diff --git a/tests/bsd/L_acl.sh b/tests/bsd/L_acl.sh
index db97013..a3fcbc8 100644
--- a/tests/bsd/L_acl.sh
+++ b/tests/bsd/L_acl.sh
@@ -1,9 +1,9 @@
-clean_scratch
+cd "$TEST"
-invoke_bfs scratch -quit -acl || skip
+invoke_bfs . -quit -acl || skip
-"$XTOUCH" scratch/{normal,acl}
-set_acl scratch/acl || skip
-ln -s acl scratch/link
+"$XTOUCH" normal acl
+set_acl acl || skip
+ln -s acl link
-bfs_diff -L scratch -acl
+bfs_diff -L . -acl
diff --git a/tests/bsd/L_xattr.out b/tests/bsd/L_xattr.out
index 12fac95..21eb50f 100644
--- a/tests/bsd/L_xattr.out
+++ b/tests/bsd/L_xattr.out
@@ -1,3 +1,3 @@
-scratch/link
-scratch/xattr
-scratch/xattr_2
+./link
+./xattr
+./xattr_2
diff --git a/tests/bsd/L_xattr.sh b/tests/bsd/L_xattr.sh
index 1f61c78..f8b56d8 100644
--- a/tests/bsd/L_xattr.sh
+++ b/tests/bsd/L_xattr.sh
@@ -1,3 +1,3 @@
-invoke_bfs scratch -quit -xattr || skip
+invoke_bfs . -quit -xattr || skip
make_xattrs || skip
-bfs_diff -L scratch -xattr
+bfs_diff -L . -xattr
diff --git a/tests/bsd/L_xattrname.out b/tests/bsd/L_xattrname.out
index 4dc4836..9e4c172 100644
--- a/tests/bsd/L_xattrname.out
+++ b/tests/bsd/L_xattrname.out
@@ -1,2 +1,2 @@
-scratch/link
-scratch/xattr
+./link
+./xattr
diff --git a/tests/bsd/L_xattrname.sh b/tests/bsd/L_xattrname.sh
index 3b2006b..8108d57 100644
--- a/tests/bsd/L_xattrname.sh
+++ b/tests/bsd/L_xattrname.sh
@@ -1,11 +1,11 @@
-invoke_bfs scratch -quit -xattr || skip
+invoke_bfs . -quit -xattr || skip
make_xattrs || skip
case "$UNAME" in
Darwin|FreeBSD)
- bfs_diff -L scratch -xattrname bfs_test
+ bfs_diff -L . -xattrname bfs_test
;;
*)
- bfs_diff -L scratch -xattrname security.bfs_test
+ bfs_diff -L . -xattrname security.bfs_test
;;
esac
diff --git a/tests/bsd/acl.out b/tests/bsd/acl.out
index ddf8446..92e2f67 100644
--- a/tests/bsd/acl.out
+++ b/tests/bsd/acl.out
@@ -1 +1 @@
-scratch/acl
+./acl
diff --git a/tests/bsd/acl.sh b/tests/bsd/acl.sh
index c044398..a13c75f 100644
--- a/tests/bsd/acl.sh
+++ b/tests/bsd/acl.sh
@@ -1,9 +1,9 @@
-clean_scratch
+cd "$TEST"
-invoke_bfs scratch -quit -acl || skip
+invoke_bfs . -quit -acl || skip
-"$XTOUCH" scratch/{normal,acl}
-set_acl scratch/acl || skip
-ln -s acl scratch/link
+"$XTOUCH" normal acl
+set_acl acl || skip
+ln -s acl link
-bfs_diff scratch -acl
+bfs_diff . -acl
diff --git a/tests/bsd/flags.out b/tests/bsd/flags.out
index 11998ed..3216ff5 100644
--- a/tests/bsd/flags.out
+++ b/tests/bsd/flags.out
@@ -1 +1 @@
-scratch/bar
+./bar
diff --git a/tests/bsd/flags.sh b/tests/bsd/flags.sh
index 949a7d3..eb9bc22 100644
--- a/tests/bsd/flags.sh
+++ b/tests/bsd/flags.sh
@@ -1,8 +1,8 @@
-invoke_bfs scratch -quit -flags offline || skip
+invoke_bfs . -quit -flags offline || skip
-clean_scratch
+cd "$TEST"
-"$XTOUCH" scratch/{foo,bar}
-chflags offline scratch/bar || skip
+"$XTOUCH" foo bar
+chflags offline bar || skip
-bfs_diff scratch -flags -offline,nohidden
+bfs_diff . -flags -offline,nohidden
diff --git a/tests/bsd/rm.out b/tests/bsd/rm.out
index fb188b9..9c558e3 100644
--- a/tests/bsd/rm.out
+++ b/tests/bsd/rm.out
@@ -1 +1 @@
-scratch
+.
diff --git a/tests/bsd/rm.sh b/tests/bsd/rm.sh
index 9ee2b0a..595d514 100644
--- a/tests/bsd/rm.sh
+++ b/tests/bsd/rm.sh
@@ -1,6 +1,4 @@
-clean_scratch
-"$XTOUCH" -p scratch/foo/bar/baz
-
-(cd scratch && invoke_bfs . -rm)
-
-bfs_diff scratch
+cd "$TEST"
+"$XTOUCH" -p foo/bar/baz
+invoke_bfs . -rm
+bfs_diff .
diff --git a/tests/bsd/type_w.out b/tests/bsd/type_w.out
index d383f69..a20a4f3 100644
--- a/tests/bsd/type_w.out
+++ b/tests/bsd/type_w.out
@@ -1,38 +1,34 @@
-1: -rw-r--r-- scratch/mnt/lower/bar
-1: -rw-r--r-- scratch/mnt/lower/baz
-1: -rw-r--r-- scratch/mnt/lower/foo
-1: -rw-r--r-- scratch/mnt/upper/baz/qux
-1: -rw-r--r-- scratch/mnt/upper/foo
-1: drwxr-xr-x scratch/mnt
-1: drwxr-xr-x scratch/mnt/lower
-1: drwxr-xr-x scratch/mnt/upper
-1: drwxr-xr-x scratch/mnt/upper/baz
-2: w--------- scratch/mnt/upper/bar
-3: -rw-r--r-- scratch/mnt/lower/bar
-3: -rw-r--r-- scratch/mnt/lower/baz
-3: -rw-r--r-- scratch/mnt/lower/foo
-3: -rw-r--r-- scratch/mnt/upper/baz/qux
-3: -rw-r--r-- scratch/mnt/upper/foo
-3: drwxr-xr-x scratch/mnt
-3: drwxr-xr-x scratch/mnt/lower
-3: drwxr-xr-x scratch/mnt/upper
-3: drwxr-xr-x scratch/mnt/upper/baz
-3: w--------- scratch/mnt/upper/bar
-4: -rw-r--r-- scratch/mnt/lower/bar
-4: -rw-r--r-- scratch/mnt/lower/baz
-4: -rw-r--r-- scratch/mnt/lower/foo
-4: -rw-r--r-- scratch/mnt/upper/baz/qux
-4: drwxr-xr-x scratch/mnt
-4: drwxr-xr-x scratch/mnt/lower
-4: drwxr-xr-x scratch/mnt/upper
-4: drwxr-xr-x scratch/mnt/upper/baz
-5: w--------- scratch/mnt/upper/bar
-6: -rw-r--r-- scratch/mnt/lower/bar
-6: -rw-r--r-- scratch/mnt/lower/baz
-6: -rw-r--r-- scratch/mnt/lower/foo
-6: -rw-r--r-- scratch/mnt/upper/baz/qux
-6: drwxr-xr-x scratch/mnt
-6: drwxr-xr-x scratch/mnt/lower
-6: drwxr-xr-x scratch/mnt/upper
-6: drwxr-xr-x scratch/mnt/upper/baz
-6: w--------- scratch/mnt/upper/bar
+1: -rw-r--r-- mnt/lower/bar
+1: -rw-r--r-- mnt/lower/baz
+1: -rw-r--r-- mnt/lower/foo
+1: -rw-r--r-- mnt/upper/baz/qux
+1: -rw-r--r-- mnt/upper/foo
+1: drwxr-xr-x mnt/lower
+1: drwxr-xr-x mnt/upper
+1: drwxr-xr-x mnt/upper/baz
+2: w--------- mnt/upper/bar
+3: -rw-r--r-- mnt/lower/bar
+3: -rw-r--r-- mnt/lower/baz
+3: -rw-r--r-- mnt/lower/foo
+3: -rw-r--r-- mnt/upper/baz/qux
+3: -rw-r--r-- mnt/upper/foo
+3: drwxr-xr-x mnt/lower
+3: drwxr-xr-x mnt/upper
+3: drwxr-xr-x mnt/upper/baz
+3: w--------- mnt/upper/bar
+4: -rw-r--r-- mnt/lower/bar
+4: -rw-r--r-- mnt/lower/baz
+4: -rw-r--r-- mnt/lower/foo
+4: -rw-r--r-- mnt/upper/baz/qux
+4: drwxr-xr-x mnt/lower
+4: drwxr-xr-x mnt/upper
+4: drwxr-xr-x mnt/upper/baz
+5: w--------- mnt/upper/bar
+6: -rw-r--r-- mnt/lower/bar
+6: -rw-r--r-- mnt/lower/baz
+6: -rw-r--r-- mnt/lower/foo
+6: -rw-r--r-- mnt/upper/baz/qux
+6: drwxr-xr-x mnt/lower
+6: drwxr-xr-x mnt/upper
+6: drwxr-xr-x mnt/upper/baz
+6: w--------- mnt/upper/bar
diff --git a/tests/bsd/type_w.sh b/tests/bsd/type_w.sh
index 15b4e68..aec9cb1 100644
--- a/tests/bsd/type_w.sh
+++ b/tests/bsd/type_w.sh
@@ -2,51 +2,51 @@
command -v mdconfig &>/dev/null || skip
command -v newfs &>/dev/null || skip
-clean_scratch
+cd "$TEST"
# Create a ramdisk
-truncate -s1M scratch/img
-md=$(bfs_sudo mdconfig scratch/img) || skip
+truncate -s1M img
+md=$(bfs_sudo mdconfig img) || skip
defer bfs_sudo mdconfig -du "$md"
# Make an ffs filesystem
bfs_sudo newfs -n "/dev/$md" >&2 || skip
-mkdir scratch/mnt
+mkdir mnt
# Mount it
-bfs_sudo mount "/dev/$md" scratch/mnt || skip
-defer bfs_sudo umount scratch/mnt
+bfs_sudo mount "/dev/$md" mnt || skip
+defer bfs_sudo umount mnt
# Make it owned by us
-bfs_sudo chown "$(id -u):$(id -g)" scratch/mnt
-"$XTOUCH" -p scratch/mnt/{lower/{foo,bar,baz},upper/{bar,baz/qux}}
+bfs_sudo chown "$(id -u):$(id -g)" mnt
+"$XTOUCH" -p mnt/{lower/{foo,bar,baz},upper/{bar,baz/qux}}
# Mount a union filesystem within it
-bfs_sudo mount -t unionfs -o below scratch/mnt/{lower,upper}
-defer bfs_sudo umount scratch/mnt/upper
+bfs_sudo mount -t unionfs -o below mnt/{lower,upper}
+defer bfs_sudo umount mnt/upper
# Create a whiteout
-rm scratch/mnt/upper/bar
+rm mnt/upper/bar
# FreeBSD find doesn't have -printf, so munge -ls output
munge_ls() {
- sed -En 's|.*([-drwx]{10}).*(scratch/.*)|'"$1"': \1 \2|p'
+ sed -En 's|.*([-drwx]{10}).*(mnt/.*)|'"$1"': \1 \2|p'
}
# Do a few tests in one
{
# Normally, we shouldn't see the whiteouts
- invoke_bfs scratch/mnt -ls | munge_ls 1
+ invoke_bfs mnt -ls | munge_ls 1
# -type w adds whiteouts to the output
- invoke_bfs scratch/mnt -type w -ls | munge_ls 2
+ invoke_bfs mnt -type w -ls | munge_ls 2
# So this is not the same as test 1
- invoke_bfs scratch/mnt \( -type w -or -not -type w \) -ls | munge_ls 3
+ invoke_bfs mnt \( -type w -or -not -type w \) -ls | munge_ls 3
# Unmount the unionfs
pop_defer
# Now repeat the same tests
- invoke_bfs scratch/mnt -ls | munge_ls 4
- invoke_bfs scratch/mnt -type w -ls | munge_ls 5
- invoke_bfs scratch/mnt \( -type w -or -not -type w \) -ls | munge_ls 6
+ invoke_bfs mnt -ls | munge_ls 4
+ invoke_bfs mnt -type w -ls | munge_ls 5
+ invoke_bfs mnt \( -type w -or -not -type w \) -ls | munge_ls 6
} >"$OUT"
sort_output
diff_output
diff --git a/tests/bsd/xattr.out b/tests/bsd/xattr.out
index 109e7c9..0afed35 100644
--- a/tests/bsd/xattr.out
+++ b/tests/bsd/xattr.out
@@ -1,3 +1,3 @@
-scratch/xattr
-scratch/xattr_2
-scratch/xattr_link
+./xattr
+./xattr_2
+./xattr_link
diff --git a/tests/bsd/xattr.sh b/tests/bsd/xattr.sh
index 4a4658c..68f729a 100644
--- a/tests/bsd/xattr.sh
+++ b/tests/bsd/xattr.sh
@@ -1,3 +1,3 @@
-invoke_bfs scratch -quit -xattr || skip
+invoke_bfs . -quit -xattr || skip
make_xattrs || skip
-bfs_diff scratch -xattr
+bfs_diff . -xattr
diff --git a/tests/bsd/xattrname.out b/tests/bsd/xattrname.out
index 0285ac1..ef732bd 100644
--- a/tests/bsd/xattrname.out
+++ b/tests/bsd/xattrname.out
@@ -1,2 +1,2 @@
-scratch/xattr
-scratch/xattr_link
+./xattr
+./xattr_link
diff --git a/tests/bsd/xattrname.sh b/tests/bsd/xattrname.sh
index 655bd74..38b111a 100644
--- a/tests/bsd/xattrname.sh
+++ b/tests/bsd/xattrname.sh
@@ -1,11 +1,11 @@
-invoke_bfs scratch -quit -xattr || skip
+invoke_bfs . -quit -xattr || skip
make_xattrs || skip
case "$UNAME" in
Darwin|FreeBSD)
- bfs_diff scratch -xattrname bfs_test
+ bfs_diff . -xattrname bfs_test
;;
*)
- bfs_diff scratch -xattrname security.bfs_test
+ bfs_diff . -xattrname security.bfs_test
;;
esac
diff --git a/tests/common/L_ls.sh b/tests/common/L_ls.sh
index ced16c6..7ee2b44 100644
--- a/tests/common/L_ls.sh
+++ b/tests/common/L_ls.sh
@@ -1,2 +1 @@
-clean_scratch
-invoke_bfs -L rainbow -ls >scratch/L_ls.out
+invoke_bfs -L rainbow -ls >"$OUT"
diff --git a/tests/common/L_mount.out b/tests/common/L_mount.out
index 2e80082..788579d 100644
--- a/tests/common/L_mount.out
+++ b/tests/common/L_mount.out
@@ -1,5 +1,5 @@
-scratch
-scratch/foo
-scratch/foo/bar
-scratch/foo/qux
-scratch/mnt
+.
+./foo
+./foo/bar
+./foo/qux
+./mnt
diff --git a/tests/common/L_mount.sh b/tests/common/L_mount.sh
index aaf9069..fd8042a 100644
--- a/tests/common/L_mount.sh
+++ b/tests/common/L_mount.sh
@@ -1,13 +1,13 @@
test "$UNAME" = "Darwin" && skip
-clean_scratch
-mkdir scratch/{foo,mnt}
+cd "$TEST"
+mkdir foo mnt
-bfs_sudo mount -t tmpfs tmpfs scratch/mnt || skip
-defer bfs_sudo umount scratch/mnt
+bfs_sudo mount -t tmpfs tmpfs mnt || skip
+defer bfs_sudo umount mnt
-ln -s ../mnt scratch/foo/bar
-"$XTOUCH" scratch/mnt/baz
-ln -s ../mnt/baz scratch/foo/qux
+ln -s ../mnt foo/bar
+"$XTOUCH" mnt/baz
+ln -s ../mnt/baz foo/qux
-bfs_diff -L scratch -mount
+bfs_diff -L . -mount
diff --git a/tests/common/delete.out b/tests/common/delete.out
index fb188b9..9c558e3 100644
--- a/tests/common/delete.out
+++ b/tests/common/delete.out
@@ -1 +1 @@
-scratch
+.
diff --git a/tests/common/delete.sh b/tests/common/delete.sh
index 89cf2a2..638f307 100644
--- a/tests/common/delete.sh
+++ b/tests/common/delete.sh
@@ -1,7 +1,4 @@
-clean_scratch
-"$XTOUCH" -p scratch/foo/bar/baz
-
-# Don't try to delete '.'
-(cd scratch && invoke_bfs . -delete)
-
-bfs_diff scratch
+cd "$TEST"
+"$XTOUCH" -p foo/bar/baz
+invoke_bfs . -delete
+bfs_diff .
diff --git a/tests/common/delete_many.out b/tests/common/delete_many.out
index fb188b9..9c558e3 100644
--- a/tests/common/delete_many.out
+++ b/tests/common/delete_many.out
@@ -1 +1 @@
-scratch
+.
diff --git a/tests/common/delete_many.sh b/tests/common/delete_many.sh
index 6274319..48fe4c2 100644
--- a/tests/common/delete_many.sh
+++ b/tests/common/delete_many.sh
@@ -1,8 +1,8 @@
# Test for https://github.com/tavianator/bfs/issues/67
-clean_scratch
-mkdir scratch/foo
-"$XTOUCH" scratch/foo/{1..256}
+cd "$TEST"
+mkdir foo
+"$XTOUCH" foo/{1..256}
-invoke_bfs scratch/foo -delete
-bfs_diff scratch
+invoke_bfs foo -delete
+bfs_diff .
diff --git a/tests/common/execdir_ulimit.out b/tests/common/execdir_ulimit.out
index 7f53982..bf52c09 100644
--- a/tests/common/execdir_ulimit.out
+++ b/tests/common/execdir_ulimit.out
@@ -1,3 +1,4 @@
+./.
./0
./1
./2
@@ -30,7 +31,6 @@
./q
./r
./s
-./scratch
./t
./u
./v
diff --git a/tests/common/execdir_ulimit.sh b/tests/common/execdir_ulimit.sh
index f7fc467..90c93c1 100644
--- a/tests/common/execdir_ulimit.sh
+++ b/tests/common/execdir_ulimit.sh
@@ -1,6 +1,6 @@
-clean_scratch
-mkdir -p scratch/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z
-mkdir -p scratch/a/b/c/d/e/f/g/h/i/j/k/l/m/0/1/2/3/4/5/6/7/8/9/A/B/C
+cd "$TEST"
+mkdir -p a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z
+mkdir -p a/b/c/d/e/f/g/h/i/j/k/l/m/0/1/2/3/4/5/6/7/8/9/A/B/C
ulimit -n 13
-bfs_diff scratch -execdir echo {} \;
+bfs_diff . -execdir echo {} \;
diff --git a/tests/common/inum_bind_mount.out b/tests/common/inum_bind_mount.out
index a520de3..ede8749 100644
--- a/tests/common/inum_bind_mount.out
+++ b/tests/common/inum_bind_mount.out
@@ -1,2 +1,2 @@
-scratch/bar
-scratch/foo
+./bar
+./foo
diff --git a/tests/common/inum_bind_mount.sh b/tests/common/inum_bind_mount.sh
index 47f7c36..892713e 100644
--- a/tests/common/inum_bind_mount.sh
+++ b/tests/common/inum_bind_mount.sh
@@ -1,9 +1,9 @@
test "$UNAME" = "Linux" || skip
-clean_scratch
-"$XTOUCH" scratch/{foo,bar}
+cd "$TEST"
+"$XTOUCH" foo bar baz
-bfs_sudo mount --bind scratch/{foo,bar} || skip
-defer bfs_sudo umount scratch/bar
+bfs_sudo mount --bind foo bar || skip
+defer bfs_sudo umount bar
-bfs_diff scratch -inum "$(inum scratch/bar)"
+bfs_diff . -inum "$(inum bar)"
diff --git a/tests/common/inum_mount.out b/tests/common/inum_mount.out
index 99c7511..99fa01e 100644
--- a/tests/common/inum_mount.out
+++ b/tests/common/inum_mount.out
@@ -1 +1 @@
-scratch/mnt
+./mnt
diff --git a/tests/common/inum_mount.sh b/tests/common/inum_mount.sh
index 1bf2d86..7facf57 100644
--- a/tests/common/inum_mount.sh
+++ b/tests/common/inum_mount.sh
@@ -1,9 +1,9 @@
test "$UNAME" = "Darwin" && skip
-clean_scratch
-mkdir scratch/{foo,mnt}
+cd "$TEST"
+mkdir foo mnt
-bfs_sudo mount -t tmpfs tmpfs scratch/mnt || skip
-defer bfs_sudo umount scratch/mnt
+bfs_sudo mount -t tmpfs tmpfs mnt || skip
+defer bfs_sudo umount mnt
-bfs_diff scratch -inum "$(inum scratch/mnt)"
+bfs_diff . -inum "$(inum mnt)"
diff --git a/tests/common/ls.sh b/tests/common/ls.sh
index 85ca39c..bc50d90 100644
--- a/tests/common/ls.sh
+++ b/tests/common/ls.sh
@@ -1,2 +1 @@
-clean_scratch
-invoke_bfs rainbow -ls >scratch/ls.out
+invoke_bfs rainbow -ls >"$OUT"
diff --git a/tests/common/mount.out b/tests/common/mount.out
index f7839fb..6253434 100644
--- a/tests/common/mount.out
+++ b/tests/common/mount.out
@@ -1,4 +1,4 @@
-scratch
-scratch/foo
-scratch/foo/bar
-scratch/mnt
+.
+./foo
+./foo/bar
+./mnt
diff --git a/tests/common/mount.sh b/tests/common/mount.sh
index db8b801..c9abde5 100644
--- a/tests/common/mount.sh
+++ b/tests/common/mount.sh
@@ -1,11 +1,11 @@
test "$UNAME" = "Darwin" && skip
-clean_scratch
-mkdir scratch/{foo,mnt}
+cd "$TEST"
+mkdir foo mnt
-bfs_sudo mount -t tmpfs tmpfs scratch/mnt || skip
-defer bfs_sudo umount scratch/mnt
+bfs_sudo mount -t tmpfs tmpfs mnt || skip
+defer bfs_sudo umount mnt
-"$XTOUCH" scratch/foo/bar scratch/mnt/baz
+"$XTOUCH" foo/bar mnt/baz
-bfs_diff scratch -mount
+bfs_diff . -mount
diff --git a/tests/gnu/L_delete.out b/tests/gnu/L_delete.out
index ed0e9a1..7ed5f0d 100644
--- a/tests/gnu/L_delete.out
+++ b/tests/gnu/L_delete.out
@@ -1,2 +1,2 @@
-scratch
-scratch/foo
+.
+./foo
diff --git a/tests/gnu/L_delete.sh b/tests/gnu/L_delete.sh
index 8fdb12a..0559c49 100644
--- a/tests/gnu/L_delete.sh
+++ b/tests/gnu/L_delete.sh
@@ -1,9 +1,8 @@
-clean_scratch
-mkdir scratch/foo
-mkdir scratch/bar
-ln -s ../foo scratch/bar/baz
+cd "$TEST"
+mkdir foo bar
+ln -s ../foo bar/baz
# Don't try to rmdir() a symlink
-invoke_bfs -L scratch/bar -delete
+invoke_bfs -L bar -delete
-bfs_diff scratch
+bfs_diff .
diff --git a/tests/gnu/files0_from_file.sh b/tests/gnu/files0_from_file.sh
index 089a20e..81435a0 100644
--- a/tests/gnu/files0_from_file.sh
+++ b/tests/gnu/files0_from_file.sh
@@ -1,4 +1,4 @@
-clean_scratch
+FILE="$TMP/$TEST.in"
cd weirdnames
-invoke_bfs -mindepth 1 -fprintf ../scratch/files0.in "%P\0"
-bfs_diff -files0-from ../scratch/files0.in
+invoke_bfs -mindepth 1 -fprintf "$FILE" "%P\0"
+bfs_diff -files0-from "$FILE"
diff --git a/tests/gnu/fls.sh b/tests/gnu/fls.sh
index a86fa20..d2ff794 100644
--- a/tests/gnu/fls.sh
+++ b/tests/gnu/fls.sh
@@ -1,2 +1 @@
-clean_scratch
-invoke_bfs rainbow -fls scratch/fls.out
+invoke_bfs rainbow -fls "$OUT"
diff --git a/tests/gnu/fls_nonexistent.sh b/tests/gnu/fls_nonexistent.sh
index ff86763..2854569 100644
--- a/tests/gnu/fls_nonexistent.sh
+++ b/tests/gnu/fls_nonexistent.sh
@@ -1 +1 @@
-! invoke_bfs rainbow -fls scratch/nonexistent/path
+! invoke_bfs rainbow -fls nonexistent/path
diff --git a/tests/gnu/fprint0_nonexistent.sh b/tests/gnu/fprint0_nonexistent.sh
index ec14c2d..4906081 100644
--- a/tests/gnu/fprint0_nonexistent.sh
+++ b/tests/gnu/fprint0_nonexistent.sh
@@ -1 +1 @@
-! invoke_bfs basic -fprint0 scratch/nonexistent/path
+! invoke_bfs basic -fprint0 nonexistent/path
diff --git a/tests/gnu/fprint_duplicate.sh b/tests/gnu/fprint_duplicate.sh
index 5275502..8533b05 100644
--- a/tests/gnu/fprint_duplicate.sh
+++ b/tests/gnu/fprint_duplicate.sh
@@ -1,7 +1,7 @@
-"$XTOUCH" -p scratch/foo.out
-ln scratch/foo.out scratch/foo.hard
-ln -s foo.out scratch/foo.soft
+"$XTOUCH" -p "$TEST/foo.out"
+ln "$TEST/foo.out" "$TEST/foo.hard"
+ln -s foo.out "$TEST/foo.soft"
-invoke_bfs basic -fprint scratch/foo.out -fprint scratch/foo.hard -fprint scratch/foo.soft
-sort scratch/foo.out >"$OUT"
+invoke_bfs basic -fprint "$TEST/foo.out" -fprint "$TEST/foo.hard" -fprint "$TEST/foo.soft"
+sort "$TEST/foo.out" >"$OUT"
diff_output
diff --git a/tests/gnu/fprint_nonexistent.sh b/tests/gnu/fprint_nonexistent.sh
index 4409162..2a403a2 100644
--- a/tests/gnu/fprint_nonexistent.sh
+++ b/tests/gnu/fprint_nonexistent.sh
@@ -1 +1 @@
-! invoke_bfs basic -fprint scratch/nonexistent/path
+! invoke_bfs basic -fprint nonexistent/path
diff --git a/tests/gnu/fprintf_nonexistent.sh b/tests/gnu/fprintf_nonexistent.sh
index 160e739..b1eea10 100644
--- a/tests/gnu/fprintf_nonexistent.sh
+++ b/tests/gnu/fprintf_nonexistent.sh
@@ -1 +1 @@
-! invoke_bfs basic -fprintf scratch/nonexistent/path '%p\n'
+! invoke_bfs basic -fprintf nonexistent/path '%p\n'
diff --git a/tests/gnu/fstype_stacked.out b/tests/gnu/fstype_stacked.out
index 99c7511..c1e0e6c 100644
--- a/tests/gnu/fstype_stacked.out
+++ b/tests/gnu/fstype_stacked.out
@@ -1 +1 @@
-scratch/mnt
+mnt
diff --git a/tests/gnu/fstype_stacked.sh b/tests/gnu/fstype_stacked.sh
index a4b067a..a9739bb 100644
--- a/tests/gnu/fstype_stacked.sh
+++ b/tests/gnu/fstype_stacked.sh
@@ -1,12 +1,12 @@
test "$UNAME" = "Linux" || skip
-clean_scratch
-mkdir scratch/mnt
+cd "$TEST"
+mkdir mnt
-bfs_sudo mount -t tmpfs tmpfs scratch/mnt || skip
-defer bfs_sudo umount scratch/mnt
+bfs_sudo mount -t tmpfs tmpfs mnt || skip
+defer bfs_sudo umount mnt
-bfs_sudo mount -t ramfs ramfs scratch/mnt || skip
-defer bfs_sudo umount scratch/mnt
+bfs_sudo mount -t ramfs ramfs mnt || skip
+defer bfs_sudo umount mnt
-bfs_diff scratch/mnt -fstype ramfs -print -o -printf '%p: %F\n'
+bfs_diff mnt -fstype ramfs -print -o -printf '%p: %F\n'
diff --git a/tests/gnu/fstype_umount.sh b/tests/gnu/fstype_umount.sh
index b6da7a3..81c195f 100644
--- a/tests/gnu/fstype_umount.sh
+++ b/tests/gnu/fstype_umount.sh
@@ -1,12 +1,12 @@
test "$UNAME" = "Linux" || skip
-clean_scratch
+cd "$TEST"
-mkdir scratch/tmp
-bfs_sudo mount -t tmpfs tmpfs scratch/tmp || skip
-defer bfs_sudo umount -R scratch/tmp
+mkdir tmp
+bfs_sudo mount -t tmpfs tmpfs tmp || skip
+defer bfs_sudo umount -R tmp
-mkdir scratch/tmp/ram
-bfs_sudo mount -t ramfs ramfs scratch/tmp/ram || skip
+mkdir tmp/ram
+bfs_sudo mount -t ramfs ramfs tmp/ram || skip
-bfs_diff scratch/tmp -path scratch/tmp -exec "${SUDO[@]}" umount scratch/tmp/ram \; , -fstype ramfs -print
+bfs_diff tmp -path tmp -exec "${SUDO[@]}" umount tmp/ram \; , -fstype ramfs -print
diff --git a/tests/gnu/ignore_readdir_race.sh b/tests/gnu/ignore_readdir_race.sh
index 6586bcc..75165f6 100644
--- a/tests/gnu/ignore_readdir_race.sh
+++ b/tests/gnu/ignore_readdir_race.sh
@@ -1,5 +1,5 @@
-clean_scratch
-"$XTOUCH" scratch/{foo,bar}
+cd "$TEST"
+"$XTOUCH" foo bar
# -links 1 forces a stat() call, which will fail for the second file
-invoke_bfs scratch -mindepth 1 -ignore_readdir_race -links 1 -exec "$TESTS/remove-sibling.sh" {} \;
+invoke_bfs . -mindepth 1 -ignore_readdir_race -links 1 -exec "$TESTS/remove-sibling.sh" {} \;
diff --git a/tests/gnu/ignore_readdir_race_notdir.sh b/tests/gnu/ignore_readdir_race_notdir.sh
index 5b8b56d..8b03164 100644
--- a/tests/gnu/ignore_readdir_race_notdir.sh
+++ b/tests/gnu/ignore_readdir_race_notdir.sh
@@ -1,5 +1,5 @@
# Check -ignore_readdir_race handling when a directory is replaced with a file
-clean_scratch
-"$XTOUCH" -p scratch/foo/bar
+cd "$TEST"
+"$XTOUCH" -p foo/bar
-invoke_bfs scratch -mindepth 1 -ignore_readdir_race -execdir rm -r {} \; -execdir "$XTOUCH" {} \;
+invoke_bfs . -mindepth 1 -ignore_readdir_race -execdir rm -r {} \; -execdir "$XTOUCH" {} \;
diff --git a/tests/gnu/inum_automount.out b/tests/gnu/inum_automount.out
index 7b53ae3..3378e2d 100644
--- a/tests/gnu/inum_automount.out
+++ b/tests/gnu/inum_automount.out
@@ -1 +1 @@
-scratch/automnt
+./automnt
diff --git a/tests/gnu/inum_automount.sh b/tests/gnu/inum_automount.sh
index 261a4be..86b23e1 100644
--- a/tests/gnu/inum_automount.sh
+++ b/tests/gnu/inum_automount.sh
@@ -2,13 +2,13 @@
command -v systemd-mount &>/dev/null || skip
-clean_scratch
-mkdir scratch/{foo,automnt}
+cd "$TEST"
+mkdir foo automnt
-bfs_sudo systemd-mount -A -o bind basic scratch/automnt || skip
-defer bfs_sudo systemd-umount scratch/automnt
+bfs_sudo systemd-mount -A -o bind "$TMP/basic" automnt || skip
+defer bfs_sudo systemd-umount automnt
-before=$(inum scratch/automnt)
-bfs_diff scratch -inum "$before" -prune
-after=$(inum scratch/automnt)
+before=$(inum automnt)
+bfs_diff . -inum "$before" -prune
+after=$(inum automnt)
((before == after))
diff --git a/tests/gnu/printf_Y_error.out b/tests/gnu/printf_Y_error.out
index 410a9b5..1dd554e 100644
--- a/tests/gnu/printf_Y_error.out
+++ b/tests/gnu/printf_Y_error.out
@@ -1,3 +1,3 @@
-(scratch) () d d
-(scratch/bar) (foo/bar) l ?
-(scratch/foo) () d d
+(.) () d d
+(./bar) (foo/bar) l ?
+(./foo) () d d
diff --git a/tests/gnu/printf_Y_error.sh b/tests/gnu/printf_Y_error.sh
index 13d52e3..d3130ce 100644
--- a/tests/gnu/printf_Y_error.sh
+++ b/tests/gnu/printf_Y_error.sh
@@ -1,8 +1,8 @@
-clean_scratch
-mkdir scratch/foo
-ln -s foo/bar scratch/bar
+cd "$TEST"
+mkdir foo
+ln -s foo/bar bar
-chmod -x scratch/foo
-defer chmod +x scratch/foo
+chmod -x foo
+defer chmod +x foo
-! bfs_diff scratch -printf '(%p) (%l) %y %Y\n'
+! bfs_diff . -printf '(%p) (%l) %y %Y\n'
diff --git a/tests/gnu/regex_invalid_utf8.out b/tests/gnu/regex_invalid_utf8.out
index 03f3f58..a133b1a 100644
--- a/tests/gnu/regex_invalid_utf8.out
+++ b/tests/gnu/regex_invalid_utf8.out
@@ -1 +1 @@
-scratch/â„
+./â„
diff --git a/tests/gnu/regex_invalid_utf8.sh b/tests/gnu/regex_invalid_utf8.sh
index 603d688..7006dcd 100644
--- a/tests/gnu/regex_invalid_utf8.sh
+++ b/tests/gnu/regex_invalid_utf8.sh
@@ -1,8 +1,8 @@
-clean_scratch
+cd "$TEST"
# Incomplete UTF-8 sequences
-touch scratch/$'\xC3' || skip
-touch scratch/$'\xE2\x84' || skip
-touch scratch/$'\xF0\x9F\x92' || skip
+touch $'\xC3' || skip
+touch $'\xE2\x84' || skip
+touch $'\xF0\x9F\x92' || skip
-bfs_diff scratch -regex 'scratch/..'
+bfs_diff . -regex '\./..'
diff --git a/tests/gnu/xtype_bind_mount.out b/tests/gnu/xtype_bind_mount.out
index 16804ea..d18d706 100644
--- a/tests/gnu/xtype_bind_mount.out
+++ b/tests/gnu/xtype_bind_mount.out
@@ -1,2 +1,2 @@
-scratch/link
-scratch/null
+./link
+./null
diff --git a/tests/gnu/xtype_bind_mount.sh b/tests/gnu/xtype_bind_mount.sh
index 1cc20ec..35fb3f5 100644
--- a/tests/gnu/xtype_bind_mount.sh
+++ b/tests/gnu/xtype_bind_mount.sh
@@ -1,10 +1,10 @@
test "$UNAME" = "Linux" || skip
-clean_scratch
-"$XTOUCH" scratch/{file,null}
-ln -s /dev/null scratch/link
+cd "$TEST"
+"$XTOUCH" file null
+ln -s /dev/null link
-bfs_sudo mount --bind /dev/null scratch/null || skip
-defer bfs_sudo umount scratch/null
+bfs_sudo mount --bind /dev/null null || skip
+defer bfs_sudo umount null
-bfs_diff -L scratch -type c
+bfs_diff . -xtype c
diff --git a/tests/posix/L_xdev.out b/tests/posix/L_xdev.out
index 2e80082..788579d 100644
--- a/tests/posix/L_xdev.out
+++ b/tests/posix/L_xdev.out
@@ -1,5 +1,5 @@
-scratch
-scratch/foo
-scratch/foo/bar
-scratch/foo/qux
-scratch/mnt
+.
+./foo
+./foo/bar
+./foo/qux
+./mnt
diff --git a/tests/posix/L_xdev.sh b/tests/posix/L_xdev.sh
index d16c211..82d8605 100644
--- a/tests/posix/L_xdev.sh
+++ b/tests/posix/L_xdev.sh
@@ -1,13 +1,13 @@
test "$UNAME" = "Darwin" && skip
-clean_scratch
-mkdir scratch/{foo,mnt}
+cd "$TEST"
+mkdir foo mnt
-bfs_sudo mount -t tmpfs tmpfs scratch/mnt || skip
-defer bfs_sudo umount scratch/mnt
+bfs_sudo mount -t tmpfs tmpfs mnt || skip
+defer bfs_sudo umount mnt
-ln -s ../mnt scratch/foo/bar
-"$XTOUCH" scratch/mnt/baz
-ln -s ../mnt/baz scratch/foo/qux
+ln -s ../mnt foo/bar
+"$XTOUCH" mnt/baz
+ln -s ../mnt/baz foo/qux
-bfs_diff -L scratch -xdev
+bfs_diff -L . -xdev
diff --git a/tests/posix/depth_error.out b/tests/posix/depth_error.out
index ed0e9a1..7ed5f0d 100644
--- a/tests/posix/depth_error.out
+++ b/tests/posix/depth_error.out
@@ -1,2 +1,2 @@
-scratch
-scratch/foo
+.
+./foo
diff --git a/tests/posix/depth_error.sh b/tests/posix/depth_error.sh
index a6429d1..db414ba 100644
--- a/tests/posix/depth_error.sh
+++ b/tests/posix/depth_error.sh
@@ -1,7 +1,7 @@
-clean_scratch
-"$XTOUCH" -p scratch/foo/bar
+cd "$TEST"
+"$XTOUCH" -p foo/bar
-chmod a-r scratch/foo
-defer chmod +r scratch/foo
+chmod a-r foo
+defer chmod +r foo
-! bfs_diff scratch -depth
+! bfs_diff . -depth
diff --git a/tests/posix/overlayfs.out b/tests/posix/overlayfs.out
index 754d01d..b472b56 100644
--- a/tests/posix/overlayfs.out
+++ b/tests/posix/overlayfs.out
@@ -1,5 +1,5 @@
-scratch/merged
-scratch/merged/bar
-scratch/merged/baz
-scratch/merged/baz/qux
-scratch/merged/foo
+merged
+merged/bar
+merged/baz
+merged/baz/qux
+merged/foo
diff --git a/tests/posix/overlayfs.sh b/tests/posix/overlayfs.sh
index 4cccebf..21ef22f 100644
--- a/tests/posix/overlayfs.sh
+++ b/tests/posix/overlayfs.sh
@@ -1,11 +1,11 @@
test "$UNAME" = "Linux" || skip
-clean_scratch
-"$XTOUCH" -p scratch/{lower/{foo,bar,baz},upper/{bar,baz/qux}}
+cd "$TEST"
+"$XTOUCH" -p lower/{foo,bar,baz} upper/{bar,baz/qux}
-mkdir -p scratch/{work,merged}
-bfs_sudo mount -t overlay overlay -olowerdir=scratch/lower,upperdir=scratch/upper,workdir=scratch/work scratch/merged || skip
-defer bfs_sudo rm -rf scratch/work
-defer bfs_sudo umount scratch/merged
+mkdir -p work merged
+bfs_sudo mount -t overlay overlay -olowerdir=lower,upperdir=upper,workdir=work merged || skip
+defer bfs_sudo rm -rf work
+defer bfs_sudo umount merged
-bfs_diff scratch/merged
+bfs_diff merged
diff --git a/tests/posix/readdir_error.sh b/tests/posix/readdir_error.sh
index fc48eb1..82fcd17 100644
--- a/tests/posix/readdir_error.sh
+++ b/tests/posix/readdir_error.sh
@@ -1,27 +1,27 @@
test "$UNAME" = "Linux" || skip
-clean_scratch
-mkfifo scratch/{fever,pid,wait,running}
+cd "$TEST"
+mkfifo hang pid wait running
(
# Create a zombie process
- cat scratch/fever >/dev/null &
- # Write the PID to scratch/pid
- echo $! >scratch/pid
+ cat hang >/dev/null &
+ # Write the PID to pid
+ echo $! >pid
# Don't wait on the zombie process
- exec cat scratch/wait scratch/fever >scratch/running
+ exec cat wait hang >running
) &
# Kill the parent cat on exit
defer kill -9 %1
# Read the child PID
-read -r pid <scratch/pid
+read -r pid <pid
# Make sure the parent cat is running before we kill the child, because bash
# will wait() on its children
-echo >scratch/wait &
-read -r _ <scratch/running
+echo >wait &
+read -r _ <running
# Turn the child into a zombie
kill -9 "$pid"
diff --git a/tests/posix/type_bind_mount.out b/tests/posix/type_bind_mount.out
index 6435159..2f06c47 100644
--- a/tests/posix/type_bind_mount.out
+++ b/tests/posix/type_bind_mount.out
@@ -1 +1 @@
-scratch/null
+./null
diff --git a/tests/posix/type_bind_mount.sh b/tests/posix/type_bind_mount.sh
index 7852167..97b7305 100644
--- a/tests/posix/type_bind_mount.sh
+++ b/tests/posix/type_bind_mount.sh
@@ -1,9 +1,9 @@
test "$UNAME" = "Linux" || skip
-clean_scratch
-"$XTOUCH" scratch/{file,null}
+cd "$TEST"
+"$XTOUCH" file null
-bfs_sudo mount --bind /dev/null scratch/null || skip
-defer bfs_sudo umount scratch/null
+bfs_sudo mount --bind /dev/null null || skip
+defer bfs_sudo umount null
-bfs_diff scratch -type c
+bfs_diff . -type c
diff --git a/tests/posix/unionfs.out b/tests/posix/unionfs.out
index 6d0fa3c..28c4ec1 100644
--- a/tests/posix/unionfs.out
+++ b/tests/posix/unionfs.out
@@ -1,10 +1,10 @@
-scratch
-scratch/lower
-scratch/lower/bar
-scratch/lower/baz
-scratch/lower/foo
-scratch/upper
-scratch/upper/bar
-scratch/upper/baz
-scratch/upper/baz/qux
-scratch/upper/foo
+.
+./lower
+./lower/bar
+./lower/baz
+./lower/foo
+./upper
+./upper/bar
+./upper/baz
+./upper/baz/qux
+./upper/foo
diff --git a/tests/posix/unionfs.sh b/tests/posix/unionfs.sh
index 0f68a43..94d3929 100644
--- a/tests/posix/unionfs.sh
+++ b/tests/posix/unionfs.sh
@@ -1,6 +1,9 @@
[[ "$UNAME" == *BSD* ]] || skip
-clean_scratch
-"$XTOUCH" -p scratch/{lower/{foo,bar,baz},upper/{bar,baz/qux}}
-bfs_sudo mount -t unionfs -o below scratch/{lower,upper} || skip
-defer bfs_sudo umount scratch/upper
-bfs_diff scratch
+
+cd "$TEST"
+"$XTOUCH" -p lower/{foo,bar,baz} upper/{bar,baz/qux}
+
+bfs_sudo mount -t unionfs -o below lower upper || skip
+defer bfs_sudo umount upper
+
+bfs_diff .
diff --git a/tests/posix/xdev.out b/tests/posix/xdev.out
index f7839fb..6253434 100644
--- a/tests/posix/xdev.out
+++ b/tests/posix/xdev.out
@@ -1,4 +1,4 @@
-scratch
-scratch/foo
-scratch/foo/bar
-scratch/mnt
+.
+./foo
+./foo/bar
+./mnt
diff --git a/tests/posix/xdev.sh b/tests/posix/xdev.sh
index 461a1e9..c59c5c8 100644
--- a/tests/posix/xdev.sh
+++ b/tests/posix/xdev.sh
@@ -1,11 +1,11 @@
test "$UNAME" = "Darwin" && skip
-clean_scratch
-mkdir scratch/{foo,mnt}
+cd "$TEST"
+mkdir foo mnt
-bfs_sudo mount -t tmpfs tmpfs scratch/mnt || skip
-defer bfs_sudo umount scratch/mnt
+bfs_sudo mount -t tmpfs tmpfs mnt || skip
+defer bfs_sudo umount mnt
-"$XTOUCH" scratch/foo/bar scratch/mnt/baz
+"$XTOUCH" foo/bar mnt/baz
-bfs_diff scratch -xdev
+bfs_diff . -xdev
diff --git a/tests/run.sh b/tests/run.sh
index 7b7fe24..28801f4 100644
--- a/tests/run.sh
+++ b/tests/run.sh
@@ -76,8 +76,8 @@ run_tests() {
for TEST in "${TEST_CASES[@]}"; do
printf "$TEST_FMT" "$TEST"
+ mkdir -p "$TMP/$TEST"
OUT="$TMP/$TEST.out"
- mkdir -p "${OUT%/*}"
if ((VERBOSE_ERRORS)); then
run_test "$TESTS/$TEST.sh"
@@ -252,29 +252,29 @@ bfs_pty() {
# Create a directory tree with xattrs in scratch
make_xattrs() {
- clean_scratch
+ cd "$TEST"
- "$XTOUCH" scratch/{normal,xattr,xattr_2}
- ln -s xattr scratch/link
- ln -s normal scratch/xattr_link
+ "$XTOUCH" normal xattr xattr_2
+ ln -s xattr link
+ ln -s normal xattr_link
case "$UNAME" in
Darwin)
- xattr -w bfs_test true scratch/xattr \
- && xattr -w bfs_test_2 true scratch/xattr_2 \
- && xattr -s -w bfs_test true scratch/xattr_link
+ xattr -w bfs_test true xattr \
+ && xattr -w bfs_test_2 true xattr_2 \
+ && xattr -s -w bfs_test true xattr_link
;;
FreeBSD)
- setextattr user bfs_test true scratch/xattr \
- && setextattr user bfs_test_2 true scratch/xattr_2 \
- && setextattr -h user bfs_test true scratch/xattr_link
+ setextattr user bfs_test true xattr \
+ && setextattr user bfs_test_2 true xattr_2 \
+ && setextattr -h user bfs_test true xattr_link
;;
*)
# Linux tmpfs doesn't support the user.* namespace, so we use the security.*
# namespace, which is writable by root and readable by others
- bfs_sudo setfattr -n security.bfs_test scratch/xattr \
- && bfs_sudo setfattr -n security.bfs_test_2 scratch/xattr_2 \
- && bfs_sudo setfattr -h -n security.bfs_test scratch/xattr_link
+ bfs_sudo setfattr -n security.bfs_test xattr \
+ && bfs_sudo setfattr -n security.bfs_test_2 xattr_2 \
+ && bfs_sudo setfattr -h -n security.bfs_test xattr_link
;;
esac
}
diff --git a/tests/stddirs.sh b/tests/stddirs.sh
index acc23dc..a51c878 100644
--- a/tests/stddirs.sh
+++ b/tests/stddirs.sh
@@ -136,28 +136,6 @@ make_stddirs() {
make_weirdnames "$TMP/weirdnames"
make_deep "$TMP/deep"
make_rainbow "$TMP/rainbow"
- mkdir "$TMP/scratch"
-}
-
-# Clean whatever was left in the scratch directory
-clean_scratch() {
- if [ -e "$TMP/scratch" ]; then
- # Try to unmount anything left behind
- if ((${#SUDO[@]})) && command -v mountpoint &>/dev/null; then
- for path in "$TMP/scratch"/*; do
- if mountpoint -q "$path"; then
- sudo umount "$path"
- fi
- done
- fi
-
- # Reset any modified permissions
- chmod -R +rX "$TMP/scratch"
-
- rm -rf "$TMP/scratch"
- fi
-
- mkdir "$TMP/scratch"
}
# Clean up temporary directories on exit
@@ -169,8 +147,5 @@ clean_stddirs() {
fi
done
- # In case a test left anything weird in scratch/
- clean_scratch
-
rm -rf "$TMP"
}