#! /bin/sh
PWD=`pwd`
P=`expr $0 : '\(.*\)/.*'`
DIR=`cd $P; pwd`/../../src
if [ -d $DIR ]; then
PATH=`cd $DIR;pwd`:$PATH
fi
quicktest() {
DIR=quicktest.$$
mkdir $DIR
cd $DIR
TAR_OPTIONS=""
export TAR_OPTIONS
tar xf $2
tar -cf ../archive -H ustar -T $1
cd ..
${TARTEST:-tartest} -v < $2 > $DIR/old.out
${TARTEST:-tartest} -v < archive > $DIR/new.out
if cmp $DIR/old.out $DIR/new.out; then
echo "PASS"
rm -r $DIR
exit 0
else
echo "FAIL. Examine $DIR for details"
exit 1
fi
}
test_access() {
if [ -r $1 ]; then
:
else
echo "$1 does not exist or is unreadable"
echo 77
fi
}
check_environ() {
if [ "$STAR_TESTSCRIPTS" = "" ]; then
echo "STAR_TESTSCRIPTS not set"
exit 77
fi
if [ -d $STAR_TESTSCRIPTS ]; then
:
else
echo "STAR_TESTSCRIPTS is not a directory"
exit 77
fi
ARCHIVE=$STAR_TESTSCRIPTS/ustar-all-quicktest.tar
test_access $ARCHIVE
FILELIST=$STAR_TESTSCRIPTS/quicktest.filelist
test_access $FILELIST
${TARTEST:-tartest} < /dev/null > /dev/null 2>&1
if [ $? -eq 127 ]; then
echo "tartest not in your path"
exit 77
fi
tar --version
}
getargs() {
for option
do
case $option in
*=*) eval $option;;
*) echo "Unknown option: $option" >&2
exit 77;;
esac
done
}
if [ -w / ]; then
getargs $*
check_environ
quicktest $FILELIST $ARCHIVE
else
echo "You need to be root to run this test"
exit 77
fi