btrfs-progs: tests: add 020-extent-ref-cases
authorLu Fengqi <lufq.fnst@cn.fujitsu.com>
Mon, 30 May 2016 02:58:13 +0000 (10:58 +0800)
committerDavid Sterba <dsterba@suse.com>
Wed, 1 Jun 2016 12:56:56 +0000 (14:56 +0200)
In order to confirm that btrfsck supports to check a variety of
refs, add the
following cases:
* keyed_block_ref
* keyed_data_ref
* shared_block_ref
* shared_data_ref
* no_inline_ref (a extent item without inline ref)
* no_skinny_ref

Signed-off-by: Lu Fengqi <lufq.fnst@cn.fujitsu.com>
Signed-off-by: David Sterba <dsterba@suse.com>
tests/fsck-tests/020-extent-ref-cases/keyed_block_ref.img [new file with mode: 0644]
tests/fsck-tests/020-extent-ref-cases/keyed_data_ref.img [new file with mode: 0644]
tests/fsck-tests/020-extent-ref-cases/no_inline_ref.img [new file with mode: 0644]
tests/fsck-tests/020-extent-ref-cases/no_skinny_ref.img [new file with mode: 0644]
tests/fsck-tests/020-extent-ref-cases/shared_block_ref.img [new file with mode: 0644]
tests/fsck-tests/020-extent-ref-cases/shared_data_ref.img [new file with mode: 0644]
tests/fsck-tests/020-extent-ref-cases/test.sh [new file with mode: 0755]

diff --git a/tests/fsck-tests/020-extent-ref-cases/keyed_block_ref.img b/tests/fsck-tests/020-extent-ref-cases/keyed_block_ref.img
new file mode 100644 (file)
index 0000000..289d37b
Binary files /dev/null and b/tests/fsck-tests/020-extent-ref-cases/keyed_block_ref.img differ
diff --git a/tests/fsck-tests/020-extent-ref-cases/keyed_data_ref.img b/tests/fsck-tests/020-extent-ref-cases/keyed_data_ref.img
new file mode 100644 (file)
index 0000000..2ac0ae5
Binary files /dev/null and b/tests/fsck-tests/020-extent-ref-cases/keyed_data_ref.img differ
diff --git a/tests/fsck-tests/020-extent-ref-cases/no_inline_ref.img b/tests/fsck-tests/020-extent-ref-cases/no_inline_ref.img
new file mode 100644 (file)
index 0000000..b05ae73
Binary files /dev/null and b/tests/fsck-tests/020-extent-ref-cases/no_inline_ref.img differ
diff --git a/tests/fsck-tests/020-extent-ref-cases/no_skinny_ref.img b/tests/fsck-tests/020-extent-ref-cases/no_skinny_ref.img
new file mode 100644 (file)
index 0000000..900b65c
Binary files /dev/null and b/tests/fsck-tests/020-extent-ref-cases/no_skinny_ref.img differ
diff --git a/tests/fsck-tests/020-extent-ref-cases/shared_block_ref.img b/tests/fsck-tests/020-extent-ref-cases/shared_block_ref.img
new file mode 100644 (file)
index 0000000..8d7b50f
Binary files /dev/null and b/tests/fsck-tests/020-extent-ref-cases/shared_block_ref.img differ
diff --git a/tests/fsck-tests/020-extent-ref-cases/shared_data_ref.img b/tests/fsck-tests/020-extent-ref-cases/shared_data_ref.img
new file mode 100644 (file)
index 0000000..aa2dafa
Binary files /dev/null and b/tests/fsck-tests/020-extent-ref-cases/shared_data_ref.img differ
diff --git a/tests/fsck-tests/020-extent-ref-cases/test.sh b/tests/fsck-tests/020-extent-ref-cases/test.sh
new file mode 100755 (executable)
index 0000000..c2b6a00
--- /dev/null
@@ -0,0 +1,23 @@
+#!/bin/bash
+# In order to confirm that btrfsck supports to check a variety of refs, add the
+# following cases:
+#
+# * keyed_block_ref
+# * keyed_data_ref
+# * shared_block_ref
+# * shared_data_ref
+# * no_inline_ref (a extent item without inline ref)
+# * no_skinny_ref
+
+source $TOP/tests/common
+
+check_prereq btrfs
+
+for img in *.img
+do
+       image=$(extract_image $img)
+       run_check_stdout $TOP/btrfs check "$image" 2>&1 |
+               grep -q "Errors found in extent allocation tree or chunk allocation" &&
+               _fail "unexpected error occurred when checking $img"
+       rm -f "$image"
+done