@@ -3134,18 +3134,21 @@ _require_test_lsattr()
_require_chattr()
{
- attribute=$1
-
- touch $TEST_DIR/syscalltest
- chattr "+$attribute" $TEST_DIR/syscalltest > $TEST_DIR/syscalltest.out 2>&1
- status=$?
- chattr "-$attribute" $TEST_DIR/syscalltest > $TEST_DIR/syscalltest.out 2>&1
- if [ "$status" -ne 0 ]; then
- _notrun "file system doesn't support chattr +$attribute"
- fi
- cat $TEST_DIR/syscalltest.out >> $seqres.full
+ if [ -z "$1" ]; then
+ echo "Usage: _require_chattr <attr>"
+ exit 1
+ fi
+ local attribute=$1
- rm -f $TEST_DIR/syscalltest.out
+ touch $TEST_DIR/syscalltest
+ chattr "+$attribute" $TEST_DIR/syscalltest > $TEST_DIR/syscalltest.out 2>&1
+ status=$?
+ chattr "-$attribute" $TEST_DIR/syscalltest > $TEST_DIR/syscalltest.out 2>&1
+ if [ "$status" -ne 0 ]; then
+ _notrun "file system doesn't support chattr +$attribute"
+ fi
+ cat $TEST_DIR/syscalltest.out >> $seqres.full
+ rm -f $TEST_DIR/syscalltest.out
}
_get_total_inode()
@@ -48,7 +48,7 @@ _cleanup()
_supported_fs generic
_supported_os Linux
-_require_chattr i
+_require_chattr ia
_require_scratch
[ -x $timmutable ] || _notrun "t_immutable was not built for this platform"
@@ -57,7 +57,7 @@ rm -f $seqres.full
_supported_fs overlay
_supported_os Linux
_require_scratch
-_require_chattr
+_require_chattr i
# Remove all files from previous tests
_scratch_mkfs
_require_chattr() was never intended to be called without an input argument (specifiying the required attribute to set). However, calling it without input arguments did work and error was silently discarded into full test output. Fix the function to abort on missing input argument and fix the only test that called _require_chattr() with no input argument. Signed-off-by: Amir Goldstein <amir73il@gmail.com> --- common/rc | 25 ++++++++++++++----------- tests/generic/079 | 2 +- tests/overlay/027 | 2 +- 3 files changed, 16 insertions(+), 13 deletions(-)