diff options
Diffstat (limited to 'rasodmg/test/test_comp_conv.sh')
-rw-r--r-- | rasodmg/test/test_comp_conv.sh | 325 |
1 files changed, 325 insertions, 0 deletions
diff --git a/rasodmg/test/test_comp_conv.sh b/rasodmg/test/test_comp_conv.sh new file mode 100644 index 0000000..5f6e2c6 --- /dev/null +++ b/rasodmg/test/test_comp_conv.sh @@ -0,0 +1,325 @@ +#!/bin/ksh +#constants sections +TEST_TIME=$(date +%d.%b.%Y_%H:%M) +TEST_DIR=$RMANHOME/rasodmg/test +SYSTEM_INSERT=$TEST_DIR/system_insert +SYSTEM_QUERY=$TEST_DIR/system_query +DEFDIFF=$TEST_DIR/defdiff +QUERYFILE=/tmp/query.ql +LOGFILE=$PWD/$0_log +IMG_DIR=$TEST_DIR/images +INIMGFILE=$IMG_DIR/x1 +OUTIMGFILE=$IMG_DIR/out +FAILIMGFILE=$IMG_DIR/fails/out +REALIMGFILE="$OUTIMGFILE"1 +set -A CONVERSION Array TIFF JPEG HDF PNG BMP VFF +set -A CONVERSIONEXT raw tif jpg hdf png bmp vff +#AutoCompression not implemented ask Andeas? +COMPRESSION="Array ZLib RLE HaarWavelet DaubechiesWavelet SepZLib \ + SepRLE Daubechies6Wavelet Daubechies8Wavelet Daubechies10Wavelet Daubechies12Wavelet \ + Daubechies14Wavelet Daubechies16Wavelet Daubechies18Wavelet Daubechies20Wavelet \ + LeastAsym8Wavelet LeastAsym10Wavelet LeastAsym12Wavelet LeastAsym14Wavelet \ + LeastAsym16Wavelet LeastAsym18Wavelet LeastAsym20Wavelet Coiflet6Wavelet \ + Coiflet12Wavelet Coiflet18Wavelet Coiflet24Wavelet Coiflet30Wavelet QHaarWavelet" +DEBUG=0 +SERVER=$HOSTNAME +DATABASE=RASBASE +USER=rasguest +PASSWD=rasguest +COLLNAME=pipi +SETTYPE=BoolSet +MDDTYPE=BoolImage +MDDDOMAIN=[0:624,0:899] + +#function used +error() { + echo "$1 !" + exit 1 +} + +log() { + echo "$1" >>$LOGFILE +} + +print_options() { +echo "RasDaMan (s)erver host ..... $SERVER" +echo "RasDaMan (d)atabase ..... $DATABASE" +echo "RasDaMan (u)ser ..... $USER" +echo "Test Colle(c)tion ..... $COLLNAME" +echo "Test Set T(y)pe ..... $SETTYPE" +echo "Test MDD (T)ype ..... $MDDTYPE" +echo "Test MDD D(o)main ..... $MDDDOMAIN" +echo "Start Con(v)ersion Test" +echo "Start Com(p)ression Test" +echo "(E)xit Test" +} + +check_options() { + option="" + if(test "$1" = "s"); then + while(test -z "$option"); do + echo "RasDaMan Server Host: \c" + read option + done + SERVER=$option + elif (test "$1" = "d"); then + while(test -z "$option"); do + echo "RasDaMan Database: \c" + read option + done + DATABASE=$option + elif (test "$1" = "u"); then + while(test -z "$option"); do + echo "RasDaMan User: \c" + read option + done + USER=$option + option="" + while(test -z "$option"); do + echo "Password: \c" + read option + done + PASSWD=$option + elif (test "$1" = "c"); then + while(test -z "$option"); do + echo "Test Collection: \c" + read option + done + COLLNAME=$option + elif (test "$1" = "y"); then + while(test -z "$option"); do + echo "Test SetType: \c" + read option + done + SETTYPE=$option + elif (test "$1" = "t"); then + while(test -z "$option"); do + echo "MDD Type: \c" + read option + done + MDDTYPE=$option + elif (test "$1" = "o"); then + while(test -z "$option"); do + echo "MDD Domain: \c" + read option + done + MDDDOMAIN=$option + elif (test "$1" = "p"); then + echo "All set, get ready for compression test, go!" + execute_compression_test + elif (test "$1" = "v"); then + echo "All set, get ready for conversion test, go!" + execute_conversion_test + else + echo "Please choose a valid option!" + fi +} + + + + +execute_compression_test() { +SELECTQUERY="select a from $COLLNAME as a" +CREATEQUERY="create collection $COLLNAME $SETTYPE" +DELETEQUERY="delete from $COLLNAME where true" + +SYSTEM_INSERT_ARGS="-s $SERVER -u $USER -p $PASSWD --dbname $DATABASE --collection $COLLNAME --mddtype $MDDTYPE --mdddomain $MDDDOMAIN" +SYSTEM_QUERY_ARGS="-s $SERVER -u $USER -p $PASSWD --dbname $DATABASE" + +#creates collection +rm -rf $LOGFILE +log "Compression Test stated on $TEST_TIME" +log "-creating collection $COLLNAME SETTYPE" +echo "$CREATEQUERY" > $QUERYFILE +if (test $DEBUG -ne 0); then + log "$SYSTEM_QUERY $SYSTEM_QUERY_ARGS -r $QUERYFILE" +fi +$SYSTEM_QUERY $SYSTEM_QUERY_ARGS -r $QUERYFILE 1>>$LOGFILE 2>&1 +if ( test $? -ne 0 ); then + #deletes all mdd from collection from current collection + log "-deleting all image from $COLLNAME collection" + echo "$DELETEQUERY" > $QUERYFILE + if (test $DEBUG -ne 0); then + log "$SYSTEM_QUERY $SYSTEM_QUERY_ARGS -r $QUERYFILE" + fi + $SYSTEM_QUERY $SYSTEM_QUERY_ARGS -r $QUERYFILE 1>>$LOGFILE 2>&1 + if ( test $? -ne 0 ); then + error "An Error occured please check the log file $LOGFILE" + fi +fi + +k=1 +informat=${CONVERSION[0]} +informatext=${CONVERSIONEXT[0]} + +for storage in $COMPRESSION; do + for transfer in $COMPRESSION; do + #insert the data in db + log "--inserting $INIMGFILE.$informatext with tranfer $transfer mode and storage $storage mode in $COLLNAME" + if (test $DEBUG -ne 0); then + log "$SYSTEM_INSERT $SYSTEM_INSERT_ARGS \n--storageformat $storage --transformat $transfer \ + --inputformat $informat -r $INIMGFILE.$informatext" + fi + $SYSTEM_INSERT $SYSTEM_INSERT_ARGS --storageformat $storage --transformat $transfer \ + --inputformat $informat -r $INIMGFILE.$informatext 1>>$LOGFILE 2>&1 + if ( test $? -eq 0 ); then + #checks if what is in db is correct compared with DEF input + outformat=$informat + outformatext=$informatext + log "---retriving data for tranfer $transfer mode in output $outformat mode" + echo "$SELECTQUERY" > $QUERYFILE + if (test $DEBUG -ne 0); then + log "$SYSTEM_QUERY $SYSTEM_QUERY_ARGS --transformat $transfer --outputformat $outformat \ + --outputfilename $OUTIMGFILE -r $QUERYFILE" + fi + $SYSTEM_QUERY $SYSTEM_QUERY_ARGS --transformat $transfer --outputformat $outformat \ + --outputfilename $OUTIMGFILE -r $QUERYFILE 1>>$LOGFILE 2>&1 + if ( test $? -ne 0 ); then + error "An Error occured please check the log file $LOGFILE" + fi + + #comparing files src.outformatext with realfile.outformatext + $DEFDIFF --srcfilename $INIMGFILE.$informatext --srcformat $informat \ + --destfilename $REALIMGFILE.$outformatext --destformat $outformat 1>>$LOGFILE 2>&1 + if (test $? -eq 0); then + echo "$k-DEFIN=$informat TRANSFER=$transfer STORAGE=$storage DEFOUT=$outformat OK" + log "---$k-DEFIN=$informat TRANSFER=$transfer STORAGE=$storage DEFOUT=$outformat OK" + else + echo "$k-DEFIN=$informat TRANSFER=$transfer STORAGE=$storage DEFOUT=$outformat FAILED" + log "---$k-DEFIN=$informat TRANSFER=$transfer STORAGE=$storage DEFOUT=$outformat FAILED" + #keep the file for futher analysis + mv $REALIMGFILE.$outformatext $FAILIMGFILE$k.$outformatext + fi + + #deletes all mdd from collection + log "--deleting current image" + echo "$DELETEQUERY" > $QUERYFILE + if (test $DEBUG -ne 0); then + log "$SYSTEM_QUERY $SYSTEM_QUERY_ARGS --transformat $transfer -r $QUERYFILE" + fi + $SYSTEM_QUERY $SYSTEM_QUERY_ARGS --transformat $transfer -r $QUERYFILE 1>>$LOGFILE 2>&1 + if ( test $? -ne 0 ); then + error "An Error occured please check the log file $LOGFILE" + fi + else + error "An Error occured please check the log file $LOGFILE" + fi + k=$(($k+1)) + done +done +} + +execute_conversion_test() { +SELECTQUERY="select a from $COLLNAME as a" +CREATEQUERY="create collection $COLLNAME $SETTYPE" +DELETEQUERY="delete from $COLLNAME where true" + +SYSTEM_INSERT_ARGS="-s $SERVER -u $USER -p $PASSWD --dbname $DATABASE --collection $COLLNAME --mddtype $MDDTYPE --mdddomain $MDDDOMAIN" +SYSTEM_QUERY_ARGS="-s $SERVER -u $USER -p $PASSWD --dbname $DATABASE" + +#creates collection +rm -rf $LOGFILE +log "Conversion Test stated on $TEST_TIME" +log "-creating collection $COLLNAME SETTYPE" +echo "$CREATEQUERY" > $QUERYFILE +if (test $DEBUG -ne 0); then + log "$SYSTEM_QUERY $SYSTEM_QUERY_ARGS -r $QUERYFILE" +fi +$SYSTEM_QUERY $SYSTEM_QUERY_ARGS -r $QUERYFILE 1>>$LOGFILE 2>&1 +if ( test $? -ne 0 ); then + #deletes all mdd from collection from current collection + log "-deleting all image from $COLLNAME collection" + echo "$DELETEQUERY" > $QUERYFILE + if (test $DEBUG -ne 0); then + log "$SYSTEM_QUERY $SYSTEM_QUERY_ARGS -r $QUERYFILE" + fi + $SYSTEM_QUERY $SYSTEM_QUERY_ARGS -r $QUERYFILE 1>>$LOGFILE 2>&1 + if ( test $? -ne 0 ); then + error "An Error occured please check the log file $LOGFILE" + fi +fi + +i=0 +k=1 +n=${#CONVERSION[*]} +transfer=Array +storage=Array + +while (test i -lt n); do + informat=${CONVERSION[$i]} + informatext=${CONVERSIONEXT[$i]} + #insert the data in db + log "--inserting $INIMGFILE.$informatext with tranfer $transfer mode and storage $storage mode in $COLLNAME" + if (test $DEBUG -ne 0); then + log "$SYSTEM_INSERT $SYSTEM_INSERT_ARGS \n--storageformat $storage --transformat $transfer \ + --inputformat $informat -r $INIMGFILE.$informatext" + fi + $SYSTEM_INSERT $SYSTEM_INSERT_ARGS --storageformat $storage --transformat $transfer \ + --inputformat $informat -r $INIMGFILE.$informatext 1>>$LOGFILE 2>&1 + if ( test $? -eq 0 ); then + #checks if what is in db is correct compared with DEF input + j=0 + while (test j -lt n); do + outformat=${CONVERSION[$j]} + outformatext=${CONVERSIONEXT[$j]} + log "---retriving data for tranfer $transfer mode in output $outformat mode" + echo "$SELECTQUERY" > $QUERYFILE + if (test $DEBUG -ne 0); then + log "$SYSTEM_QUERY $SYSTEM_QUERY_ARGS --transformat $transfer --outputformat $outformat \ + --outputfilename $OUTIMGFILE -r $QUERYFILE" + fi + $SYSTEM_QUERY $SYSTEM_QUERY_ARGS --transformat $transfer --outputformat $outformat \ + --outputfilename $OUTIMGFILE -r $QUERYFILE 1>>$LOGFILE 2>&1 + if ( test $? -ne 0 ); then + error "An Error occured please check the log file $LOGFILE" + fi + #comparing files src.outformatext with realfile.outformatext + $DEFDIFF --srcfilename $INIMGFILE.$informatext --srcformat $informat \ + --destfilename $REALIMGFILE.$outformatext --destformat $outformat 1>>$LOGFILE 2>&1 + if (test $? -eq 0); then + echo "$k-DEFIN=$informat TRANSFER=$transfer STORAGE=$storage DEFOUT=$outformat OK" + log "---$k-DEFIN=$informat TRANSFER=$transfer STORAGE=$storage DEFOUT=$outformat OK" + else + echo "$k-DEFIN=$informat TRANSFER=$transfer STORAGE=$storage DEFOUT=$outformat FAILED" + log "---$k-DEFIN=$informat TRANSFER=$transfer STORAGE=$storage DEFOUT=$outformat FAILED" + #keep the file for futher analysis + mv $REALIMGFILE.$outformatext $FAILIMGFILE$k.$outformatext + fi + j=$(($j+1)) + k=$(($k+1)) + done + #deletes all mdd from collection + log "--deleting current image" + echo "$DELETEQUERY" > $QUERYFILE + if (test $DEBUG -ne 0); then + log "$SYSTEM_QUERY $SYSTEM_QUERY_ARGS --transformat $transfer -r $QUERYFILE" + fi + $SYSTEM_QUERY $SYSTEM_QUERY_ARGS --transformat $transfer -r $QUERYFILE 1>>$LOGFILE 2>&1 + if ( test $? -ne 0 ); then + error "An Error occured please check the log file $LOGFILE" + fi + else + error "An Error occured please check the log file $LOGFILE" + fi + i=$(($i+1)) +done +} + +echo "Conversion & Compression Test - Main Menu" + +opt="s" +while ( test "$opt" != "e"); do + print_options + echo "Change settings/Start Test/Exit?\c" + read opt + if (test "$opt" = "E"); then + opt="e" + fi + if (test "$opt" = "e"); then + echo "Exiting ..." + exit 0 + else + check_options $opt + fi +done + |