Add a test which ensures the kernel returns the correct error value
when missing device removal is requested. This test verifies that kernel
refactoring didn't broken the return value.
Signed-off-by: Nikolay Borisov <nborisov@xxxxxxxx>
---
tests/misc-tests/011-delete-missing-device/test.sh | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/tests/misc-tests/011-delete-missing-device/test.sh b/tests/misc-tests/011-delete-missing-device/test.sh
index 4c976421c091..b799a25c201d 100755
--- a/tests/misc-tests/011-delete-missing-device/test.sh
+++ b/tests/misc-tests/011-delete-missing-device/test.sh
@@ -44,6 +44,21 @@ test_delete_missing()
run_check_umount_test_dev
}
+test_missing_error()
+{
+ run_check $SUDO_HELPER "$TOP/mkfs.btrfs" -f "$TEST_DEV"
+ run_check_mount_test_dev
+ local out
+ out=$(run_mustfail_stdout "Unexpected success" \
+ $SUDO_HELPER "$TOP/btrfs" device remove missing "$TEST_MNT")
+
+ if ! echo "$out" | grep -q "no missing devices found to remove"; then
+ _fail "IOCTL returned unexpected error value"
+ fi
+
+ run_check_umount_test_dev
+}
+
setup_loopdevs 4
prepare_loopdevs
dev1=${loopdevs[1]}
@@ -53,5 +68,7 @@ TEST_DEV=$dev1
test_do_mkfs -m raid1 -d raid1
test_wipefs
test_delete_missing
+test_missing_error
+
cleanup_loopdevs
--
2.7.4