From 85ffba53290a5119891fb04bc3f1d1a8cf2d1410 Mon Sep 17 00:00:00 2001 From: Auke Kok Date: Tue, 20 Jan 2026 11:50:16 -0800 Subject: [PATCH] Update existing tests to use scratch helpers. Signed-off-by: Auke Kok --- tests/tests/basic-bad-mounts.sh | 15 +++---- tests/tests/change-devices.sh | 45 ++++++++++--------- tests/tests/enospc.sh | 20 +++------ tests/tests/resize-devices.sh | 77 +++++++++++++++------------------ 4 files changed, 70 insertions(+), 87 deletions(-) diff --git a/tests/tests/basic-bad-mounts.sh b/tests/tests/basic-bad-mounts.sh index d8bc13ef..a20f36b6 100644 --- a/tests/tests/basic-bad-mounts.sh +++ b/tests/tests/basic-bad-mounts.sh @@ -12,25 +12,22 @@ mount_fail() } echo "== prepare devices, mount point, and logs" -SCR="$T_TMPDIR/mnt.scratch" -mkdir -p "$SCR" +t_scratch_mkfs > $T_TMP.mount.out -scoutfs mkfs -f -Q 0,127.0.0.1,$T_SCRATCH_PORT "$T_EX_META_DEV" "$T_EX_DATA_DEV" > $T_TMP.mkfs.out 2>&1 \ - || t_fail "mkfs failed" echo "== bad devices, bad options" -mount_fail -o _bad /dev/null /dev/null "$SCR" +mount_fail -o _bad /dev/null /dev/null "$T_MSCR" echo "== swapped devices" -mount_fail -o metadev_path=$T_EX_DATA_DEV,quorum_slot_nr=0 "$T_EX_META_DEV" "$SCR" +mount_fail -o metadev_path=$T_EX_DATA_DEV,quorum_slot_nr=0 "$T_EX_META_DEV" "$T_MSCR" echo "== both meta devices" -mount_fail -o metadev_path=$T_EX_META_DEV,quorum_slot_nr=0 "$T_EX_META_DEV" "$SCR" +mount_fail -o metadev_path=$T_EX_META_DEV,quorum_slot_nr=0 "$T_EX_META_DEV" "$T_MSCR" echo "== both data devices" -mount_fail -o metadev_path=$T_EX_DATA_DEV,quorum_slot_nr=0 "$T_EX_DATA_DEV" "$SCR" +mount_fail -o metadev_path=$T_EX_DATA_DEV,quorum_slot_nr=0 "$T_EX_DATA_DEV" "$T_MSCR" echo "== good volume, bad option and good options" -mount_fail -o _bad,metadev_path=$T_EX_META_DEV,quorum_slot_nr=0 "$T_EX_DATA_DEV" "$SCR" +mount_fail -o _bad,metadev_path=$T_EX_META_DEV,quorum_slot_nr=0 "$T_EX_DATA_DEV" "$T_MSCR" t_pass diff --git a/tests/tests/change-devices.sh b/tests/tests/change-devices.sh index 2436c5fa..7f021919 100644 --- a/tests/tests/change-devices.sh +++ b/tests/tests/change-devices.sh @@ -11,9 +11,8 @@ truncate -s $sz "$T_TMP.equal" truncate -s $large_sz "$T_TMP.large" echo "== make scratch fs" -t_quiet scoutfs mkfs -f -Q 0,127.0.0.1,$T_SCRATCH_PORT "$T_EX_META_DEV" "$T_EX_DATA_DEV" -SCR="$T_TMPDIR/mnt.scratch" -mkdir -p "$SCR" +t_scratch_mkfs +mkdir -p "$T_MSCR" echo "== small new data device fails" t_rc scoutfs prepare-empty-data-device "$T_EX_META_DEV" "$T_TMP.small" @@ -23,13 +22,13 @@ t_rc scoutfs prepare-empty-data-device --check "$T_EX_META_DEV" "$T_TMP.small" t_rc scoutfs prepare-empty-data-device --check "$T_EX_META_DEV" echo "== preparing while mounted fails" -mount -t scoutfs -o metadev_path=$T_EX_META_DEV,quorum_slot_nr=0 "$T_EX_DATA_DEV" "$SCR" +mount -t scoutfs -o metadev_path=$T_EX_META_DEV,quorum_slot_nr=0 "$T_EX_DATA_DEV" "$T_MSCR" t_rc scoutfs prepare-empty-data-device "$T_EX_META_DEV" "$T_TMP.equal" -umount "$SCR" +umount "$T_MSCR" echo "== preparing without recovery fails" -mount -t scoutfs -o metadev_path=$T_EX_META_DEV,quorum_slot_nr=0 "$T_EX_DATA_DEV" "$SCR" -umount -f "$SCR" +mount -t scoutfs -o metadev_path=$T_EX_META_DEV,quorum_slot_nr=0 "$T_EX_DATA_DEV" "$T_MSCR" +umount -f "$T_MSCR" t_rc scoutfs prepare-empty-data-device "$T_EX_META_DEV" "$T_TMP.equal" echo "== check sees metadata errors" @@ -37,16 +36,16 @@ t_rc scoutfs prepare-empty-data-device --check "$T_EX_META_DEV" t_rc scoutfs prepare-empty-data-device --check "$T_EX_META_DEV" "$T_TMP.equal" echo "== preparing with file data fails" -mount -t scoutfs -o metadev_path=$T_EX_META_DEV,quorum_slot_nr=0 "$T_EX_DATA_DEV" "$SCR" -echo hi > "$SCR"/file -umount "$SCR" +mount -t scoutfs -o metadev_path=$T_EX_META_DEV,quorum_slot_nr=0 "$T_EX_DATA_DEV" "$T_MSCR" +echo hi > "$T_MSCR"/file +umount "$T_MSCR" scoutfs print "$T_EX_META_DEV" > "$T_TMP.print" t_rc scoutfs prepare-empty-data-device "$T_EX_META_DEV" "$T_TMP.equal" echo "== preparing after emptied" -mount -t scoutfs -o metadev_path=$T_EX_META_DEV,quorum_slot_nr=0 "$T_EX_DATA_DEV" "$SCR" -rm -f "$SCR"/file -umount "$SCR" +mount -t scoutfs -o metadev_path=$T_EX_META_DEV,quorum_slot_nr=0 "$T_EX_DATA_DEV" "$T_MSCR" +rm -f "$T_MSCR"/file +umount "$T_MSCR" t_rc scoutfs prepare-empty-data-device "$T_EX_META_DEV" "$T_TMP.equal" echo "== checks pass" @@ -55,22 +54,22 @@ t_rc scoutfs prepare-empty-data-device --check "$T_EX_META_DEV" "$T_TMP.equal" echo "== using prepared" scr_loop=$(losetup --find --show "$T_TMP.equal") -mount -t scoutfs -o metadev_path=$T_EX_META_DEV,quorum_slot_nr=0 "$scr_loop" "$SCR" -touch "$SCR"/equal_prepared -equal_tot=$(scoutfs statfs -s total_data_blocks -p "$SCR") -umount "$SCR" +mount -t scoutfs -o metadev_path=$T_EX_META_DEV,quorum_slot_nr=0 "$scr_loop" "$T_MSCR" +touch "$T_MSCR"/equal_prepared +equal_tot=$(scoutfs statfs -s total_data_blocks -p "$T_MSCR") +umount "$T_MSCR" losetup -d "$scr_loop" echo "== preparing larger and resizing" t_rc scoutfs prepare-empty-data-device "$T_EX_META_DEV" "$T_TMP.large" scr_loop=$(losetup --find --show "$T_TMP.large") -mount -t scoutfs -o metadev_path=$T_EX_META_DEV,quorum_slot_nr=0 "$scr_loop" "$SCR" -touch "$SCR"/large_prepared -ls "$SCR" -scoutfs resize-devices -p "$SCR" -d $large_sz -large_tot=$(scoutfs statfs -s total_data_blocks -p "$SCR") +mount -t scoutfs -o metadev_path=$T_EX_META_DEV,quorum_slot_nr=0 "$scr_loop" "$T_MSCR" +touch "$T_MSCR"/large_prepared +ls "$T_MSCR" +scoutfs resize-devices -p "$T_MSCR" -d $large_sz +large_tot=$(scoutfs statfs -s total_data_blocks -p "$T_MSCR") test "$large_tot" -gt "$equal_tot" ; echo "resized larger test rc: $?" -umount "$SCR" +umount "$T_MSCR" losetup -d "$scr_loop" echo "== cleanup" diff --git a/tests/tests/enospc.sh b/tests/tests/enospc.sh index 3f4cc1cd..b84b6ae4 100644 --- a/tests/tests/enospc.sh +++ b/tests/tests/enospc.sh @@ -54,21 +54,16 @@ after=$(free_blocks Data "$T_M0") test "$before" == "$after" || \ t_fail "$after free data blocks after rm, expected $before" -# XXX this is all pretty manual, would be nice to have helpers echo "== make small meta fs" # meta device just big enough for reserves and the metadata we'll fill -scoutfs mkfs -A -f -Q 0,127.0.0.1,$T_SCRATCH_PORT -m 10G "$T_EX_META_DEV" "$T_EX_DATA_DEV" > $T_TMP.mkfs.out 2>&1 || \ - t_fail "mkfs failed" -SCR="$T_TMPDIR/mnt.scratch" -mkdir -p "$SCR" -mount -t scoutfs -o metadev_path=$T_EX_META_DEV,quorum_slot_nr=0 \ - "$T_EX_DATA_DEV" "$SCR" +t_scratch_mkfs -A -m 10G +t_scratch_mount echo "== create large xattrs until we fill up metadata" -mkdir -p "$SCR/xattrs" +mkdir -p "$T_MSCR/xattrs" for f in $(seq 1 100000); do - file="$SCR/xattrs/file-$f" + file="$T_MSCR/xattrs/file-$f" touch "$file" LC_ALL=C create_xattr_loop -c 1000 -n user.scoutfs-enospc -p "$file" -s 65535 > $T_TMP.cxl 2>&1 @@ -84,10 +79,10 @@ for f in $(seq 1 100000); do done echo "== remove files with xattrs after enospc" -rm -rf "$SCR/xattrs" +rm -rf "$T_MSCR/xattrs" echo "== make sure we can create again" -file="$SCR/file-after" +file="$T_MSCR/file-after" C=120 while (( C-- )); do touch $file 2> /dev/null && break @@ -99,7 +94,6 @@ sync rm -f "$file" echo "== cleanup small meta fs" -umount "$SCR" -rmdir "$SCR" +t_scratch_umount t_pass diff --git a/tests/tests/resize-devices.sh b/tests/tests/resize-devices.sh index cceda43c..f3649e3a 100644 --- a/tests/tests/resize-devices.sh +++ b/tests/tests/resize-devices.sh @@ -19,8 +19,8 @@ df_free() { } same_totals() { - cur_meta_tot=$(statfs_total meta "$SCR") - cur_data_tot=$(statfs_total data "$SCR") + cur_meta_tot=$(statfs_total meta "$T_MSCR") + cur_data_tot=$(statfs_total data "$T_MSCR") test "$cur_meta_tot" == "$exp_meta_tot" || \ t_fail "cur total_meta_blocks $cur_meta_tot != expected $exp_meta_tot" @@ -34,10 +34,10 @@ same_totals() { # some slop to account for reserved blocks and concurrent allocation. # devices_grew() { - cur_meta_tot=$(statfs_total meta "$SCR") - cur_data_tot=$(statfs_total data "$SCR") - cur_meta_df=$(df_free MetaData "$SCR") - cur_data_df=$(df_free Data "$SCR") + cur_meta_tot=$(statfs_total meta "$T_MSCR") + cur_data_tot=$(statfs_total data "$T_MSCR") + cur_meta_df=$(df_free MetaData "$T_MSCR") + cur_data_df=$(df_free Data "$T_MSCR") local grow_meta_tot=$(echo "$exp_meta_tot * 2" | bc) local grow_data_tot=$(echo "$exp_data_tot * 2" | bc) @@ -70,19 +70,13 @@ size_data=$(blockdev --getsize64 "$T_EX_DATA_DEV") quarter_meta=$(echo "$size_meta / 4" | bc) quarter_data=$(echo "$size_data / 4" | bc) -# XXX this is all pretty manual, would be nice to have helpers echo "== make initial small fs" -scoutfs mkfs -A -f -Q 0,127.0.0.1,$T_SCRATCH_PORT -m $quarter_meta -d $quarter_data \ - "$T_EX_META_DEV" "$T_EX_DATA_DEV" > $T_TMP.mkfs.out 2>&1 || \ - t_fail "mkfs failed" -SCR="$T_TMPDIR/mnt.scratch" -mkdir -p "$SCR" -mount -t scoutfs -o metadev_path=$T_EX_META_DEV,quorum_slot_nr=0 \ - "$T_EX_DATA_DEV" "$SCR" +t_scratch_mkfs -A -m $quarter_meta -d $quarter_data +t_scratch_mount # then calculate sizes based on blocks that mkfs used -quarter_meta=$(echo "$(statfs_total meta "$SCR") * 64 * 1024" | bc) -quarter_data=$(echo "$(statfs_total data "$SCR") * 4 * 1024" | bc) +quarter_meta=$(echo "$(statfs_total meta "$T_MSCR") * 64 * 1024" | bc) +quarter_data=$(echo "$(statfs_total data "$T_MSCR") * 4 * 1024" | bc) whole_meta=$(echo "$quarter_meta * 4" | bc) whole_data=$(echo "$quarter_data * 4" | bc) outsize_meta=$(echo "$whole_meta * 2" | bc) @@ -93,59 +87,58 @@ shrink_meta=$(echo "$quarter_meta / 2" | bc) shrink_data=$(echo "$quarter_data / 2" | bc) # and save expected values for checks -exp_meta_tot=$(statfs_total meta "$SCR") -exp_meta_df=$(df_free MetaData "$SCR") -exp_data_tot=$(statfs_total data "$SCR") -exp_data_df=$(df_free Data "$SCR") +exp_meta_tot=$(statfs_total meta "$T_MSCR") +exp_meta_df=$(df_free MetaData "$T_MSCR") +exp_data_tot=$(statfs_total data "$T_MSCR") +exp_data_df=$(df_free Data "$T_MSCR") echo "== 0s do nothing" -scoutfs resize-devices -p "$SCR" -scoutfs resize-devices -p "$SCR" -m 0 -scoutfs resize-devices -p "$SCR" -d 0 -scoutfs resize-devices -p "$SCR" -m 0 -d 0 +scoutfs resize-devices -p "$T_MSCR" +scoutfs resize-devices -p "$T_MSCR" -m 0 +scoutfs resize-devices -p "$T_MSCR" -d 0 +scoutfs resize-devices -p "$T_MSCR" -m 0 -d 0 echo "== shrinking fails" -scoutfs resize-devices -p "$SCR" -m $shrink_meta -scoutfs resize-devices -p "$SCR" -d $shrink_data -scoutfs resize-devices -p "$SCR" -m $shrink_meta -d $shrink_data +scoutfs resize-devices -p "$T_MSCR" -m $shrink_meta +scoutfs resize-devices -p "$T_MSCR" -d $shrink_data +scoutfs resize-devices -p "$T_MSCR" -m $shrink_meta -d $shrink_data same_totals echo "== existing sizes do nothing" -scoutfs resize-devices -p "$SCR" -m $quarter_meta -scoutfs resize-devices -p "$SCR" -d $quarter_data -scoutfs resize-devices -p "$SCR" -m $quarter_meta -d $quarter_data +scoutfs resize-devices -p "$T_MSCR" -m $quarter_meta +scoutfs resize-devices -p "$T_MSCR" -d $quarter_data +scoutfs resize-devices -p "$T_MSCR" -m $quarter_meta -d $quarter_data same_totals echo "== growing outside device fails" -scoutfs resize-devices -p "$SCR" -m $outsize_meta -scoutfs resize-devices -p "$SCR" -d $outsize_data -scoutfs resize-devices -p "$SCR" -m $outsize_meta -d $outsize_data +scoutfs resize-devices -p "$T_MSCR" -m $outsize_meta +scoutfs resize-devices -p "$T_MSCR" -d $outsize_data +scoutfs resize-devices -p "$T_MSCR" -m $outsize_meta -d $outsize_data same_totals echo "== resizing meta works" -scoutfs resize-devices -p "$SCR" -m $half_meta +scoutfs resize-devices -p "$T_MSCR" -m $half_meta devices_grew meta echo "== resizing data works" -scoutfs resize-devices -p "$SCR" -d $half_data +scoutfs resize-devices -p "$T_MSCR" -d $half_data devices_grew data echo "== shrinking back fails" -scoutfs resize-devices -p "$SCR" -m $quarter_meta -scoutfs resize-devices -p "$SCR" -m $quarter_data +scoutfs resize-devices -p "$T_MSCR" -m $quarter_meta +scoutfs resize-devices -p "$T_MSCR" -m $quarter_data same_totals echo "== resizing again does nothing" -scoutfs resize-devices -p "$SCR" -m $half_meta -scoutfs resize-devices -p "$SCR" -m $half_data +scoutfs resize-devices -p "$T_MSCR" -m $half_meta +scoutfs resize-devices -p "$T_MSCR" -m $half_data same_totals echo "== resizing to full works" -scoutfs resize-devices -p "$SCR" -m $whole_meta -d $whole_data +scoutfs resize-devices -p "$T_MSCR" -m $whole_meta -d $whole_data devices_grew meta data echo "== cleanup extra fs" -umount "$SCR" -rmdir "$SCR" +t_scratch_umount t_pass