]> git-server-git.apps.pok.os.sepia.ceph.com Git - xfstests-dev.git/commitdiff
fstests: btrfs/253: fix false alert due to _set_fs_sysfs_attr changes
authorQu Wenruo <wqu@suse.com>
Mon, 21 Apr 2025 07:59:40 +0000 (17:29 +0930)
committerZorro Lang <zlang@kernel.org>
Sat, 26 Apr 2025 12:53:52 +0000 (20:53 +0800)
[FALSE FAILURE]
Test btrfs/253 now fails like the following:

btrfs/253 2s ... - output mismatch (see ~/xfstests/results//btrfs/253.out.bad)
    --- tests/btrfs/253.out 2022-05-11 11:25:30.753333331 +0930
    +++ ~/xfstests/results//btrfs/253.out.bad 2025-04-20 17:28:39.139180394 +0930
    @@ -5,6 +5,7 @@
     Calculate request size so last memory allocation cannot be completely fullfilled.
     Third allocation.
     Force allocation of system block type must fail.
    +./common/rc: line 5213: echo: write error: No space left on device
     Verify first allocation.
     Verify second allocation.
     Verify third allocation.
    ...
    (Run 'diff -u ~/xfstests/tests/btrfs/253.out ~/xfstests/results//btrfs/253.out.bad'  to see the entire diff)

[CAUSE]
Since commit 0a9011ae6a36 ("fstests: common/rc: set_fs_sysfs_attr:
redirect errors to stdout") the function _set_fs_sysfs_attr() always
output everything into stdout, thus the stderr redirection makes no
sense anymore.

And the expected failure will cause output difference and fail the test.

[FIX]
Use the helper _set_sysfs_policy_must_fail() instead, which will handle
the failure.
And update the golden output to include the expected ENOSPC error
message.

Fixes: 0a9011ae6a36 ("fstests: common/rc: set_fs_sysfs_attr: redirect errors to stdout")
Signed-off-by: Qu Wenruo <wqu@suse.com>
Reviewed-by: Anand Jain <anand.jain@oracle.com>
Signed-off-by: Anand Jain <anand.jain@oracle.com>
tests/btrfs/253
tests/btrfs/253.out

index adbc6bfbef11c3eb8d66ff3287af83e2960f5687..96ab140f1780daaedbef62cb0d3222e8c2d4d262 100755 (executable)
@@ -25,6 +25,7 @@
 #       value is in megabytes.
 #
 . ./common/preamble
+. ./common/sysfs
 _begin_fstest auto
 
 seq=`basename $0`
@@ -228,7 +229,7 @@ alloc_size "Data" FOURTH_DATA_SIZE_MB
 # Force chunk allocation of system block type must fail.
 #
 echo "Force allocation of system block type must fail."
-_set_fs_sysfs_attr ${SCRATCH_BDEV} allocation/system/force_chunk_alloc 1 2>/dev/null
+_set_sysfs_policy_must_fail ${SCRATCH_BDEV} allocation/system/force_chunk_alloc 1
 
 #
 # Verification of initial allocation.
index 6eea60f0d9143b41338c2b2f9a028705dd369a15..5aa75d54b90f7f410d1b2ccbab64fd7485121d7d 100644 (file)
@@ -5,6 +5,7 @@ Second allocation.
 Calculate request size so last memory allocation cannot be completely fullfilled.
 Third allocation.
 Force allocation of system block type must fail.
+No space left on device
 Verify first allocation.
 Verify second allocation.
 Verify third allocation.