[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>
# value is in megabytes.
#
. ./common/preamble
+. ./common/sysfs
_begin_fstest auto
seq=`basename $0`
# 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.
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.