]> wimlib.net Git - wimlib/blobdiff - tests/test-imagex-capture_and_apply
mount_image.c: add fallback definitions of RENAME_* constants
[wimlib] / tests / test-imagex-capture_and_apply
index fe8cdca0bf103ff1c2ed30503f38a868c0afed99..be789b8a7a2ab7b8f0a88e9c12e8ce42a59d91fe 100755 (executable)
@@ -142,6 +142,20 @@ mkdir in.dir out.dir
 
 . $srcdir/tests/common_tests.sh
 
+# Test the data recovery mode
+__msg "Testing data recovery mode"
+for file in corrupted_file_1.wim corrupted_file_2.wim; do
+       rm -rf out.dir
+       wimapply $srcdir/tests/wims/$file 1 out.dir 2>/dev/null && \
+               error "Applying $file in default mode unexpectedly succeeded"
+       rm -rf out.dir
+       wimapply --recover-data $srcdir/tests/wims/$file 1 out.dir || \
+               error "Applying $file in data recovery mode unexpectedly failed"
+       if [ ! -e out.dir/file ]; then
+               error "Recovered file not found"
+       fi
+done
+
 # Make sure exclusion list works
 __msg "Testing default capture configuration file"
 touch in.dir/hiberfil.sys
@@ -207,7 +221,15 @@ exclusionlist_test() {
        diff expected_out actual_out
 }
 
+macOS=false
+if [ "$(uname)" = Darwin ]; then
+       macOS=true
+fi
 for t_file in "$srcdir/tests/exclusionlists"/*; do
+       if $macOS && [[ $t_file == */case_*sensitive ]]; then
+               # Exclude test cases that fail on case-insensitive filesystem
+               continue
+       fi
        exclusionlist_test "$t_file"
 done