You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
156 lines
4.5 KiB
Bash
156 lines
4.5 KiB
Bash
#!/bin/bash
|
|
# Test driver for CurlIO
|
|
|
|
source ./functions.source
|
|
|
|
|
|
##
|
|
#function to test remote read access in basicio.cpp
|
|
RemoteReadTest()
|
|
{
|
|
arg=$1
|
|
scheme=${arg:0:4}
|
|
|
|
src=$(basename "$arg")
|
|
filename=${src%.*}
|
|
test=${filename}.txt
|
|
good=$datapath/${filename}.txt
|
|
dot=.
|
|
# run tests
|
|
runTest exifprint $1 "--curl" > $test
|
|
#check results
|
|
diffCheckAscii $test $good
|
|
|
|
printf $dot
|
|
}
|
|
|
|
##
|
|
#function to test remoteio read/write access in basicio.cpp
|
|
RemoteIOTest()
|
|
{
|
|
arg=$1
|
|
scheme=${arg:0:4}
|
|
|
|
src=$(basename "$arg")
|
|
filename=${src%.*}
|
|
test=${filename}.txt
|
|
good=$datapath/remoteio.txt
|
|
dot=.
|
|
|
|
# print out the metadata
|
|
runTest remotetest $1 "--curl" > $test
|
|
|
|
#check results
|
|
diffCheckAscii $test $good
|
|
|
|
printf $dot
|
|
}
|
|
|
|
( cd "$testdir"
|
|
|
|
# check environmental variable
|
|
if [ -z $EXIV2_AWSUBUNTU_HOST ]; then
|
|
echo "***" please set the environmental variable EXIV2_AWSUBUNTU_HOST "***"
|
|
exit 1
|
|
fi
|
|
if [ -z $EXIV2_AWSUBUNTU_USERNAME ]; then
|
|
echo "***" please set the environmental variable EXIV2_AWSUBUNTU_USERNAME "***"
|
|
exit 1
|
|
fi
|
|
if [ -z $EXIV2_AWSUBUNTU_PASSWORD ]; then
|
|
echo "***" please set the environmental variable EXIV2_AWSUBUNTU_PASSWORD "***"
|
|
exit 1
|
|
fi
|
|
|
|
errors=0
|
|
tesfile="conntest.jpg"
|
|
files+=(remoteImg{0..9}.jpg)
|
|
iopngfiles+=(remoteio{1..5}.png)
|
|
iojpgfiles+=(remoteio{6..10}.jpg)
|
|
USE_CURL=$("$bin"/exiv2 -v -V | grep ^curlprotocols= | sed s/curlprotocols=//)
|
|
if [ "$USE_CURL" == "" ]; then
|
|
#Skip remoteIo test cases
|
|
echo 'Curl is not used. Skip remoteio test cases.'
|
|
else
|
|
# HTTP protocol
|
|
if [[ "$USE_CURL" == *http* ]]; then
|
|
# test connection
|
|
printf 'http test connection '
|
|
TEST_CON=$("$bin"/conntest http://$EXIV2_AWSUBUNTU_HOST/$testfile)
|
|
if [[ "$TEST_CON" == OK* ]]; then
|
|
errors=0
|
|
printf 'OK\nHTTP IO '
|
|
for name in ${iopngfiles[@]}; do
|
|
RemoteIOTest "http://$EXIV2_AWSUBUNTU_HOST/$name"
|
|
done
|
|
for name in ${iojpgfiles[@]}; do
|
|
RemoteIOTest "http://$EXIV2_AWSUBUNTU_HOST/$name"
|
|
done
|
|
if [ $errors -eq 0 ]; then
|
|
printf '\nAll test cases passed\n'
|
|
else
|
|
echo $errors ' test cases failed!'
|
|
fi
|
|
else
|
|
echo $TEST_CON
|
|
printf "FAIL\nnot run httpIo\n"
|
|
fi
|
|
else
|
|
echo 'Curl doesnt support HTTP'
|
|
fi
|
|
|
|
# HTTPS protocol
|
|
if [[ "$USE_CURL" == *https* ]]; then
|
|
# test connection
|
|
printf 'https test connection '
|
|
TEST_CON=$("$bin"/conntest https://$EXIV2_AWSUBUNTU_HOST/$testfile)
|
|
if [[ "$TEST_CON" == OK* ]]; then
|
|
errors=0
|
|
printf 'OK\nHTTPS IO '
|
|
for name in ${iopngfiles[@]}; do
|
|
RemoteIOTest "https://$EXIV2_AWSUBUNTU_HOST/$name"
|
|
done
|
|
for name in ${iojpgfiles[@]}; do
|
|
RemoteIOTest "https://$EXIV2_AWSUBUNTU_HOST/$name"
|
|
done
|
|
if [ $errors -eq 0 ]; then
|
|
printf '\nAll test cases passed\n'
|
|
else
|
|
echo $errors ' test cases failed!'
|
|
fi
|
|
else
|
|
echo $TEST_CON
|
|
printf "FAIL\nnot run httpsIo\n"
|
|
fi
|
|
else
|
|
echo 'Curl doesnt support HTTPS'
|
|
fi
|
|
|
|
# FTP protocol
|
|
if [[ "$USE_CURL" == *ftp* ]]; then
|
|
# test connection
|
|
printf 'ftp test connection '
|
|
TEST_CON=$("$bin"/conntest ftp://"$EXIV2_AWSUBUNTU_USERNAME"_ftp:$EXIV2_AWSUBUNTU_PASSWORD@$EXIV2_AWSUBUNTU_HOST/$testfile)
|
|
if [[ "$TEST_CON" == OK* ]]; then
|
|
errors=0
|
|
printf 'OK\nFTP READ '
|
|
for name in ${files[@]}; do
|
|
RemoteReadTest "ftp://"$EXIV2_AWSUBUNTU_USERNAME"_ftp:$EXIV2_AWSUBUNTU_PASSWORD@$EXIV2_AWSUBUNTU_HOST/$name"
|
|
done
|
|
if [ $errors -eq 0 ]; then
|
|
printf '\nAll test cases passed\n'
|
|
else
|
|
echo $errors ' test cases failed!'
|
|
fi
|
|
else
|
|
echo $TEST_CON
|
|
printf "FAIL\nnot run FTP read\n"
|
|
fi
|
|
else
|
|
echo 'Curl doesnt support FTP'
|
|
fi
|
|
fi
|
|
)
|
|
|
|
# That's all Folks!
|
|
## |