From 1e821172040419f802abfc24942d920b97d0dc46 Mon Sep 17 00:00:00 2001 From: Theodore Dubois Date: Fri, 8 May 2026 16:54:48 -0700 Subject: [PATCH] Make sure to unmount filesystems before running rm -rf If one test fails in such a way that it doesn't clean up its mounts, this shouldn't be able to affect the results of future tests. Signed-off-by: Theodore Dubois --- tests/filesystem/Filesystem.pm | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/tests/filesystem/Filesystem.pm b/tests/filesystem/Filesystem.pm index f169464d..e16506d5 100644 --- a/tests/filesystem/Filesystem.pm +++ b/tests/filesystem/Filesystem.pm @@ -145,22 +145,28 @@ sub make_fs { } } +sub umount_rm { + my ($path) = @_; + system("umount -R -l $path 2>/dev/null"); + system("rm -rf $path 2>/dev/null"); +} + sub mk_mntpoint_1 { my ($path) = @_; - system("rm -rf $path/mp1 2>/dev/null"); + umount_rm("$path/mp1"); system("mkdir -p $path/mp1 2>/dev/null"); } sub mk_mntpoint_2 { my ($path) = @_; - system("rm -rf $path/mp2 2>/dev/null"); + umount_rm("$path/mp2"); system("mkdir -p $path/mp2 2>/dev/null"); } sub cleanup { my ($base) = @_; - system("rm -rf $base/fstest 2>/dev/null"); - system("rm -rf $base/mntpoint 2>/dev/null"); + umount_rm("$base/fstest"); + umount_rm("$base/mntpoint"); } sub cleanup1 { @@ -168,8 +174,8 @@ sub cleanup1 { system("udevadm settle"); system("losetup -d $d 2>/dev/null"); system("udevadm settle"); - system("rm -rf $base/fstest 2>/dev/null"); - system("rm -rf $base/mntpoint 2>/dev/null"); + umount_rm("$base/fstest"); + umount_rm("$base/mntpoint"); } # Cleanup any attached /dev/loop entries