summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/common.local15
-rw-r--r--tests/fsck-tests/004-no-dir-index/.lowmem_repairable0
-rw-r--r--tests/fsck-tests/009-no-dir-item-or-index/.lowmem_repairable0
-rw-r--r--tests/fsck-tests/010-no-rootdir-inode-item/.lowmem_repairable0
-rw-r--r--tests/fsck-tests/011-no-inode-item/.lowmem_repairable0
-rw-r--r--tests/fsck-tests/016-wrong-inode-nbytes/.lowmem_repairable0
-rw-r--r--tests/fsck-tests/017-missing-all-file-extent/.lowmem_repairable0
7 files changed, 14 insertions, 1 deletions
diff --git a/tests/common.local b/tests/common.local
index d2b8d073..f5e96f5b 100644
--- a/tests/common.local
+++ b/tests/common.local
@@ -14,11 +14,24 @@ fi
# gets arguments of a current command and can decide if the argument insertion
# should happen, eg. if some option combination does not make sense or would
# break tests
+#
+# Return 0 if we need to skip option override
+# Return 1 if we don't need to skip option override
_skip_spec()
{
+ local beacon
+
+ beacon=.lowmem_repairable
+
+ # For lowmem repair, only support fs tree repair for now
+ # So we place lowmem repair beacon in the same dir of the test case
if echo "$TEST_ARGS_CHECK" | grep -q 'mode=lowmem' &&
echo "$@" | grep -q -- '--repair'; then
- return 0
+ dir="$(dirname ${@: -1})"
+ if [ -f ${dir}/${beacon} ]; then
+ return 1;
+ fi
+ return 0;
fi
return 1
}
diff --git a/tests/fsck-tests/004-no-dir-index/.lowmem_repairable b/tests/fsck-tests/004-no-dir-index/.lowmem_repairable
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/tests/fsck-tests/004-no-dir-index/.lowmem_repairable
diff --git a/tests/fsck-tests/009-no-dir-item-or-index/.lowmem_repairable b/tests/fsck-tests/009-no-dir-item-or-index/.lowmem_repairable
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/tests/fsck-tests/009-no-dir-item-or-index/.lowmem_repairable
diff --git a/tests/fsck-tests/010-no-rootdir-inode-item/.lowmem_repairable b/tests/fsck-tests/010-no-rootdir-inode-item/.lowmem_repairable
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/tests/fsck-tests/010-no-rootdir-inode-item/.lowmem_repairable
diff --git a/tests/fsck-tests/011-no-inode-item/.lowmem_repairable b/tests/fsck-tests/011-no-inode-item/.lowmem_repairable
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/tests/fsck-tests/011-no-inode-item/.lowmem_repairable
diff --git a/tests/fsck-tests/016-wrong-inode-nbytes/.lowmem_repairable b/tests/fsck-tests/016-wrong-inode-nbytes/.lowmem_repairable
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/tests/fsck-tests/016-wrong-inode-nbytes/.lowmem_repairable
diff --git a/tests/fsck-tests/017-missing-all-file-extent/.lowmem_repairable b/tests/fsck-tests/017-missing-all-file-extent/.lowmem_repairable
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/tests/fsck-tests/017-missing-all-file-extent/.lowmem_repairable