aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Norris <rob.norris@klarasystems.com>2024-04-16 04:56:35 +0000
committerBrian Behlendorf <behlendorf1@llnl.gov>2024-04-19 23:06:56 +0000
commit26d49fec5f862818a0410fedbba1efded0543374 (patch)
tree449416387e0cc1f65bade65b954fecffb2ff764f
parentf75574cbaaa1ade5bf24ab11751cbd5bc62ef7f1 (diff)
downloadsrc-26d49fec5f862818a0410fedbba1efded0543374.tar.gz
src-26d49fec5f862818a0410fedbba1efded0543374.zip
tests/quota: consistently clear quota property between tests
When run in isolation, quota_005_pos would fail in cleanup because it would attempt restore the previous quota, which was 0, and so get an error (because you can't set quota to '0', you have to use 'none'). It worked as part of the quota tag set because the previous tests did not clean up their quota, so there was always a non-zero quota to return to. This adds a simple quota reset function, and has all quota tests run it at cleanup. For the ones that weren't cleaning up, they now do, and for quota_005_pos, which was trying to do the right thing, it now just resets it. Sponsored-by: Klara, Inc. Sponsored-by: Wasabi Technology, Inc. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: George Melikov <mail@gmelikov.ru> Signed-off-by: Rob Norris <rob.norris@klarasystems.com> Closes #16097
-rw-r--r--tests/zfs-tests/tests/functional/quota/quota.kshlib7
-rwxr-xr-xtests/zfs-tests/tests/functional/quota/quota_001_pos.ksh2
-rwxr-xr-xtests/zfs-tests/tests/functional/quota/quota_002_pos.ksh2
-rwxr-xr-xtests/zfs-tests/tests/functional/quota/quota_003_pos.ksh2
-rwxr-xr-xtests/zfs-tests/tests/functional/quota/quota_004_pos.ksh2
-rwxr-xr-xtests/zfs-tests/tests/functional/quota/quota_005_pos.ksh2
-rwxr-xr-xtests/zfs-tests/tests/functional/quota/quota_006_neg.ksh2
7 files changed, 17 insertions, 2 deletions
diff --git a/tests/zfs-tests/tests/functional/quota/quota.kshlib b/tests/zfs-tests/tests/functional/quota/quota.kshlib
index 5083415c8956..b4cfde020f3f 100644
--- a/tests/zfs-tests/tests/functional/quota/quota.kshlib
+++ b/tests/zfs-tests/tests/functional/quota/quota.kshlib
@@ -95,3 +95,10 @@ function exceed_quota
log_fail "Returned error code: $zret. Expected: $EDQUOT."
return 0
}
+
+function reset_quota
+{
+ typeset FILESYSTEM="$1"
+
+ log_must zfs set quota=none $FILESYSTEM
+}
diff --git a/tests/zfs-tests/tests/functional/quota/quota_001_pos.ksh b/tests/zfs-tests/tests/functional/quota/quota_001_pos.ksh
index d124cb26ae98..f01008a46bb1 100755
--- a/tests/zfs-tests/tests/functional/quota/quota_001_pos.ksh
+++ b/tests/zfs-tests/tests/functional/quota/quota_001_pos.ksh
@@ -64,6 +64,8 @@ function cleanup
#
wait_freeing $TESTPOOL
sync_pool $TESTPOOL
+
+ reset_quota $TESTPOOL/$TESTFS
}
log_onexit cleanup
diff --git a/tests/zfs-tests/tests/functional/quota/quota_002_pos.ksh b/tests/zfs-tests/tests/functional/quota/quota_002_pos.ksh
index 3af005e874e9..bea2a5a68691 100755
--- a/tests/zfs-tests/tests/functional/quota/quota_002_pos.ksh
+++ b/tests/zfs-tests/tests/functional/quota/quota_002_pos.ksh
@@ -64,6 +64,8 @@ function cleanup
wait_freeing $TESTPOOL
sync_pool $TESTPOOL
+
+ reset_quota $TESTPOOL/$TESTFS
}
log_onexit cleanup
diff --git a/tests/zfs-tests/tests/functional/quota/quota_003_pos.ksh b/tests/zfs-tests/tests/functional/quota/quota_003_pos.ksh
index de265813d55b..33f6421131fc 100755
--- a/tests/zfs-tests/tests/functional/quota/quota_003_pos.ksh
+++ b/tests/zfs-tests/tests/functional/quota/quota_003_pos.ksh
@@ -67,6 +67,8 @@ function cleanup
#
wait_freeing $TESTPOOL
sync_pool $TESTPOOL
+
+ reset_quota $TESTPOOL/$TESTCTR/$TESTFS1
}
log_onexit cleanup
diff --git a/tests/zfs-tests/tests/functional/quota/quota_004_pos.ksh b/tests/zfs-tests/tests/functional/quota/quota_004_pos.ksh
index 8f20b533da68..682d09f080a4 100755
--- a/tests/zfs-tests/tests/functional/quota/quota_004_pos.ksh
+++ b/tests/zfs-tests/tests/functional/quota/quota_004_pos.ksh
@@ -65,6 +65,8 @@ function cleanup
wait_freeing $TESTPOOL
sync_pool $TESTPOOL
+
+ reset_quota $TESTPOOL/$TESTCTR/$TESTFS1
}
log_onexit cleanup
diff --git a/tests/zfs-tests/tests/functional/quota/quota_005_pos.ksh b/tests/zfs-tests/tests/functional/quota/quota_005_pos.ksh
index fb3d97f486de..9c4db81ca270 100755
--- a/tests/zfs-tests/tests/functional/quota/quota_005_pos.ksh
+++ b/tests/zfs-tests/tests/functional/quota/quota_005_pos.ksh
@@ -50,7 +50,7 @@ function cleanup
{
datasetexists $fs_child && destroy_dataset $fs_child
- log_must zfs set quota=$quota_val $fs
+ reset_quota $fs
}
log_onexit cleanup
diff --git a/tests/zfs-tests/tests/functional/quota/quota_006_neg.ksh b/tests/zfs-tests/tests/functional/quota/quota_006_neg.ksh
index 12105162c5b5..111d771188e3 100755
--- a/tests/zfs-tests/tests/functional/quota/quota_006_neg.ksh
+++ b/tests/zfs-tests/tests/functional/quota/quota_006_neg.ksh
@@ -50,7 +50,7 @@ log_assert "Verify cannot set quota lower than the space currently in use"
function cleanup
{
- log_must zfs set quota=none $TESTPOOL/$TESTFS
+ reset_quota $TESTPOOL/$TESTFS
}
log_onexit cleanup