blob: c9a6ebc19d5d175384b6523f46bec7d98a91660e [file] [log] [blame]
#!/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}