summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rwxr-xr-xtests/fuzz-tests/004-misc-dumps/test.sh31
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/fuzz-tests/004-misc-dumps/test.sh b/tests/fuzz-tests/004-misc-dumps/test.sh
new file mode 100755
index 00000000..3fae2f65
--- /dev/null
+++ b/tests/fuzz-tests/004-misc-dumps/test.sh
@@ -0,0 +1,31 @@
+#!/bin/bash
+
+# iterate over all fuzzed images and run various tools, do not expect to repair
+# or dump succesfully, must not crash at least
+
+source $TOP/tests/common
+
+setup_root_helper
+check_prereq btrfs
+
+# redefine the one provided by common
+check_image() {
+ local image
+
+ image=$1
+ run_mayfail $TOP/btrfs inspect-internal dump-tree "$image"
+ run_mayfail $TOP/btrfs inspect-internal dump-super "$image"
+ run_mayfail $TOP/btrfs inspect-internal dump-super -Ffa "$image"
+ run_mayfail $TOP/btrfs inspect-internal tree-stats "$image"
+ run_check cp "$image" "$image".scratch
+ run_mayfail $TOP/btrfs rescue super-recover -y -v "$image".scratch
+ run_check cp "$image" "$image".scratch
+ run_mayfail $TOP/btrfs rescue chunk-recover -y -v "$image".scratch
+ run_check cp "$image" "$image".scratch
+ run_mayfail $TOP/btrfs rescue zero-log "$image".scratch
+ rm -- "$image".scratch
+}
+
+check_all_images $TOP/tests/fuzz-tests/images
+
+exit 0