# This script does some sanity testing of the 'imagex' program. It by no means
# tests every aspect of wimlib comprehensively.
-# Assume an in-tree build.
set -e
+srcdir=`realpath $srcdir`
cd tests
imagex() {
echo "imagex $@"
- ../imagex $@
+ ../imagex $@
}
cleanup() {
rm -rf dir* tmp* *.wim *.swm
}
trap cleanup exit
+fusermount -u tmp || true
+rm -rf tmp || true
# Make test directory
mkdir dir
-cp ../src/*.c ../src/*.h dir
+cp $srcdir/src/*.c $srcdir/src/*.h dir
mkdir dir/subdir
echo 'hello' > dir/subdir/hello
echo 'hello' > dir/subdir/hello2
if imagex append SOME_NONEXISTENT_FILE dir.wim; then
error "Incorrectly succeeded to append non-existent file to WIM"
fi
-echo "Testing appending directory containing unreadable file (should generate errors)"
-mkdir -p dir3
-touch dir3/file
-chmod -r dir3/file
-if imagex append dir3 dir.wim; then
- error "Incorrectly succeeded in capturing directory with unreadable file"
+if [ `id -u` != 0 ]; then
+ echo "Testing appending directory containing unreadable file (should generate errors)"
+ mkdir -p dir3
+ echo 1 > dir3/file
+ chmod -r dir3/file
+ if imagex append dir3 dir.wim; then
+ error "Incorrectly succeeded in capturing directory with unreadable file"
+ fi
fi
rm -rf dir3 dir.wim
if test "`stat -c %i tmp/subdir/hello`" = "`stat -c %i tmp/subdir/hello2`"; then
error "Incorrect inode number"
fi
-if ! test -L tmp/subdir/hello || ! test -L tmp/subdir/hello2; then
+if ! test -L tmp/subdir/hello -o -L tmp/subdir/hello2 -o -L tmp/subdir/hellolink; then
error "Expected symlinks, but found non-symlinks"
fi
rm -rf dir.wim tmp
fi
echo "**********************************************************"
-echo " All tests passed "
+echo " Basic imagex tests passed "
echo "**********************************************************"