|
Packit |
01d647 |
#!/bin/bash
|
|
Packit |
01d647 |
|
|
Packit Service |
fb147c |
# Library of bash functions use by test/*.sh
|
|
Packit Service |
fb147c |
# The scripts begin "source functions.source"
|
|
Packit Service |
fb147c |
# Don't detab this file! removeTest() addModTest() need them!
|
|
Packit Service |
fb147c |
|
|
Packit |
01d647 |
##
|
|
Packit |
01d647 |
# run a test
|
|
Packit |
01d647 |
runTest()
|
|
Packit |
01d647 |
{
|
|
Packit |
01d647 |
local prog=$1
|
|
Packit |
01d647 |
shift
|
|
Packit |
01d647 |
(
|
|
Packit Service |
fb147c |
mkdir -p $here/tmp
|
|
Packit Service |
fb147c |
cd $here/tmp
|
|
Packit Service |
fb147c |
if [ ! -z $EXIV2_ECHO ]; then
|
|
Packit Service |
fb147c |
echoTest $VALGRIND $bin$prog$exe "$@"
|
|
Packit Service |
fb147c |
fi
|
|
Packit Service |
fb147c |
$VALGRIND $bin$prog$exe "$@"
|
|
Packit |
01d647 |
)
|
|
Packit |
01d647 |
}
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
##
|
|
Packit |
01d647 |
# echo commands and arguments
|
|
Packit |
01d647 |
echoTest()
|
|
Packit |
01d647 |
{
|
|
Packit Service |
fb147c |
local count=1
|
|
Packit Service |
fb147c |
for i in $@ ; do
|
|
Packit Service |
fb147c |
echo $((count++)): $i
|
|
Packit Service |
fb147c |
done
|
|
Packit Service |
fb147c |
echo -----------------------
|
|
Packit |
01d647 |
}
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
##
|
|
Packit |
01d647 |
# predictate
|
|
Packit |
01d647 |
existsTest()
|
|
Packit |
01d647 |
{
|
|
Packit Service |
fb147c |
local prog=$1
|
|
Packit Service |
fb147c |
result=0
|
|
Packit Service |
fb147c |
if [ -z "$bin" ]; then
|
|
Packit Service |
fb147c |
if [ ! -z $(which $prog) ]; then
|
|
Packit Service |
fb147c |
result=1
|
|
Packit Service |
fb147c |
fi
|
|
Packit Service |
fb147c |
else
|
|
Packit Service |
fb147c |
if [ -e $bin$prog -o -e $bin$prog$exe ]; then
|
|
Packit Service |
fb147c |
result=1
|
|
Packit Service |
fb147c |
fi
|
|
Packit Service |
fb147c |
fi
|
|
Packit Service |
fb147c |
echo $result
|
|
Packit |
01d647 |
}
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
##
|
|
Packit Service |
fb147c |
# copy file (used by conversions.sh)
|
|
Packit |
01d647 |
copy()
|
|
Packit |
01d647 |
{
|
|
Packit Service |
fb147c |
\cp "$1" "$2"
|
|
Packit |
01d647 |
}
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
##
|
|
Packit |
01d647 |
# copy file from data to tmp (copyTestFile from to)
|
|
Packit |
01d647 |
copyTestFile()
|
|
Packit |
01d647 |
{
|
|
Packit Service |
fb147c |
if [ $# == 2 ]; then
|
|
Packit Service |
fb147c |
cp -f "$here/data/$1" "$here/tmp/$2"
|
|
Packit Service |
fb147c |
elif [ $# == 1 ]; then
|
|
Packit Service |
fb147c |
stub=$(basename $1)
|
|
Packit Service |
fb147c |
cp -f "$here/data/$1" "$here/tmp/$stub"
|
|
Packit Service |
fb147c |
else
|
|
Packit Service |
fb147c |
echo "*** error copyTestFile: illegal number of inputs = $# ***"
|
|
Packit Service |
fb147c |
fi
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
}
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
##
|
|
Packit |
01d647 |
# copy 1 or more files from data to tmp
|
|
Packit |
01d647 |
copyTestFiles()
|
|
Packit |
01d647 |
{
|
|
Packit Service |
fb147c |
for i in "$@" ; do
|
|
Packit Service |
fb147c |
copyTestFile "$i" "$i"
|
|
Packit Service |
fb147c |
done
|
|
Packit |
01d647 |
}
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
##
|
|
Packit |
01d647 |
# result analysis
|
|
Packit |
01d647 |
reportTest()
|
|
Packit |
01d647 |
{
|
|
Packit |
01d647 |
cat $results | tr '\\' '/' > ${results}-new
|
|
Packit Service |
fb147c |
mv -f ${results}-new $results
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
if [ $# -eq 0 ]; then
|
|
Packit |
01d647 |
lhs=$results
|
|
Packit |
01d647 |
rhs=$good
|
|
Packit |
01d647 |
else
|
|
Packit |
01d647 |
if [ $# -eq 3 ] ; then
|
|
Packit |
01d647 |
diffargs=$1
|
|
Packit |
01d647 |
lhs=$2
|
|
Packit |
01d647 |
rhs=$3
|
|
Packit |
01d647 |
else
|
|
Packit |
01d647 |
lhs=$1
|
|
Packit |
01d647 |
rhs=$2
|
|
Packit |
01d647 |
fi
|
|
Packit |
01d647 |
fi
|
|
Packit |
01d647 |
|
|
Packit Service |
fb147c |
diff $diffargs $lhs $rhs
|
|
Packit |
01d647 |
rc=$?
|
|
Packit |
01d647 |
if [ $rc -eq 0 ] ; then
|
|
Packit |
01d647 |
echo "all testcases passed."
|
|
Packit |
01d647 |
fi
|
|
Packit |
01d647 |
}
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
##
|
|
Packit |
01d647 |
# moved here from write-test.sh
|
|
Packit |
01d647 |
# Function:
|
|
Packit |
01d647 |
# runTestCase number file
|
|
Packit |
01d647 |
# Params:
|
|
Packit |
01d647 |
# number: Test case number
|
|
Packit |
01d647 |
# file : Input file
|
|
Packit |
01d647 |
# Abstract:
|
|
Packit |
01d647 |
# Run the requested test case number with the given file
|
|
Packit |
01d647 |
runTestCase()
|
|
Packit |
01d647 |
{
|
|
Packit |
01d647 |
rtc_number=$1
|
|
Packit |
01d647 |
rtc_infile=$2
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
rtc_outfile=test${rtc_number}.jpg
|
|
Packit |
01d647 |
rtc_jpgthumb=thumb${rtc_number}.jpg
|
|
Packit |
01d647 |
rtc_tifthumb=thumb${rtc_number}.tif
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
rm -f $rtc_outfile $rtc_jpgthumb $rtc_tifthumb
|
|
Packit |
01d647 |
rm -f iii ttt;
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
echo "------------------------------------------------------------"
|
|
Packit |
01d647 |
runTest exifprint $rtc_infile > iii;
|
|
Packit |
01d647 |
cp $rtc_infile $rtc_outfile;
|
|
Packit |
01d647 |
runTest write-test $rtc_infile $rtc_number > ttt;
|
|
Packit Service |
fb147c |
diff $diffargs iii ttt
|
|
Packit |
01d647 |
}
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
##
|
|
Packit |
01d647 |
# moved here from imagetest.sh
|
|
Packit |
01d647 |
eraseTest()
|
|
Packit |
01d647 |
{
|
|
Packit |
01d647 |
src=$1
|
|
Packit |
01d647 |
test=${src}.etst
|
|
Packit |
01d647 |
good=$datapath/${src}.egd
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
#setup
|
|
Packit |
01d647 |
cp $datapath/$src $test
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
#run tests
|
|
Packit |
01d647 |
${bin}metacopy $test $test
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
#check results
|
|
Packit |
01d647 |
diffCheck $test $good
|
|
Packit |
01d647 |
printf "."
|
|
Packit |
01d647 |
}
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
copyTest()
|
|
Packit |
01d647 |
{
|
|
Packit Service |
fb147c |
num=$1 # case number
|
|
Packit Service |
fb147c |
src=$2 # input file
|
|
Packit Service |
fb147c |
dst=$3 # copy to hear
|
|
Packit |
01d647 |
test=${dst}.c${num}tst
|
|
Packit |
01d647 |
good=$datapath/${dst}.c${num}gd
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
#setup
|
|
Packit |
01d647 |
cp $datapath/$dst $test
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
#run tests
|
|
Packit |
01d647 |
${bin}metacopy -a $datapath/$src $test
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
#check results
|
|
Packit |
01d647 |
diffCheck $test $good
|
|
Packit |
01d647 |
printf "."
|
|
Packit |
01d647 |
}
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
iptcTest()
|
|
Packit |
01d647 |
{
|
|
Packit Service |
fb147c |
num=$1 # case number
|
|
Packit Service |
fb147c |
src=$2 # input file
|
|
Packit Service |
fb147c |
dst=$3 # copy to hear
|
|
Packit |
01d647 |
test=${dst}.i${num}tst
|
|
Packit |
01d647 |
good=$datapath/${dst}.i${num}gd
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
#setup
|
|
Packit |
01d647 |
cp $datapath/$dst $test
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
#run tests
|
|
Packit |
01d647 |
runTest metacopy -ip $datapath/$src $test
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
#check results
|
|
Packit |
01d647 |
diffCheck $test $good
|
|
Packit |
01d647 |
printf "."
|
|
Packit |
01d647 |
}
|
|
Packit |
01d647 |
|
|
Packit Service |
fb147c |
##
|
|
Packit |
01d647 |
# Make sure to pass the test file first and the known good file second
|
|
Packit |
01d647 |
diffCheck()
|
|
Packit |
01d647 |
{
|
|
Packit |
01d647 |
test=$(real_path $1)
|
|
Packit |
01d647 |
good=$(real_path $2)
|
|
Packit |
01d647 |
if [ -z "$errors" ]; then let -a errors=0; fi
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
#run diff and check results
|
|
Packit Service |
fb147c |
if [ $PLATFORM == SunOS ]; then
|
|
Packit Service |
fb147c |
bdiff $diffargs "$test" "$good"
|
|
Packit Service |
fb147c |
elif [ $PLATFORM == FreeBSD -o $PLATFORM == NetBSD ]; then
|
|
Packit Service |
fb147c |
diff $diffargs "$test" "$good"
|
|
Packit Service |
fb147c |
else
|
|
Packit Service |
fb147c |
diff --binary $diffargs "$test" "$good"
|
|
Packit Service |
fb147c |
fi
|
|
Packit |
01d647 |
if [ $? -ne 0 ]; then
|
|
Packit |
01d647 |
errors=$(expr $errors + 1)
|
|
Packit |
01d647 |
else
|
|
Packit |
01d647 |
rm $test
|
|
Packit |
01d647 |
fi
|
|
Packit |
01d647 |
}
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
##
|
|
Packit |
01d647 |
# moved here from iotest.sh
|
|
Packit |
01d647 |
ioTest()
|
|
Packit |
01d647 |
{
|
|
Packit |
01d647 |
src=$datapath/$1
|
|
Packit |
01d647 |
out1=${1}.1
|
|
Packit |
01d647 |
out2=${1}.2
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
#run tests
|
|
Packit |
01d647 |
runTest iotest $src $out1 $out2
|
|
Packit |
01d647 |
if [ $? -ne 0 ]; then
|
|
Packit |
01d647 |
errors=`expr $errors + 1`
|
|
Packit |
01d647 |
return
|
|
Packit |
01d647 |
fi
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
#check results
|
|
Packit |
01d647 |
diffCheck $out1 $src
|
|
Packit |
01d647 |
diffCheck $out2 $src
|
|
Packit |
01d647 |
printf "."
|
|
Packit |
01d647 |
}
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
##
|
|
Packit |
01d647 |
# moved here from iptctest.sh
|
|
Packit |
01d647 |
printTest()
|
|
Packit |
01d647 |
{
|
|
Packit |
01d647 |
src=$1
|
|
Packit |
01d647 |
test=${src}.iptst
|
|
Packit |
01d647 |
good=$datapath/${src}.ipgd
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
#run tests
|
|
Packit |
01d647 |
runTest iptcprint $datapath/$src > $test
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
#check results
|
|
Packit |
01d647 |
diffCheck $test $good
|
|
Packit |
01d647 |
printf "."
|
|
Packit |
01d647 |
}
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
removeTest()
|
|
Packit |
01d647 |
{
|
|
Packit |
01d647 |
src=$1
|
|
Packit |
01d647 |
tmp="temp"
|
|
Packit |
01d647 |
test=${src}.irtst
|
|
Packit |
01d647 |
good=$datapath/${src}.irgd
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
#setup
|
|
Packit |
01d647 |
cp $datapath/$src $tmp
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
#run tests
|
|
Packit |
01d647 |
runTest iptctest $tmp <<-eoc
|
|
Packit |
01d647 |
r Iptc.Application2.Byline
|
|
Packit |
01d647 |
r Iptc.Application2.Caption
|
|
Packit |
01d647 |
r Iptc.Application2.Keywords
|
|
Packit |
01d647 |
r Iptc.Application2.Keywords
|
|
Packit |
01d647 |
r Iptc.Application2.Keywords
|
|
Packit |
01d647 |
r Iptc.Application2.CountryName
|
|
Packit |
01d647 |
eoc
|
|
Packit |
01d647 |
runTest iptcprint $tmp > $test
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
#check results
|
|
Packit |
01d647 |
diffCheck $test $good
|
|
Packit |
01d647 |
printf "."
|
|
Packit |
01d647 |
rm $tmp
|
|
Packit |
01d647 |
}
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
addModTest()
|
|
Packit |
01d647 |
{
|
|
Packit |
01d647 |
src=$1
|
|
Packit |
01d647 |
tmp="temp"
|
|
Packit |
01d647 |
test=${src}.iatst
|
|
Packit |
01d647 |
good=$datapath/${src}.iagd
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
#setup
|
|
Packit |
01d647 |
cp $datapath/$src $tmp
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
#run tests
|
|
Packit |
01d647 |
runTest iptctest $tmp <<-eoc
|
|
Packit Service |
fb147c |
a Iptc.Application2.Headline The headline I am
|
|
Packit Service |
fb147c |
a Iptc.Application2.Keywords Yet another keyword
|
|
Packit Service |
fb147c |
m Iptc.Application2.DateCreated 2004-8-3
|
|
Packit Service |
fb147c |
a Iptc.Application2.Urgency 3
|
|
Packit Service |
fb147c |
m Iptc.Application2.SuppCategory "bla bla ba"
|
|
Packit Service |
fb147c |
a Iptc.Envelope.ModelVersion 2
|
|
Packit Service |
fb147c |
a Iptc.Envelope.TimeSent 14:41:0-05:00
|
|
Packit |
01d647 |
a Iptc.Application2.RasterizedCaption 230 42 34 2 90 84 23 146
|
|
Packit |
01d647 |
eoc
|
|
Packit |
01d647 |
runTest iptcprint $tmp > $test
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
#check results
|
|
Packit |
01d647 |
diffCheck $test $good
|
|
Packit |
01d647 |
printf "."
|
|
Packit |
01d647 |
rm $tmp
|
|
Packit |
01d647 |
}
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
extendedTest()
|
|
Packit |
01d647 |
{
|
|
Packit |
01d647 |
src=$1
|
|
Packit |
01d647 |
tmp="temp"
|
|
Packit |
01d647 |
test=${src}.ixtst
|
|
Packit |
01d647 |
good=$datapath/${src}.ixgd
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
#setup
|
|
Packit |
01d647 |
cp $datapath/$src $tmp
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
#run tests
|
|
Packit |
01d647 |
runTest iptctest $tmp < $datapath/ext.dat
|
|
Packit |
01d647 |
runTest iptcprint $tmp > $test
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
#check results
|
|
Packit |
01d647 |
diffCheck $test $good
|
|
Packit |
01d647 |
printf "."
|
|
Packit |
01d647 |
rm $tmp
|
|
Packit |
01d647 |
}
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
##
|
|
Packit |
01d647 |
#
|
|
Packit |
01d647 |
hardLinkFiles()
|
|
Packit |
01d647 |
{
|
|
Packit Service |
fb147c |
target="$1"
|
|
Packit Service |
fb147c |
shift
|
|
Packit Service |
fb147c |
for var; do
|
|
Packit Service |
fb147c |
if [ -e $var ]; then rm -rf $var ; fi
|
|
Packit Service |
fb147c |
ln $target $var
|
|
Packit Service |
fb147c |
done
|
|
Packit |
01d647 |
}
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
##
|
|
Packit |
01d647 |
# real_path - report the absolute path to a file
|
|
Packit |
01d647 |
real_path ()
|
|
Packit |
01d647 |
{
|
|
Packit Service |
fb147c |
if [ "$PLATFORM" == "Darwin" -o "$PLATFORM" == "mingw" ]; then
|
|
Packit Service |
fb147c |
if [ -d "$1" ]; then
|
|
Packit Service |
fb147c |
cd "$1"
|
|
Packit Service |
fb147c |
echo $PWD
|
|
Packit Service |
fb147c |
else
|
|
Packit Service |
fb147c |
cd $(dirname $1)
|
|
Packit Service |
fb147c |
echo "$PWD"/$(basename "$1")
|
|
Packit Service |
fb147c |
fi
|
|
Packit Service |
fb147c |
else
|
|
Packit Service |
fb147c |
which realpath 2>/dev/null >/dev/null
|
|
Packit Service |
fb147c |
if [ $? == 0 ]; then
|
|
Packit Service |
fb147c |
realpath "$1"
|
|
Packit Service |
fb147c |
else
|
|
Packit Service |
fb147c |
readlink -f "$1"
|
|
Packit Service |
fb147c |
fi
|
|
Packit |
01d647 |
fi
|
|
Packit |
01d647 |
}
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
##
|
|
Packit |
01d647 |
# print checksum for one file
|
|
Packit |
01d647 |
checkSum()
|
|
Packit |
01d647 |
{
|
|
Packit Service |
fb147c |
if [ "$PLATFORM" == 'NetBSD' -o "$PLATFORM" == 'FreeBSD' -o "$PLATFORM" == 'Darwin' ]; then
|
|
Packit Service |
fb147c |
md5 -q $1
|
|
Packit |
01d647 |
else
|
|
Packit Service |
fb147c |
md5sum $1 | cut -d' ' -f 1
|
|
Packit |
01d647 |
fi
|
|
Packit |
01d647 |
}
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
##
|
|
Packit Service |
fb147c |
# startHttpServer - power up the python web server
|
|
Packit Service |
fb147c |
startHttpServer() {
|
|
Packit Service |
fb147c |
cd "${testdir}/.." # testdir is the tmp output directory
|
|
Packit Service |
fb147c |
|
|
Packit Service |
fb147c |
if [ "$platform" == "cygwin" ]; then dport=12762
|
|
Packit Service |
fb147c |
elif [ "$platform" == "mingw" ]; then dport=12761
|
|
Packit Service |
fb147c |
else dport=12760
|
|
Packit Service |
fb147c |
fi
|
|
Packit Service |
fb147c |
|
|
Packit Service |
fb147c |
if [ ! -z $EXIV2_PORT ]; then port=$EXIV2_PORT ; else port=$dport ; fi
|
|
Packit Service |
fb147c |
if [ ! -z $EXIV2_HTTP ]; then http=$EXIV2_HTTP ; else http=http://localhost; fi
|
|
Packit Service |
fb147c |
exiv2_url=$http:$port
|
|
Packit Service |
fb147c |
python3 -m http.server $port & # start a background local HTTP server in the "real" test directory
|
|
Packit Service |
fb147c |
sleep 2 # wait for it to init or die!
|
|
Packit Service |
fb147c |
exiv2_httpServer=$!
|
|
Packit Service |
fb147c |
# ask the server to reply
|
|
Packit Service |
fb147c |
echo $exiv2_url status = $(python3 -c "import urllib.request;print(urllib.request.urlopen('$exiv2_url/').status)")
|
|
Packit Service |
fb147c |
}
|
|
Packit Service |
fb147c |
|
|
Packit Service |
fb147c |
##
|
|
Packit Service |
fb147c |
# closeHttpServer - power down the python web server
|
|
Packit Service |
fb147c |
closeHttpServer() {
|
|
Packit Service |
fb147c |
if [ ! -z $exiv2_httpServer ]; then
|
|
Packit Service |
fb147c |
echo kill exiv2_httpServer $exiv2_httpServer
|
|
Packit Service |
fb147c |
kill $exiv2_httpServer # kill the server
|
|
Packit Service |
fb147c |
fi
|
|
Packit Service |
fb147c |
}
|
|
Packit Service |
fb147c |
|
|
Packit Service |
fb147c |
##
|
|
Packit Service |
fb147c |
# prepare tmp directory and variables
|
|
Packit |
01d647 |
prepareTest()
|
|
Packit |
01d647 |
{
|
|
Packit Service |
fb147c |
##
|
|
Packit Service |
fb147c |
# locale and timezone setting
|
|
Packit Service |
fb147c |
export LC_ALL=C
|
|
Packit Service |
fb147c |
export TZ=BST-1
|
|
Packit Service |
fb147c |
|
|
Packit Service |
fb147c |
os=$(uname)
|
|
Packit Service |
fb147c |
export PLATFORM=$os
|
|
Packit Service |
fb147c |
if [ $os != FreeBSD -a $os != NetBSD -a $os != SunOS -a $os != Darwin -a $os != Linux ]; then
|
|
Packit Service |
fb147c |
os=$(uname -o)
|
|
Packit Service |
fb147c |
if [ $os == Cygwin ]; then
|
|
Packit Service |
fb147c |
PLATFORM=cygwin
|
|
Packit Service |
fb147c |
elif [ os == Msys ]; then
|
|
Packit Service |
fb147c |
PLATFORM=mingw
|
|
Packit Service |
fb147c |
fi
|
|
Packit Service |
fb147c |
fi
|
|
Packit Service |
fb147c |
|
|
Packit Service |
fb147c |
if [ "$PLATFORM" == cygwin -o "$PLATFORM" == mingw ]; then
|
|
Packit Service |
fb147c |
exe=.exe
|
|
Packit Service |
fb147c |
fi
|
|
Packit Service |
fb147c |
|
|
Packit Service |
fb147c |
if [ ! -z $EXIV2_EXT ]; then
|
|
Packit Service |
fb147c |
exe=$EXIV2_EXT
|
|
Packit Service |
fb147c |
fi
|
|
Packit Service |
fb147c |
|
|
Packit Service |
fb147c |
##
|
|
Packit Service |
fb147c |
# initialize globals
|
|
Packit Service |
fb147c |
this=$(basename $0 .sh)
|
|
Packit Service |
fb147c |
here=$PWD
|
|
Packit Service |
fb147c |
datapath="../data"
|
|
Packit Service |
fb147c |
testdir="$here/tmp"
|
|
Packit Service |
fb147c |
datadir="../data"
|
|
Packit Service |
fb147c |
|
|
Packit Service |
fb147c |
if [ -z "$EXIV2_BINDIR" ] ; then
|
|
Packit |
01d647 |
bin="$here/../build/bin/"
|
|
Packit Service |
fb147c |
else
|
|
Packit Service |
fb147c |
bin="$EXIV2_BINDIR/"
|
|
Packit Service |
fb147c |
fi
|
|
Packit Service |
fb147c |
|
|
Packit Service |
fb147c |
# update PATHs to ensure we load the the correct dynamlic library
|
|
Packit Service |
fb147c |
if [ $PLATFORM == 'mingw' -a $PLATFORM == 'cygwin' ]; then
|
|
Packit Service |
fb147c |
export PATH="$bin:$PATH"
|
|
Packit Service |
fb147c |
elif [ 'PLATFORM' == 'Darwin' ]; then
|
|
Packit Service |
fb147c |
export DYLD_LIBRARY_PATH="$bin/../lib:$DYLD_LIBRARY_PATH"
|
|
Packit Service |
fb147c |
else
|
|
Packit Service |
fb147c |
export LD_LIBRARY_PATH="$bin/../lib:$LD_LIBRARY_PATH"
|
|
Packit Service |
fb147c |
fi
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
##
|
|
Packit |
01d647 |
# figure out arguments for diff
|
|
Packit |
01d647 |
good="$here/data/${this}.out"
|
|
Packit |
01d647 |
results="$here/tmp/${this}.out"
|
|
Packit Service |
fb147c |
mkdir -p $here/tmp
|
|
Packit |
01d647 |
tmpfile=$here/tmp/$this
|
|
Packit Service |
fb147c |
echo '' >> $tmpfile
|
|
Packit |
01d647 |
|
|
Packit Service |
fb147c |
if [ "$PLATFORM" == SunOS -o "$PLATFORM" == FreeBSD -o "$PLATFORM" == NetBSD ] ; then
|
|
Packit Service |
fb147c |
da1=""
|
|
Packit Service |
fb147c |
da2=""
|
|
Packit Service |
fb147c |
else
|
|
Packit Service |
fb147c |
diffargs="--strip-trailing-cr"
|
|
Packit Service |
fb147c |
diff -q $diffargs $tmpfile $tmpfile 2>/dev/null
|
|
Packit Service |
fb147c |
if [ $? -ne 0 ]; then
|
|
Packit Service |
fb147c |
diffargs=""
|
|
Packit Service |
fb147c |
fi
|
|
Packit Service |
fb147c |
|
|
Packit Service |
fb147c |
tmpfile=tmp/ttt
|
|
Packit Service |
fb147c |
echo '' >> $tmpfile
|
|
Packit Service |
fb147c |
da1="--strip-trailing-cr"
|
|
Packit Service |
fb147c |
diff -q $da1 $tmpfile $tmpfile 2>/dev/null
|
|
Packit Service |
fb147c |
if [ $? -ne 0 ] ; then
|
|
Packit Service |
fb147c |
da1=""
|
|
Packit Service |
fb147c |
fi
|
|
Packit Service |
fb147c |
da2="--ignore-matching-lines=^Usage:.*exiv2"
|
|
Packit Service |
fb147c |
diff -q $da2 $tmpfile $tmpfile 2>/dev/null
|
|
Packit Service |
fb147c |
fi
|
|
Packit Service |
fb147c |
diffargs="$da1 $da2"
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
##
|
|
Packit |
01d647 |
# test that exiv2 and some sample apps are in the bin!
|
|
Packit |
01d647 |
for e in exiv2 exifprint easyaccess-test metacopy ; do
|
|
Packit Service |
fb147c |
e="${bin}${e}${exe}"
|
|
Packit Service |
fb147c |
if [ ! -e "$e" ]; then
|
|
Packit Service |
fb147c |
echo '******************************************'
|
|
Packit Service |
fb147c |
echo '***' $(real_path "$e") does not exist
|
|
Packit Service |
fb147c |
echo '******************************************'
|
|
Packit Service |
fb147c |
exit 42
|
|
Packit Service |
fb147c |
fi
|
|
Packit |
01d647 |
done
|
|
Packit Service |
fb147c |
|
|
Packit Service |
fb147c |
# set platform for msvc builds
|
|
Packit Service |
fb147c |
platform=$PLATFORM
|
|
Packit Service |
fb147c |
if [ $PLATFORM == mingw -o $PLATFORM == cygwin ]; then
|
|
Packit Service |
fb147c |
platform=$(runTest exiv2 -vV 2>/dev/null | grep platform=)
|
|
Packit Service |
fb147c |
if [ "$platform" == "platform=windows" ]; then
|
|
Packit Service |
fb147c |
platform="windows"
|
|
Packit Service |
fb147c |
fi
|
|
Packit Service |
fb147c |
fi
|
|
Packit |
01d647 |
}
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
prepareTest
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
# That's all Folks!
|
|
Packit |
01d647 |
##
|