186 lines
3.8 KiB
Plaintext
Executable File
186 lines
3.8 KiB
Plaintext
Executable File
# $Id: check_common_fn.in,v 1.14 2008/10/17 01:51:43 rocky Exp $
|
|
#
|
|
# Copyright (C) 2003, 2004, 2005, 2006, 2008 Rocky Bernstein <rocky@gnu.org>
|
|
#
|
|
# This program is free software: you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation, either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
#
|
|
# Common routines and setup for regression testing.
|
|
SKIP_TEST_EXITCODE=77
|
|
|
|
# Some output changes depending on TZ and locale. Set this so we get known
|
|
# results
|
|
TZ=CUT
|
|
LC_TIME='en_US'
|
|
export TZ LC_TIME
|
|
|
|
check_result() {
|
|
RC=$1
|
|
shift
|
|
msg=$1
|
|
shift
|
|
cmdline=$*
|
|
if test $RC -ne 0 ; then
|
|
if test $RC -ne $SKIP_TEST_EXITCODE ; then
|
|
echo "$0: $msg failed in comparing output."
|
|
if test -n "$cmdline" ; then
|
|
echo "$0: failed command:"
|
|
echo " $cmdline"
|
|
fi
|
|
exit $RC
|
|
else
|
|
echo "$0: $msg skipped."
|
|
fi
|
|
else
|
|
echo "$0: $msg ok."
|
|
fi
|
|
}
|
|
|
|
test_cdinfo() {
|
|
|
|
opts="$1"
|
|
outfile="$2"
|
|
rightfile="$3"
|
|
|
|
CD_INFO="../src/cd-info@EXEEXT@"
|
|
|
|
if [ ! -x ${CD_INFO} ]; then
|
|
echo "$0: No ${CD_INFO}"
|
|
return 1
|
|
fi
|
|
|
|
if ${CD_INFO} --no-header ${opts} >${outfile} 2>&1 ; then
|
|
if test "@DIFF@" != no; then
|
|
if @DIFF@ @DIFF_OPTS@ ${outfile} ${rightfile} ; then
|
|
rm -f $outfile
|
|
return 0
|
|
else
|
|
return 3
|
|
fi
|
|
else
|
|
echo "$0: No diff(1) or cmp(1) found - cannot test ${CD_INFO}"
|
|
rm -f $outfile
|
|
return 77
|
|
fi
|
|
else
|
|
echo "$0 failed running: ${CD_INFO} ${opts}"
|
|
return 2
|
|
fi
|
|
|
|
}
|
|
|
|
test_iso_info() {
|
|
|
|
opts="$1"
|
|
outfile="$2"
|
|
rightfile="$3"
|
|
|
|
ISO_INFO="../src/iso-info@EXEEXT@"
|
|
|
|
if [ ! -x ${ISO_INFO} ]; then
|
|
echo "$0: No ${ISO_INFO}"
|
|
return 1
|
|
fi
|
|
|
|
cmdline="${ISO_INFO} --no-header ${opts}"
|
|
if $cmdline >${outfile} 2>&1 ; then
|
|
if test "/usr/bin/diff" != no; then
|
|
if @DIFF@ @DIFF_OPTS@ ${outfile} ${rightfile} ; then
|
|
rm -f $outfile
|
|
return 0
|
|
else
|
|
return 3
|
|
fi
|
|
else
|
|
echo "$0: No diff(1) or cmp(1 found - cannot test ${ISO_INFO}"
|
|
rm -f $outfile
|
|
return 77
|
|
fi
|
|
else
|
|
echo "$0 failed running: $cmdline"
|
|
return 2
|
|
fi
|
|
|
|
}
|
|
|
|
test_iso_read() {
|
|
|
|
opts="$1"
|
|
outfile="$2"
|
|
rightfile="$3"
|
|
|
|
ISO_READ="../src/iso-read@EXEEXT@"
|
|
|
|
if [ ! -x ${ISO_READ} ]; then
|
|
echo "$0: No ${ISO_READ}"
|
|
return 1
|
|
fi
|
|
|
|
if ${ISO_READ} ${opts} -o ${outfile} 2>&1 ; then
|
|
if test "@DIFF@" != no; then
|
|
if @DIFF@ @DIFF_OPTS@ ${outfile} ${rightfile} ; then
|
|
rm -f $outfile
|
|
return 0
|
|
else
|
|
return 3
|
|
fi
|
|
else
|
|
echo "$0: No diff(1) or cmp(1 found - cannot test ${ISO_READ}"
|
|
rm -f $outfile
|
|
return 77
|
|
fi
|
|
else
|
|
echo "$0 failed running: ${ISO_READ} ${opts} -o ${outfile}"
|
|
return 2
|
|
fi
|
|
|
|
}
|
|
|
|
test_cd_read() {
|
|
|
|
opts="$1"
|
|
outfile="$2"
|
|
rightfile="$3"
|
|
|
|
CD_READ="../src/cd-read@EXEEXT@"
|
|
|
|
if [ ! -x ${CD_READ} ]; then
|
|
echo "$0: No ${CD_READ}"
|
|
return 1
|
|
fi
|
|
|
|
if ${CD_READ} --no-header ${opts} >${outfile} 2>&1 ; then
|
|
if test "@DIFF@" != no; then
|
|
if @DIFF@ @DIFF_OPTS@ ${outfile} ${rightfile} ; then
|
|
rm -f $outfile
|
|
return 0
|
|
else
|
|
return 3
|
|
fi
|
|
else
|
|
echo "$0: No diff(1) or cmp(1 found - cannot test ${CD_READ}"
|
|
rm -f $outfile
|
|
return 77
|
|
fi
|
|
else
|
|
echo "$0 failed running: ${CD_READ} ${opts}"
|
|
return 2
|
|
fi
|
|
|
|
}
|
|
|
|
#;;; Local Variables: ***
|
|
#;;; mode:shell-script ***
|
|
#;;; eval: (sh-set-shell "bash") ***
|
|
#;;; End: ***
|