1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
|
#!/bin/bash
TESTCASENUMBER=$1
TESTCASENAME=$2
LOGMODULE=$3
CLISER=$4
CREATETEMPLATE=$5
clientCaseName=`echo $TESTCASENAME|sed "s/server/client/g"`
LOGFILESERVER=/tmp/libcontra.server.$TESTCASENAME.log
LOGFILECLIENT=/tmp/libcontra.client.$TESTCASENAME.log
if [ ! -z "$CREATETEMPLATE" ]; then
LOGFILESERVER=$CREATETEMPLATE/template_$TESTCASENAME
LOGFILECLIENT=$CREATETEMPLATE/template_$clientCaseName
fi
LIBRARY=../libcontra/src/libcontra.so
if [ ! -f $LIBRARY ]; then
LIBRARY=../../build/libcontra/src/libcontra.so
fi
export LD_PRELOAD=$LIBRARY
BINARY="test_server_not_found"
if [ -f ./test_server ]; then
BINARY=./test_server
fi
if [ -f ../../build/testlib/test_server ]; then
BINARY=../../build/testlib/test_server
fi
BINARYCLIENT="test_client_not_found"
if [ -f ./test_client ]; then
BINARYCLIENT=./test_client
fi
if [ -f ../../build/testlib/test_client ]; then
BINARYCLIENT=../../build/testlib/test_client
fi
startClient=0
if [ "$CLISER" == "client" ]; then
startClient=1
fi
# log only the module to be tested, output to STDIO (tee will make the rest), do only LOGLEVEL_INFO
if [ $startClient == 1 ]; then
# echo "I: start $TESTCASENAME" | tee $LOGFILESERVER
# echo "I: start $clientCaseName" | tee $LOGFILECLIENT
CONTRA_LOG_FUNCTIONS=$LOGMODULE CONTRA_LOG_STDIO=yes CONTRA_LOG_LEVEL=4 $BINARY -t $TESTCASENUMBER > $LOGFILESERVER &
sleep 2
CONTRA_LOG_FUNCTIONS=$LOGMODULE CONTRA_LOG_STDIO=yes CONTRA_LOG_LEVEL=4 $BINARYCLIENT -t $TESTCASENUMBER | tee $LOGFILECLIENT
# echo "I: end $TESTCASENAME" | tee -a $LOGFILESERVER
# echo "I: end $clientCaseName" | tee -a $LOGFILECLIENT
else
# echo "I: start $TESTCASENAME" | tee $LOGFILESERVER
CONTRA_LOG_FUNCTIONS=$LOGMODULE CONTRA_LOG_STDIO=yes CONTRA_LOG_LEVEL=4 $BINARY -t $TESTCASENUMBER | tee $LOGFILESERVER
# echo "I: end $TESTCASENAME" | tee -a $LOGFILESERVER
fi
declare -i rcc
declare -i rcs
rcc=0
rcs=0
export LD_PRELOAD=
if [ -z "$CREATETEMPLATE" ]; then
echo "I: compare with template"
diff <(cut -b26- $LOGFILESERVER|sed "s/v([0-9.]*)//g" ) <(cut -b26- ../../testlib/log-template/template_$TESTCASENAME|sed "s/v([0-9.]*)//g")
rcs=$?
if [ $rcs == "0" ]; then
echo "I: server log output as expected"
else
echo "I: server log output differ"
fi
if [ "$CLISER" == "client" ]; then
diff <(cut -b26- $LOGFILECLIENT|sed "s/v([0-9.]*)//g" ) <(cut -b26- ../../testlib/log-template/template_$clientCaseName|sed "s/v([0-9.]*)//g")
rcc=$?
if [ $rcc == "0" ]; then
echo "I: client log output as expected"
else
echo "I: client log output differ"
fi
fi
fi
# rm -f $LOGFILESERVER $LOGFILECLIENT
rc=$(($rcc + $rcs))
exit $rc
|