]> Dogcows Code - chaz/tar/blob - tests/star/quicktest.sh
Update FSF postal mail address.
[chaz/tar] / tests / star / quicktest.sh
1 #! /bin/sh
2 # This file is part of GNU tar testsuite.
3 # Copyright (C) 2004, 2005 Free Software Foundation, Inc.
4 #
5 # This program is free software; you can redistribute it and/or modify
6 # it under the terms of the GNU General Public License as published by
7 # the Free Software Foundation; either version 2, or (at your option)
8 # any later version.
9 #
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 # GNU General Public License for more details.
14 #
15 # You should have received a copy of the GNU General Public License
16 # along with this program; if not, write to the Free Software
17 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
18 # 02110-1301, USA.
19
20 PWD=`pwd`
21 P=`expr $0 : '\(.*\)/.*'`
22 DIR=`cd $P; pwd`/../../src
23 if [ -d $DIR ]; then
24 PATH=`cd $DIR;pwd`:$PATH
25 fi
26
27 # Usage: quicktest FILELIST ARCHIVE-NAME
28 quicktest() {
29 DIR=quicktest.$$
30 mkdir $DIR
31 cd $DIR
32
33 TAR_OPTIONS=""
34 export TAR_OPTIONS
35
36 tar xf $2
37 tar -cf ../archive -H ustar -T $1
38 cd ..
39
40 ${TARTEST:-tartest} -v < $2 > $DIR/old.out
41 ${TARTEST:-tartest} -v < archive > $DIR/new.out
42
43 if cmp $DIR/old.out $DIR/new.out; then
44 echo "PASS"
45 rm -r $DIR
46 exit 0
47 else
48 echo "FAIL. Examine $DIR for details"
49 exit 1
50 fi
51 }
52
53 test_access() {
54 if [ -r $1 ]; then
55 :
56 else
57 echo "$1 does not exist or is unreadable"
58 echo 77
59 fi
60 }
61
62 check_environ() {
63 if [ "$STAR_TESTSCRIPTS" = "" ]; then
64 echo "STAR_TESTSCRIPTS not set"
65 exit 77
66 fi
67
68 if [ -d $STAR_TESTSCRIPTS ]; then
69 :
70 else
71 echo "STAR_TESTSCRIPTS is not a directory"
72 exit 77
73 fi
74
75 ARCHIVE=$STAR_TESTSCRIPTS/ustar-all-quicktest.tar
76 test_access $ARCHIVE
77 FILELIST=$STAR_TESTSCRIPTS/quicktest.filelist
78 test_access $FILELIST
79
80 ${TARTEST:-tartest} < /dev/null > /dev/null 2>&1
81 if [ $? -eq 127 ]; then
82 echo "tartest not in your path"
83 exit 77
84 fi
85 tar --version
86 }
87
88 getargs() {
89 for option
90 do
91 case $option in
92 *=*) eval $option;;
93 *) echo "Unknown option: $option" >&2
94 exit 77;;
95 esac
96 done
97 }
98
99 if [ -w / ]; then
100 getargs $*
101 check_environ
102 quicktest $FILELIST $ARCHIVE
103 else
104 echo "You need to be root to run this test"
105 exit 77
106 fi
107
108 # End of quicktest.sh
This page took 0.041057 seconds and 5 git commands to generate.