Files
openairinterface5g/cmake_targets/tools/test_helper
T
Raphael Defosseux c3d1aac90a CI: stability / cosmetics improvements
-- Stability issues when installing packages for USRP variants on new VM
     It sometimes timed-out
     Added loop up to 5 tries to add apt-repository
  -- Temporary merge during MergeRequest processing now returns an
     error when there are any conflicts
     Will stop the whole build
  -- Physical simulator now has a XLST for the XML result

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-06-29 16:43:37 +02:00

88 lines
2.6 KiB
Plaintext

# source this file in a bash
XUNIT_TESTSUITE_START=0
XUNIT_START=0
XUNIT_TOTAL=0
XUNIT_FAILED=0
XUNIT_SUCCESS=0
XUNIT_TESTCASES_XML=""
## Call this at the start of a testcase.
# \sa xUnit_fail()
# \sa xUnit_success()
xUnit_start() {
XUNIT_START=$(date +%s.%N)
if [ $XUNIT_TESTSUITE_START == 0 ]; then
# very first call: start of a testsuite
XUNIT_TESTSUITE_START=$XUNIT_START
fi
}
## Call this after the testcase finished with a failure.
# \sa xUnit_success()
# \pre xUnit_start() must have been called before
# \param $1 classname
# \param $2 testcase name
# \param $3 testcase result
# \param $4 run result
# \param $5 XML file local to test case for storing its own results
# \param $6 proper description
xUnit_fail() {
class=$1
test_case=$2
result=$3
run_result=$4
xmlfile_testcase=$5
desc=$6
currtime=$(date +%s.%N)
time=$(echo "$currtime - $XUNIT_START" | bc -l)
xml="<testcase classname='$class' name='$test_case' description='$desc' Run_result='$run_result' time='$time s' RESULT='$result'></testcase>"
echo -e "$xml" >> "$xmlfile_testcase"
XUNIT_TESTCASES_XML="$XUNIT_TESTCASES_XML \n$xml"
XUNIT_FAILED=$((XUNIT_FAILED+1))
}
## Call this after the testcase finished successfully.
# \sa xUnit_success()
# \pre xUnit_start() must have been called before
# \param $1 classname
# \param $2 testcase name
# \param $3 testcase result
# \param $4 run result
# \param $5 XML file local to test case for storing its own results
# \param $6 proper description
xUnit_success() {
class=$1
test_case=$2
result=$3
run_result=$4
xmlfile_testcase=$5
desc=$6
currtime=$(date +%s.%N)
time=$(echo "$currtime - $XUNIT_START" | bc -l)
xml="<testcase classname='$class' name='$test_case' description='$desc' Run_result='$run_result' time='$time s' RESULT='$result'></testcase>"
echo -e $xml >> $xmlfile_testcase
XUNIT_TESTCASES_XML="$XUNIT_TESTCASES_XML \n$xml"
XUNIT_SUCCESS=$((XUNIT_SUCCESS+1))
}
## Call this after all testcases have been completed.
# This functions writes out the test report.
# \param $1 filename
xUnit_write() {
filename=$1
tests=$((XUNIT_FAILED+XUNIT_SUCCESS))
timestamp=$(date --iso-8601=seconds)
time=$(echo "$currtime - $XUNIT_TESTSUITE_START" | bc -l)
xml_header="<testsuites><testsuite errors='0' failures='$XUNIT_FAILED' hostname='$(hostname)' name='OAI' skipped='0' tests='$tests' time='$time' timestamp='$timestamp'>"
echo $xml_header > $filename
echo -e $XUNIT_TESTCASES_XML >> $filename
echo "</testsuite></testsuites>" >> $filename
XUNIT_TESTSUITE_START=0
XUNIT_START=0
XUNIT_TOTAL=0
XUNIT_FAILED=0
XUNIT_SUCCESS=0
XUNIT_TESTCASES_XML=""
}