[PATCH] btrfs-progs: mkfs-test: Fix check for truncate command failing

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Marcos Paulo de Souza <mpdesouza@xxxxxxxx>

Commit 31f477ee ("btrfs-progs: mkfs-tests: skip test if truncate fails
with EFBIG") tried to detect a failure in truncate command by checking
the $? expecting it to be an errno, when it actually returns 0 or 1.

To fix this test just check if the command failed (returned 1) and look
for the output, skipping the test if the OS cannot create a 6E file.

Fixes: #241

Tested-by: Erhard Furtner <erhard_f@xxxxxxxxxxx>
Signed-off-by: Marcos Paulo de Souza <mpdesouza@xxxxxxxx>
---
 tests/mkfs-tests/018-multidevice-overflow/test.sh | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/tests/mkfs-tests/018-multidevice-overflow/test.sh b/tests/mkfs-tests/018-multidevice-overflow/test.sh
index eb5c0a43..55ec1289 100755
--- a/tests/mkfs-tests/018-multidevice-overflow/test.sh
+++ b/tests/mkfs-tests/018-multidevice-overflow/test.sh
@@ -15,14 +15,15 @@ run_check_mkfs_test_dev
 run_check_mount_test_dev
 
 # truncate can fail with EFBIG if the OS cannot create a 6EiB file
-run_mayfail $SUDO_HELPER truncate -s 6E "$TEST_MNT/img1"
+out=$(run_mayfail_stdout $SUDO_HELPER truncate -s 6E "$TEST_MNT/img1" 2>&1)
 ret=$?
-if [ $ret == 27 ]; then
-	_not_run "Current kernel could not create a 6E file"
-fi
 
-if [ $ret -gt 0 ]; then
-	_fail "truncate -s 6E failed: $ret"
+if [ $ret -ne 0 ]; then
+	run_check_umount_test_dev
+	if [[ "$out" == *"File too large"* ]]; then
+		_not_run "Current kernel could not create a 6E file"
+	fi
+	_fail "Command failed: $out"
 fi
 
 run_check $SUDO_HELPER truncate -s 6E "$TEST_MNT/img2"
-- 
2.25.1




[Index of Archives]     [Linux Filesystem Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux