diff mbox series

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

Message ID 20200408123728.19595-1-marcos@mpdesouza.com (mailing list archive)
State New, archived
Headers show
Series btrfs-progs: mkfs-test: Fix check for truncate command failing | expand

Commit Message

Marcos Paulo de Souza April 8, 2020, 12:37 p.m. UTC
From: Marcos Paulo de Souza <mpdesouza@suse.com>

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@mailbox.org>
Signed-off-by: Marcos Paulo de Souza <mpdesouza@suse.com>
---
 tests/mkfs-tests/018-multidevice-overflow/test.sh | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

Comments

David Sterba April 8, 2020, 4:33 p.m. UTC | #1
On Wed, Apr 08, 2020 at 09:37:28AM -0300, Marcos Paulo de Souza wrote:
> From: Marcos Paulo de Souza <mpdesouza@suse.com>
> 
> 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@mailbox.org>
> Signed-off-by: Marcos Paulo de Souza <mpdesouza@suse.com>

Added to devel, thanks.
diff mbox series

Patch

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"