#!/bin/bash#**********************************************************************************# This script is for test on travis.Currently there are 5 jobs running on# travis in parallel status which are listed as below:# 1.Unit test with gcc compiler;# 2.Unit test with clang compiler;# 3.Binary comparison test for test bit stream A;# 4.Binary comparison test for test bit stream B;# 5.Binary comparison test for test bit stream C.# For binary comparison test,before running all test cases, it need to prepare# the test space.On travis,as those parallel jobs are running on different VMs,# so each job need to prepare for its test space for itself.## --usage:# ./runTest.sh UnitTest# or ./runTest.sh BinaryCompare ${TestBitStreamName}## date: 10/06/2014 Created#**********************************************************************************#usage: runInputParamCheck ${TestType} ${TestBitStream}runInputParamCheck(){ local ParameterFlag="" if [ $# -eq 1 -a "$1" = "UnitTest" ] then let "ParameterFlag=0" elif [ $# -eq 2 -a "$1" = "BinaryCompare" ] then let "ParameterFlag=0" else let "ParameterFlag=1" fi return ${ParameterFlag}}#usage: runUnitTestrunUnitTest(){ CFLAGS=-Werror make -B ENABLE64BIT=Yes BUILDTYPE=Release all plugin test CFLAGS=-Werror make -B ENABLE64BIT=Yes BUILDTYPE=Debug all plugin test CFLAGS=-Werror make -B ENABLE64BIT=No BUILDTYPE=Release all plugin test CFLAGS=-Werror make -B ENABLE64BIT=No BUILDTYPE=Debug all plugin test return $?}#usage: runPrepareAndBinaryTest $TestBitStreamrunPrepareAndBinaryTest(){ if [ ! $# -eq 2 ] then echo "usage: runPrepareAndBinaryTest \$TestBitStream" exit 1 fi local TestBitStream=$1 local TestType=$2 local WorkingDir=`pwd` local BinaryTestDir="test/encoder_binary_comparison" local TestSpacePrepareLog="AllTestSpacePrepare.log" cd ${BinaryTestDir} ./run_PrepareAllTestData.sh 64 2>${TestSpacePrepareLog} cd ${WorkingDir} echo "" echo " binary compare test, test bit stream is ${TestBitStream}" echo ""./test/encoder_binary_comparison/run_OneBitStream.sh ${TestBitStream} ${TestType} return $?}#usage:runMain ${TestType} ${TestBitStream}runMain(){ local TestType=$1 local TestBitStream=$2 runInputParamCheck ${TestType} ${TestBitStream} if [ ! $? -eq 0 ] then echo "usage: ./runTest.sh UnitTest \${PrepareFlag}" echo " or ./runTest.sh BinaryCompare \${TestBitStreamName} \${PrepareFlag} " exit 1 fi if [ "${TestType}" = "UnitTest" ] then set -e runUnitTest return $? fi if [ "${TestType}" = "BinaryCompare" ] then set -e runPrepareAndBinaryTest ${TestBitStream} TravisTest return $? fi}TestType=$1TestBitStream=$2runMain ${TestType} ${TestBitStream}
#!/bin/bash
#**********************************************************************************
# This script is for test on travis.Currently there are 5 jobs running on
# travis in parallel status which are listed as below:
# 1.Unit test with gcc compiler;
# 2.Unit test with clang compiler;
# 3.Binary comparison test for test bit stream A;
# 4.Binary comparison test for test bit stream B;
# 5.Binary comparison test for test bit stream C.
# For binary comparison test,before running all test cases, it need to prepare
# the test space.On travis,as those parallel jobs are running on different VMs,
# so each job need to prepare for its test space for itself.
#
# --usage:
# ./runTest.sh UnitTest
# or ./runTest.sh BinaryCompare ${TestBitStreamName}
#
# date: 10/06/2014 Created
#**********************************************************************************
#usage: runInputParamCheck ${TestType} ${TestBitStream}
runInputParamCheck()
{
local ParameterFlag=""
if [ $# -eq 1 -a "$1" = "UnitTest" ]
then
let "ParameterFlag=0"
elif [ $# -eq 2 -a "$1" = "BinaryCompare" ]
then
let "ParameterFlag=0"
else
let "ParameterFlag=1"
fi
return ${ParameterFlag}
}
#usage: runUnitTest
runUnitTest()
{
CFLAGS=-Werror make -B ENABLE64BIT=Yes BUILDTYPE=Release all plugin test
CFLAGS=-Werror make -B ENABLE64BIT=Yes BUILDTYPE=Debug all plugin test
CFLAGS=-Werror make -B ENABLE64BIT=No BUILDTYPE=Release all plugin test
CFLAGS=-Werror make -B ENABLE64BIT=No BUILDTYPE=Debug all plugin test
return $?
}
#usage: runPrepareAndBinaryTest $TestBitStream
runPrepareAndBinaryTest()
{
if [ ! $# -eq 2 ]
then
echo "usage: runPrepareAndBinaryTest \$TestBitStream"
exit 1
fi
local TestBitStream=$1
local TestType=$2
local WorkingDir=`pwd`
local BinaryTestDir="test/encoder_binary_comparison"
local TestSpacePrepareLog="AllTestSpacePrepare.log"
cd ${BinaryTestDir}
./run_PrepareAllTestData.sh 64 2>${TestSpacePrepareLog}
cd ${WorkingDir}
echo ""
echo " binary compare test, test bit stream is ${TestBitStream}"
echo ""
./test/encoder_binary_comparison/run_OneBitStream.sh ${TestBitStream} ${TestType}
return $?
}
#usage:runMain ${TestType} ${TestBitStream}
runMain()
{
local TestType=$1
local TestBitStream=$2
runInputParamCheck ${TestType} ${TestBitStream}
if [ ! $? -eq 0 ]
then
echo "usage: ./runTest.sh UnitTest \${PrepareFlag}"
echo " or ./runTest.sh BinaryCompare \${TestBitStreamName} \${PrepareFlag} "
exit 1
fi
if [ "${TestType}" = "UnitTest" ]
then
set -e
runUnitTest
return $?
fi
if [ "${TestType}" = "BinaryCompare" ]
then
set -e
runPrepareAndBinaryTest ${TestBitStream} TravisTest
return $?
fi
}
TestType=$1
TestBitStream=$2
runMain ${TestType} ${TestBitStream}