]> wimlib.net Git - wimlib/commitdiff
Isolate test cases; allow concurrent execution
authorEric Biggers <ebiggers3@gmail.com>
Wed, 6 Feb 2013 00:25:00 +0000 (18:25 -0600)
committerEric Biggers <ebiggers3@gmail.com>
Wed, 6 Feb 2013 00:25:00 +0000 (18:25 -0600)
tests/test-imagex
tests/test-imagex-capture_and_apply
tests/test-imagex-mount
tests/test-imagex-ntfs
tests/tests-common.sh

index 466976737ce8d693a3ec020e815ddca418a259d5..234683e6a0d4e851f6f6ec8821857b89e0a3f30b 100755 (executable)
@@ -9,21 +9,12 @@ srcdir="${srcdir:-.}/.."
 srcdir="$(cd $srcdir; pwd)"
 . "$srcdir/tests/tests-common.sh"
 
 srcdir="$(cd $srcdir; pwd)"
 . "$srcdir/tests/tests-common.sh"
 
-imagex() {
-       echo "imagex $@"
-       ../imagex "$@" > /dev/null
-}
-
-imagex_info() {
-       echo "imagex info $@"
-       ../imagex info "$@"
-}
-
-cleanup() {
-       fusermount -u tmp &> /dev/null || true
-       rm -rf dir* tmp* *.wim *.swm &> /dev/null || true
-}
-cleanup
+TEST_SUBDIR=tmpdir_test-imagex
+
+# Execute the tests in a subdirectory to avoid conflicts with concurrent tests
+default_cleanup
+mkdir $TEST_SUBDIR
+cd $TEST_SUBDIR
 
 # Make test directory
 mkdir dir
 
 # Make test directory
 mkdir dir
@@ -39,14 +30,6 @@ mkdir dir2
 echo 'testing' > dir2/file
 dd if=/dev/zero of=dir2/zeroes bs=4096 count=5
 
 echo 'testing' > dir2/file
 dd if=/dev/zero of=dir2/zeroes bs=4096 count=5
 
-error() {
-       echo "**********************************************"
-       echo "                  Test failure                "
-       echo $*
-       echo "**********************************************"
-       exit 1
-}
-
 # Capturing and applying WIM with None, LZX, and XPRESS compression
 
 for comp_type in None LZX XPRESS; do
 # Capturing and applying WIM with None, LZX, and XPRESS compression
 
 for comp_type in None LZX XPRESS; do
@@ -57,8 +40,8 @@ for comp_type in None LZX XPRESS; do
        if ! imagex apply dir.wim tmp; then
                error "'imagex apply' failed"
        fi
        if ! imagex apply dir.wim tmp; then
                error "'imagex apply' failed"
        fi
-       if ! test "`imagex_info dir.wim | grep Compression | awk '{print $2}'`" = "$comp_type"; then
-               error "'imagex_info' didn't report the compression type correctly"
+       if ! test `wim_ctype dir.wim` = "$comp_type"; then
+               error "'imagex info' didn't report the compression type correctly"
        fi
        if ! diff -q -r dir tmp; then
                error "Recursive diff of extracted directory with original failed"
        fi
        if ! diff -q -r dir tmp; then
                error "Recursive diff of extracted directory with original failed"
@@ -86,38 +69,38 @@ done
 
 echo "Testing capture of WIM with default name and description"
 imagex capture dir dir.wim
 
 echo "Testing capture of WIM with default name and description"
 imagex capture dir dir.wim
-if ! test "`imagex_info dir.wim | grep Name | awk '{print $2}'`" = "dir"; then
+if ! test "`imagex info dir.wim | grep Name | awk '{print $2}'`" = "dir"; then
        error "WIM name not set correctly"
 fi
        error "WIM name not set correctly"
 fi
-if ! test "`imagex_info dir.wim | grep Description | awk '{print $2}'`" = ""; then
+if ! test "`imagex info dir.wim | grep Description | awk '{print $2}'`" = ""; then
        error "WIM description not set correctly"
 fi
 
 echo "Testing capture of WIM with default boot flag"
 imagex capture dir dir.wim
        error "WIM description not set correctly"
 fi
 
 echo "Testing capture of WIM with default boot flag"
 imagex capture dir dir.wim
-if ! test "`imagex_info dir.wim | grep Boot | awk '{print $3}'`" = "0"; then
+if ! test "`imagex info dir.wim | grep Boot | awk '{print $3}'`" = "0"; then
        error "WIM boot flag not set correctly"
 fi
 
 echo "Testing changing image bootable flag"
        error "WIM boot flag not set correctly"
 fi
 
 echo "Testing changing image bootable flag"
-if ! imagex_info dir.wim 1 --boot; then
+if ! imagex info dir.wim 1 --boot; then
        error "Failed to change bootable image"
 fi
        error "Failed to change bootable image"
 fi
-if ! test "`imagex_info dir.wim | grep Boot | awk '{print $3}'`" = "1"; then
+if ! test "`imagex info dir.wim | grep Boot | awk '{print $3}'`" = "1"; then
        error "Bootable image not changed correctly"
 fi
 echo "Testing changing image bootable flag"
        error "Bootable image not changed correctly"
 fi
 echo "Testing changing image bootable flag"
-if ! imagex_info dir.wim 0 --boot; then
+if ! imagex info dir.wim 0 --boot; then
        error "Failed to reset bootable image"
 fi
        error "Failed to reset bootable image"
 fi
-if ! test "`imagex_info dir.wim | grep Boot | awk '{print $3}'`" = "0"; then
+if ! test "`imagex info dir.wim | grep Boot | awk '{print $3}'`" = "0"; then
        error "Bootable image not reset correctly"
 fi
 echo "Testing changing image bootable flag to invalid image (this should generate errors)"
        error "Bootable image not reset correctly"
 fi
 echo "Testing changing image bootable flag to invalid image (this should generate errors)"
-if imagex_info dir.wim 2 --boot; then
+if imagex info dir.wim 2 --boot; then
        error "Succeeded in changing bootable image to invalid number"
 fi
        error "Succeeded in changing bootable image to invalid number"
 fi
-if ! test "`imagex_info dir.wim | grep Boot | awk '{print $3}'`" = "0"; then
+if ! test "`imagex info dir.wim | grep Boot | awk '{print $3}'`" = "0"; then
        error "Boot flag was changed even though the change command was supposed to fail"
 fi
 rm -rf dir.wim tmp
        error "Boot flag was changed even though the change command was supposed to fail"
 fi
 rm -rf dir.wim tmp
@@ -126,30 +109,30 @@ echo "Testing capture of WIM with name and description"
 if ! imagex capture dir dir.wim "myname" "mydesc"; then
        error "Failed to capture WIM with specified name and description"
 fi
 if ! imagex capture dir dir.wim "myname" "mydesc"; then
        error "Failed to capture WIM with specified name and description"
 fi
-if ! test "`imagex_info dir.wim | grep Name | awk '{print $2}'`" = "myname"; then
+if ! test "`imagex info dir.wim | grep Name | awk '{print $2}'`" = "myname"; then
        error "WIM name not set correctly"
 fi
        error "WIM name not set correctly"
 fi
-if ! test "`imagex_info dir.wim | grep Description | awk '{print $2}'`" = "mydesc"; then
+if ! test "`imagex info dir.wim | grep Description | awk '{print $2}'`" = "mydesc"; then
        error "WIM name not set correctly"
 fi
 echo "Testing printing WIM lookup table"
        error "WIM name not set correctly"
 fi
 echo "Testing printing WIM lookup table"
-if ! imagex_info --lookup-table dir.wim > /dev/null; then
+if ! imagex info --lookup-table dir.wim > /dev/null; then
        error "Failed to print WIM lookup table"
 fi
 echo "Testing printing WIM header"
        error "Failed to print WIM lookup table"
 fi
 echo "Testing printing WIM header"
-if ! imagex_info --header dir.wim > /dev/null; then
+if ! imagex info --header dir.wim > /dev/null; then
        error "Failed to print WIM header"
 fi
 echo "Testing printing WIM XML info"
        error "Failed to print WIM header"
 fi
 echo "Testing printing WIM XML info"
-if ! imagex_info --xml dir.wim > /dev/null; then
+if ! imagex info --xml dir.wim > /dev/null; then
        error "Failed to print WIM XML data"
 fi
 echo "Testing extracting WIM XML info"
        error "Failed to print WIM XML data"
 fi
 echo "Testing extracting WIM XML info"
-if ! imagex_info --extract-xml=dir.xml dir.wim; then
+if ! imagex info --extract-xml=dir.xml dir.wim; then
        error "Failed to extract WIM XML data"
 fi
 echo "Testing printing WIM metadata"
        error "Failed to extract WIM XML data"
 fi
 echo "Testing printing WIM metadata"
-if ! imagex_info --metadata dir.wim > /dev/null; then
+if ! imagex info --metadata dir.wim > /dev/null; then
        error "Failed to print WIM metadata"
 fi
 rm -rf dir.wim tmp dir.xml
        error "Failed to print WIM metadata"
 fi
 rm -rf dir.wim tmp dir.xml
@@ -158,7 +141,7 @@ echo "Testing capture of bootable WIM"
 if ! imagex capture dir dir.wim --boot; then
        error "Failed to capture bootable WIM"
 fi
 if ! imagex capture dir dir.wim --boot; then
        error "Failed to capture bootable WIM"
 fi
-if ! test "`imagex_info dir.wim | grep Boot | awk '{print $3}'`" = "1"; then
+if ! test "`imagex info dir.wim | grep Boot | awk '{print $3}'`" = "1"; then
        error "Boot flag on bootable WIM not set correctly"
 fi
 rm -rf dir.wim tmp
        error "Boot flag on bootable WIM not set correctly"
 fi
 rm -rf dir.wim tmp
@@ -169,7 +152,7 @@ echo "Testing capture of WIM with integrity table"
 if ! imagex capture dir dir.wim --check; then
        error "Failed to capture WIM with integrity table"
 fi
 if ! imagex capture dir dir.wim --check; then
        error "Failed to capture WIM with integrity table"
 fi
-if ! test "`imagex_info dir.wim | grep Integrity | awk '{print $3}'`" = "yes"; then
+if ! test "`imagex info dir.wim | grep Integrity | awk '{print $3}'`" = "yes"; then
        error "Integrity table on WIM not made"
 fi
 if ! imagex apply --check dir.wim tmp; then
        error "Integrity table on WIM not made"
 fi
 if ! imagex apply --check dir.wim tmp; then
@@ -187,7 +170,7 @@ imagex capture dir dir.wim
 if ! imagex append dir2 dir.wim; then
        error "Appending WIM image failed"
 fi
 if ! imagex append dir2 dir.wim; then
        error "Appending WIM image failed"
 fi
-if ! test "`imagex_info dir.wim | grep 'Image Count' | awk '{print $3}'`" = 2; then
+if ! test "`imagex info dir.wim | grep 'Image Count' | awk '{print $3}'`" = 2; then
        error "WIM image count not correct"
 fi
 
        error "WIM image count not correct"
 fi
 
@@ -203,56 +186,56 @@ echo "Testing appending WIM image with integrity check"
 if ! imagex append dir2 dir.wim "newname2" --check; then
        error "Appending WIM image failed"
 fi
 if ! imagex append dir2 dir.wim "newname2" --check; then
        error "Appending WIM image failed"
 fi
-if ! test "`imagex_info dir.wim | grep Integrity | awk '{print $3}'`" = "yes"; then
+if ! test "`imagex info dir.wim | grep Integrity | awk '{print $3}'`" = "yes"; then
        error "Integrity table not set correctly on image append"
 fi
 echo "Testing appending WIM image with no integrity check"
 if ! imagex append dir2 dir.wim "newname3"; then
        error "Appending WIM image failed"
 fi
        error "Integrity table not set correctly on image append"
 fi
 echo "Testing appending WIM image with no integrity check"
 if ! imagex append dir2 dir.wim "newname3"; then
        error "Appending WIM image failed"
 fi
-if ! test "`imagex_info dir.wim | grep Integrity | awk '{print $3}'`" = "no"; then
+if ! test "`imagex info dir.wim | grep Integrity | awk '{print $3}'`" = "no"; then
        error "WIM integrity table not removed"
 fi
 # 5 images at this point
        error "WIM integrity table not removed"
 fi
 # 5 images at this point
-if ! test "`imagex_info dir.wim | grep 'Image Count' | awk '{print $3}'`" = 5; then
+if ! test "`imagex info dir.wim | grep 'Image Count' | awk '{print $3}'`" = 5; then
        error "WIM does not contain the expected 5 images"
 fi
 echo "Testing deleting first WIM image"
 if ! imagex delete dir.wim 1; then
        error "Failed to delete WIM image"
 fi
        error "WIM does not contain the expected 5 images"
 fi
 echo "Testing deleting first WIM image"
 if ! imagex delete dir.wim 1; then
        error "Failed to delete WIM image"
 fi
-if ! test "`imagex_info dir.wim | grep 'Image Count' | awk '{print $3}'`" = 4; then
+if ! test "`imagex info dir.wim | grep 'Image Count' | awk '{print $3}'`" = 4; then
        error "WIM image not deleted correctly"
 fi
 echo "Testing deleting last WIM image"
 if ! imagex delete dir.wim 4; then
        error "Failed to delete WIM image"
 fi
        error "WIM image not deleted correctly"
 fi
 echo "Testing deleting last WIM image"
 if ! imagex delete dir.wim 4; then
        error "Failed to delete WIM image"
 fi
-if ! test "`imagex_info dir.wim | grep 'Image Count' | awk '{print $3}'`" = 3; then
+if ! test "`imagex info dir.wim | grep 'Image Count' | awk '{print $3}'`" = 3; then
        error "WIM image not deleted correctly"
 fi
 echo "Testing deleting invalid WIM image (this should generate errors)"
 if imagex delete dir.wim 4; then
        error "Expected to fail to delete non-existent WIM image"
 fi
        error "WIM image not deleted correctly"
 fi
 echo "Testing deleting invalid WIM image (this should generate errors)"
 if imagex delete dir.wim 4; then
        error "Expected to fail to delete non-existent WIM image"
 fi
-if ! test "`imagex_info dir.wim | grep 'Image Count' | awk '{print $3}'`" = 3; then
+if ! test "`imagex info dir.wim | grep 'Image Count' | awk '{print $3}'`" = 3; then
        error "Image count changed even though we intentionally failed to delete an image"
 fi
 echo "Testing deleting all WIM images"
 if ! imagex delete dir.wim all; then
        error "Failed to delete all images from WIM"
 fi
        error "Image count changed even though we intentionally failed to delete an image"
 fi
 echo "Testing deleting all WIM images"
 if ! imagex delete dir.wim all; then
        error "Failed to delete all images from WIM"
 fi
-if ! test "`imagex_info dir.wim | grep 'Image Count' | awk '{print $3}'`" = 0; then
+if ! test "`imagex info dir.wim | grep 'Image Count' | awk '{print $3}'`" = 0; then
        error "Couldn't delete all WIM images correctly"
 fi
 echo "Testing appending directory to empty WIM and making it bootable"
 if ! imagex append dir dir.wim "myname" "mydesc" --check --boot; then
        error "Couldn't append named, described, bootable image to empty WIM with integrity check"
 fi
        error "Couldn't delete all WIM images correctly"
 fi
 echo "Testing appending directory to empty WIM and making it bootable"
 if ! imagex append dir dir.wim "myname" "mydesc" --check --boot; then
        error "Couldn't append named, described, bootable image to empty WIM with integrity check"
 fi
-if ! test "`imagex_info dir.wim | grep Integrity | awk '{print $3}'`" = "yes"; then
+if ! test "`imagex info dir.wim | grep Integrity | awk '{print $3}'`" = "yes"; then
        error "Integrity check not found"
 fi
        error "Integrity check not found"
 fi
-if ! test "`imagex_info dir.wim | grep Boot | awk '{print $3}'`" = "1"; then
+if ! test "`imagex info dir.wim | grep Boot | awk '{print $3}'`" = "1"; then
        error "Bootable image not set correctly"
 fi
 echo "Testing appending non-directory (should generate errors)"
        error "Bootable image not set correctly"
 fi
 echo "Testing appending non-directory (should generate errors)"
@@ -389,7 +372,7 @@ for flag in "--compress=none" "--compress=maximum" "--compress=fast"; do
                error "Failed to split WIM"
        fi
        echo "Verifying the split WIMs (some errors expected)"
                error "Failed to split WIM"
        fi
        echo "Verifying the split WIMs (some errors expected)"
-       if test "`imagex_info tmp.swm | grep 'Part Number' | awk '{print $3}'`" != "1/4"; then
+       if test "`imagex info tmp.swm | grep 'Part Number' | awk '{print $3}'`" != "1/4"; then
                error "Part number of split WIM not correct"
        fi
        if ! imagex dir tmp.swm > /dev/null; then
                error "Part number of split WIM not correct"
        fi
        if ! imagex dir tmp.swm > /dev/null; then
@@ -403,7 +386,7 @@ for flag in "--compress=none" "--compress=maximum" "--compress=fast"; do
        fi
 
        # Unsupported, should fail
        fi
 
        # Unsupported, should fail
-       if imagex_info tmp.swm --boot 0; then
+       if imagex info tmp.swm --boot 0; then
                error "Should not have been able to change boot index of split WIM"
        fi
        echo "Joining the split WIMs and applying the result"
                error "Should not have been able to change boot index of split WIM"
        fi
        echo "Joining the split WIMs and applying the result"
@@ -435,14 +418,14 @@ fi
 if ! imagex export dir.wim dir new.wim; then
        error "Failed to export single image to new WIM"
 fi
 if ! imagex export dir.wim dir new.wim; then
        error "Failed to export single image to new WIM"
 fi
-if test "`imagex_info new.wim | grep 'Image Count' | awk '{print $3}'`" != 1; then
+if test "`imagex info new.wim | grep 'Image Count' | awk '{print $3}'`" != 1; then
        error "Exporting single image to new WIM wasn't done correctly"
 fi
 echo "Testing export of single image to existing WIM"
 if ! imagex export dir.wim dir2 new.wim; then
        error "Failed to export single image to existing WIM"
 fi
        error "Exporting single image to new WIM wasn't done correctly"
 fi
 echo "Testing export of single image to existing WIM"
 if ! imagex export dir.wim dir2 new.wim; then
        error "Failed to export single image to existing WIM"
 fi
-if test "`imagex_info new.wim | grep 'Image Count' | awk '{print $3}'`" != 2; then
+if test "`imagex info new.wim | grep 'Image Count' | awk '{print $3}'`" != 2; then
        error "Exporting single image to existing WIM wasn't done correctly"
 fi
 echo "Testing export of single image to existing WIM using wrong compression type"
        error "Exporting single image to existing WIM wasn't done correctly"
 fi
 echo "Testing export of single image to existing WIM using wrong compression type"
@@ -454,7 +437,7 @@ echo "Testing export of multiple images to new WIM"
 if ! imagex export dir.wim all new.wim; then
        error "Failed to export multiple images to new WIM"
 fi
 if ! imagex export dir.wim all new.wim; then
        error "Failed to export multiple images to new WIM"
 fi
-if test "`imagex_info new.wim | grep 'Image Count' | awk '{print $3}'`" != 2; then
+if test "`imagex info new.wim | grep 'Image Count' | awk '{print $3}'`" != 2; then
        error "Exporting multiple images to new WIM wasn't done correctly"
 fi
 if ! imagex capture dir2 new.wim newname; then
        error "Exporting multiple images to new WIM wasn't done correctly"
 fi
 if ! imagex capture dir2 new.wim newname; then
@@ -468,7 +451,7 @@ echo "Testing export of multiple images to existing WIM with --boot"
 if ! imagex capture dir2 new.wim newname; then
        error "Failed to capture test WIM"
 fi
 if ! imagex capture dir2 new.wim newname; then
        error "Failed to capture test WIM"
 fi
-if ! imagex_info dir.wim --boot 1; then
+if ! imagex info dir.wim --boot 1; then
        error "Failed to set boot index on test WIM"
 fi
 if ! imagex export dir.wim all new.wim --boot; then
        error "Failed to set boot index on test WIM"
 fi
 if ! imagex export dir.wim all new.wim --boot; then
@@ -478,7 +461,7 @@ echo "Testing export of multiple images to existing WIM with --boot, but no boot
 if ! imagex capture dir2 new.wim newname; then
        error "Failed to capture test WIM"
 fi
 if ! imagex capture dir2 new.wim newname; then
        error "Failed to capture test WIM"
 fi
-if ! imagex_info dir.wim --boot 0; then
+if ! imagex info dir.wim --boot 0; then
        error "Failed to clear boot index on test WIM"
 fi
 if imagex export dir.wim all new.wim --boot; then
        error "Failed to clear boot index on test WIM"
 fi
 if imagex export dir.wim all new.wim --boot; then
@@ -528,4 +511,7 @@ done
 echo "**********************************************************"
 echo "                 Basic imagex tests passed                "
 echo "**********************************************************"
 echo "**********************************************************"
 echo "                 Basic imagex tests passed                "
 echo "**********************************************************"
-cleanup
+
+# Leave test subdirectory and cleanup
+cd ..
+default_cleanup
index 1dfc9431568662f92613753be8ba9e58b1bd30a4..e7b56e35c7d5e5c04560e6a8e8898837b88a1a19 100755 (executable)
@@ -14,39 +14,10 @@ srcdir="${srcdir:-.}/.."
 srcdir="$(cd $srcdir; pwd)"
 . "$srcdir/tests/tests-common.sh"
 
 srcdir="$(cd $srcdir; pwd)"
 . "$srcdir/tests/tests-common.sh"
 
-
-imagex() {
-       echo "imagex $@"
-       ../imagex "$@" > /dev/null
-}
-
-imagex_info() {
-       echo "imagex info $@"
-       ../imagex info "$@"
-}
-
-init() {
-       mkdir in.dir out.dir
-}
-
-cleanup() {
-       rm -rf in.dir out.dir test*.wim test*.swm
-}
-
-error() {
-       echo "****************************************************************"
-       echo "                         Test failure                           "
-       echo $*
-       echo "****************************************************************"
-       exit 1
-}
-
-wim_ctype() {
-       ../imagex info $1 | grep Compression | awk '{print $2}'
-}
+TEST_SUBDIR=tmpdir_test-imagex-capture_and_apply
 
 do_tree_cmp() {
 
 do_tree_cmp() {
-       if ! ./tree-cmp in.dir out.dir; then
+       if ! ../tree-cmp in.dir out.dir; then
                if [ -x /usr/bin/tree ]; then
                        echo "Dumping tree of applied image"
                        echo "(Note: compression type was $ctype)"
                if [ -x /usr/bin/tree ]; then
                        echo "Dumping tree of applied image"
                        echo "(Note: compression type was $ctype)"
@@ -126,8 +97,10 @@ msg() {
        __msg "Testing image capture and application of directory containing $1"
 }
 
        __msg "Testing image capture and application of directory containing $1"
 }
 
-cleanup
-init
+default_cleanup
+mkdir $TEST_SUBDIR
+cd $TEST_SUBDIR
+mkdir in.dir out.dir
 
 . $srcdir/tests/common_tests.sh
 
 
 . $srcdir/tests/common_tests.sh
 
@@ -140,10 +113,10 @@ imagex apply test.wim out.dir
 if [ -e out.dir/hiberfil.sys -o -e "out.dir/System Volume Information" ]; then
        error "Files were not excluded from capture as expected"
 fi
 if [ -e out.dir/hiberfil.sys -o -e "out.dir/System Volume Information" ]; then
        error "Files were not excluded from capture as expected"
 fi
-rm -rf out.dir/* in.dir/*
-
-cleanup
 
 echo "**********************************************************"
 echo "          imagex capture/apply tests passed               "
 echo "**********************************************************"
 
 echo "**********************************************************"
 echo "          imagex capture/apply tests passed               "
 echo "**********************************************************"
+
+cd ..
+default_cleanup
index e8da925a8ef791bd301a0e715099cc6ae6bff04c..6e04673a71823822e5d2e2533ee7713a4f6a8beb 100755 (executable)
@@ -8,33 +8,20 @@ srcdir="${srcdir:-.}/.."
 srcdir="$(cd $srcdir; pwd)"
 . "$srcdir/tests/tests-common.sh"
 
 srcdir="$(cd $srcdir; pwd)"
 . "$srcdir/tests/tests-common.sh"
 
+TEST_SUBDIR=tmpdir_test-imagex-mount
+
 if [ ! -r /dev/fuse ]; then
        echo "WARNING: /dev/fuse is not readable."
        echo "Skipping WIM mounting checks"
        exit 0
 fi
 
 if [ ! -r /dev/fuse ]; then
        echo "WARNING: /dev/fuse is not readable."
        echo "Skipping WIM mounting checks"
        exit 0
 fi
 
-imagex() {
-       echo "imagex $@"
-       ../imagex $@  > /dev/null
-}
-
-imagex_info() {
-       echo "imagex info $@"
-       ../imagex info "$@"
-}
-
-imagex_mountrw() {
-       echo "imagex mountrw $@"
-       ../imagex mountrw "$@"
-}
-
 cleanup() {
 cleanup() {
-       fusermount -u tmp &> /dev/null || true
-       fusermount -u tmp.mnt &> /dev/null || true
-       rm -rf dir* tmp* *.wim *.swm empty.wim tmp.orig tmp.mnt \
-                       tmp.apply mount.log test.tar wimlib-staging*
+       fusermount -u $TEST_SUBDIR/tmp &> /dev/null || true
+       fusermount -u $TEST_SUBDIR/tmp.mnt &> /dev/null || true
+       rm -rf $TEST_SUBDIR
 }
 }
+
 init() {
        mkdir dir
        cp $srcdir/src/*.c $srcdir/src/*.h dir
 init() {
        mkdir dir
        cp $srcdir/src/*.c $srcdir/src/*.h dir
@@ -52,18 +39,9 @@ init() {
        imagex capture tmp.empty empty.wim
 }
 
        imagex capture tmp.empty empty.wim
 }
 
-error() {
-       echo "****************************************************************"
-       echo "                         Test failure                           "
-       while [ $# -gt 0 ]; do
-               echo $1
-               shift
-       done
-       echo "****************************************************************"
-       exit 1
-}
-
 cleanup
 cleanup
+mkdir $TEST_SUBDIR
+cd $TEST_SUBDIR
 init
 
 # imagex mount
 init
 
 # imagex mount
@@ -181,7 +159,7 @@ echo "Unmounting WIM with changes committed and --check"
 if ! imagex unmount tmp --commit --check; then
        error "Failed to unmount read-write mounted WIM"
 fi
 if ! imagex unmount tmp --commit --check; then
        error "Failed to unmount read-write mounted WIM"
 fi
-if test "`imagex_info dir.wim | grep Integrity | awk '{print $3}'`" != "yes"; then
+if test "`imagex info dir.wim | grep Integrity | awk '{print $3}'`" != "yes"; then
        error "Integrity information was not included"
 fi
 rm -rf tmp
        error "Integrity information was not included"
 fi
 rm -rf tmp
@@ -200,7 +178,7 @@ fi
 
 # Now do some tests using tar.
 do_tree_cmp() {
 
 # Now do some tests using tar.
 do_tree_cmp() {
-       if ! ./tree-cmp $1 $2; then
+       if ! ../tree-cmp $1 $2; then
                if [ -x /usr/bin/tree ]; then
                        echo "Dumping tree of applied image"
                        tree $2 --inodes -F -s --noreport
                if [ -x /usr/bin/tree ]; then
                        echo "Dumping tree of applied image"
                        tree $2 --inodes -F -s --noreport
@@ -231,7 +209,7 @@ do_test() {
        tar cf ../test.tar .
        cd ..
 
        tar cf ../test.tar .
        cd ..
 
-       if ! imagex_mountrw test.wim tmp.mnt; then
+       if ! imagex mountrw test.wim tmp.mnt; then
                error "Failed to mount WIM read-write"
        fi
 
                error "Failed to mount WIM read-write"
        fi
 
@@ -273,8 +251,10 @@ do_test() {
 
 . $srcdir/tests/common_tests.sh
 
 
 . $srcdir/tests/common_tests.sh
 
-cleanup
 
 echo "**********************************************************"
 echo "                 WIM mount tests passed                   "
 echo "**********************************************************"
 
 echo "**********************************************************"
 echo "                 WIM mount tests passed                   "
 echo "**********************************************************"
+
+cd ..
+cleanup
index afe441fb208d6d85a5dc7f48c443d6dd9a77e927..9705d9ecf156e744efbeb3e1a0a521d25f094a50 100755 (executable)
@@ -14,12 +14,10 @@ srcdir="${srcdir:-.}/.."
 srcdir="$(cd $srcdir; pwd)"
 . "$srcdir/tests/tests-common.sh"
 
 srcdir="$(cd $srcdir; pwd)"
 . "$srcdir/tests/tests-common.sh"
 
-imagex() {
-       ../imagex $@ > /dev/null
-}
+TEST_SUBDIR=tmpdir_test-imagex-ntfs
 
 __do_unmount() {
 
 __do_unmount() {
-       if !  fusermount -z -u $1; then
+       if ! fusermount -z -u $1; then
                error "Failed to unmount \"$1\""
        fi
 
                error "Failed to unmount \"$1\""
        fi
 
@@ -51,7 +49,7 @@ do_mount() {
 }
 
 do_mkntfs() {
 }
 
 do_mkntfs() {
-       if ! mkntfs --force --fast $1 &> /dev/null; then
+       if ! mkntfs --force --fast $1 > /dev/null; then
                error "Could not create NTFS volume \"$1\"!  Make sure ntfsprogs are installed."
        fi
 }
                error "Could not create NTFS volume \"$1\"!  Make sure ntfsprogs are installed."
        fi
 }
@@ -67,22 +65,9 @@ init() {
 }
 
 cleanup() {
 }
 
 cleanup() {
-       do_unmount in.mnt
-       do_unmount out.mnt
-       rm -rf in.ntfs out.ntfs in.mnt out.mnt in.xattr out.xattr ntfs.wim
-}
-#trap cleanup exit
-
-
-error() {
-       echo "****************************************************************"
-       echo "                         Test failure                           "
-       while [ $# -gt 0 ]; do
-               echo $1
-               shift
-       done
-       echo "****************************************************************"
-       exit 1
+       do_unmount $TEST_SUBDIR/in.mnt
+       do_unmount $TEST_SUBDIR/out.mnt
+       rm -rf $TEST_SUBDIR
 }
 
 do_test() {
 }
 
 do_test() {
@@ -101,7 +86,7 @@ do_test() {
        if [ -x /usr/bin/tree ]; then
                tree in.mnt --inodes -F -s --noreport
        fi
        if [ -x /usr/bin/tree ]; then
                tree in.mnt --inodes -F -s --noreport
        fi
-       if ! ./tree-cmp in.mnt out.mnt NTFS; then
+       if ! ../tree-cmp in.mnt out.mnt NTFS; then
                if [ -x /usr/bin/tree ]; then
                        echo "Dumping tree of applied image"
                        tree out.mnt --inodes -F -s --noreport
                if [ -x /usr/bin/tree ]; then
                        echo "Dumping tree of applied image"
                        tree out.mnt --inodes -F -s --noreport
@@ -119,6 +104,8 @@ msg() {
 }
 
 cleanup
 }
 
 cleanup
+mkdir $TEST_SUBDIR
+cd $TEST_SUBDIR
 init
 
 msg "Empty NTFS volume"
 init
 
 msg "Empty NTFS volume"
@@ -288,8 +275,10 @@ do_test 'echo -n 8 > file;
         setfattr -n user.yet_another_ads3 -v "abc" dir/subdir/link;
         setfattr -n user.yet_another_ads4 -v "" dir/subdir/link;'
 
         setfattr -n user.yet_another_ads3 -v "abc" dir/subdir/link;
         setfattr -n user.yet_another_ads4 -v "" dir/subdir/link;'
 
-cleanup
-
 echo "**********************************************************"
 echo "           NTFS capture/apply tests passed                "
 echo "**********************************************************"
 echo "**********************************************************"
 echo "           NTFS capture/apply tests passed                "
 echo "**********************************************************"
+
+cd ..
+cleanup
+
index 4f33f6c1d2844ce131266fb7cb4d3f24fa6ce20a..79a4a2f9ea4819178ba08523e2ad94ae7906d390 100644 (file)
@@ -30,3 +30,32 @@ get_file_size()
                stat -c %s "$1"
        fi
 }
                stat -c %s "$1"
        fi
 }
+
+imagex()
+{
+       echo "imagex $@"
+       if [[ $1 == info || $1 == mountrw ]]; then
+               ../../imagex "$@"
+       else
+               ../../imagex "$@" > /dev/null
+       fi
+}
+
+wim_ctype()
+{
+       imagex info $1 | grep Compression | awk '{print $2}'
+}
+
+default_cleanup()
+{
+       rm -rf $TEST_SUBDIR
+}
+
+error()
+{
+       echo "****************************************************************"
+       echo "                         Test failure                           "
+       echo $*
+       echo "****************************************************************"
+       exit 1
+}