Commit dff6d2ae authored by Po-Hsu Lin's avatar Po-Hsu Lin Committed by Shuah Khan

selftests/efivarfs: clean up test files from test_create*()

Test files created by test_create() and test_create_empty() tests will
stay in the $efivarfs_mount directory until the system was rebooted.

When the tester tries to run this efivarfs test again on the same
system, the immutable characteristics in that directory will cause some
"Operation not permitted" noises, and a false-positve test result as the
file was created in previous run.
    --------------------
    running test_create
    --------------------
    ./efivarfs.sh: line 59: /sys/firmware/efi/efivars/test_create-210be57c-9849-4fc7-a635-e6382d1aec27: Operation not permitted
      [PASS]
    --------------------
    running test_create_empty
    --------------------
    ./efivarfs.sh: line 78: /sys/firmware/efi/efivars/test_create_empty-210be57c-9849-4fc7-a635-e6382d1aec27: Operation not permitted
     [PASS]
    --------------------

Create a file_cleanup() to remove those test files in the end of each
test to solve this issue.

For the test_create_read, we can move the clean up task to the end of
the test to ensure the system is clean.

Also, use this function to replace the existing file removal code.
Signed-off-by: default avatarPo-Hsu Lin <po-hsu.lin@canonical.com>
Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
parent 8ce72dc3
...@@ -7,6 +7,12 @@ test_guid=210be57c-9849-4fc7-a635-e6382d1aec27 ...@@ -7,6 +7,12 @@ test_guid=210be57c-9849-4fc7-a635-e6382d1aec27
# Kselftest framework requirement - SKIP code is 4. # Kselftest framework requirement - SKIP code is 4.
ksft_skip=4 ksft_skip=4
file_cleanup()
{
chattr -i $1
rm -f $1
}
check_prereqs() check_prereqs()
{ {
local msg="skip all tests:" local msg="skip all tests:"
...@@ -58,8 +64,10 @@ test_create() ...@@ -58,8 +64,10 @@ test_create()
if [ $(stat -c %s $file) -ne 5 ]; then if [ $(stat -c %s $file) -ne 5 ]; then
echo "$file has invalid size" >&2 echo "$file has invalid size" >&2
file_cleanup $file
exit 1 exit 1
fi fi
file_cleanup $file
} }
test_create_empty() test_create_empty()
...@@ -72,16 +80,14 @@ test_create_empty() ...@@ -72,16 +80,14 @@ test_create_empty()
echo "$file can not be created without writing" >&2 echo "$file can not be created without writing" >&2
exit 1 exit 1
fi fi
file_cleanup $file
} }
test_create_read() test_create_read()
{ {
local file=$efivarfs_mount/$FUNCNAME-$test_guid local file=$efivarfs_mount/$FUNCNAME-$test_guid
if [ -f $file]; then
chattr -i $file
rm -rf $file
fi
./create-read $file ./create-read $file
file_cleanup $file
} }
test_delete() test_delete()
...@@ -96,11 +102,7 @@ test_delete() ...@@ -96,11 +102,7 @@ test_delete()
exit 1 exit 1
fi fi
rm $file 2>/dev/null file_cleanup $file
if [ $? -ne 0 ]; then
chattr -i $file
rm $file
fi
if [ -e $file ]; then if [ -e $file ]; then
echo "$file couldn't be deleted" >&2 echo "$file couldn't be deleted" >&2
...@@ -154,11 +156,7 @@ test_valid_filenames() ...@@ -154,11 +156,7 @@ test_valid_filenames()
echo "$file could not be created" >&2 echo "$file could not be created" >&2
ret=1 ret=1
else else
rm $file 2>/dev/null file_cleanup $file
if [ $? -ne 0 ]; then
chattr -i $file
rm $file
fi
fi fi
done done
...@@ -191,11 +189,7 @@ test_invalid_filenames() ...@@ -191,11 +189,7 @@ test_invalid_filenames()
if [ -e $file ]; then if [ -e $file ]; then
echo "Creating $file should have failed" >&2 echo "Creating $file should have failed" >&2
rm $file 2>/dev/null file_cleanup $file
if [ $? -ne 0 ]; then
chattr -i $file
rm $file
fi
ret=1 ret=1
fi fi
done done
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment