| #!/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} |
| |