Blame tests/test_xml_output.sh

Packit 0b5880
#!/usr/bin/env sh
Packit 0b5880
Packit 0b5880
OUTPUT_FILE=test.xml
Packit 0b5880
CK_DEFAULT_TIMEOUT=4
Packit 0b5880
Packit 0b5880
. ./test_vars
Packit 0b5880
. $(dirname $0)/test_output_strings
Packit 0b5880
Packit 0b5880
rm -f ${OUTPUT_FILE}
Packit 0b5880
export CK_DEFAULT_TIMEOUT
Packit 0b5880
./ex_output${EXEEXT} CK_MINIMAL XML NORMAL > /dev/null
Packit 0b5880
actual_xml=`cat ${OUTPUT_FILE} | tr -d "\r" | grep -v \<duration\> | grep -v \<datetime\> | grep -v \<path\>`
Packit 0b5880
if [ x"${expected_xml}" != x"${actual_xml}" ]; then
Packit 0b5880
    echo "Problem with ex_xml_output${EXEEXT}";
Packit 0b5880
    echo "Expected:";
Packit 0b5880
    echo "${expected_xml}";
Packit 0b5880
    echo "Got:";
Packit 0b5880
    echo "${actual_xml}";
Packit 0b5880
    exit 1;
Packit 0b5880
fi
Packit 0b5880
Packit 0b5880
actual_duration_count=`grep -c \<duration\> ${OUTPUT_FILE}`
Packit 0b5880
if [ x"${expected_duration_count}" != x"${actual_duration_count}" ]; then
Packit 0b5880
    echo "Wrong number of <duration> elements in ${OUTPUT_FILE}, ${expected_duration_count} vs ${actual_duration_count}";
Packit 0b5880
    exit 1;
Packit 0b5880
fi
Packit 0b5880
Packit 0b5880
num_durations=`grep "\<duration\>" ${OUTPUT_FILE} | wc -l`
Packit 0b5880
Packit 0b5880
i=1
Packit 0b5880
while [ ${i} -le ${num_durations} ]; do
Packit 0b5880
   duration=`grep "\<duration\>" ${OUTPUT_FILE} | head -n ${i} | tail -n 1 | cut -d ">" -f 2 | cut -d "<" -f 1`
Packit 0b5880
   int_duration=`echo $duration | cut -d "." -f 1`
Packit 0b5880
   if [ "${int_duration}" -ne "-1" ] && [ "${int_duration}" -gt "${CK_DEFAULT_TIMEOUT}" ]; then
Packit 0b5880
       echo "Problem with duration ${duration}; is not valid. Should be -1 or in [0, ${CK_DEFAULT_TIMEOUT}]"
Packit 0b5880
       exit 1
Packit 0b5880
   fi
Packit 0b5880
Packit 0b5880
   i=$((i+1))
Packit 0b5880
done
Packit 0b5880
Packit 0b5880
if [ ! -z `which xmllint` ]; then
Packit 0b5880
    xmllint_output=`xmllint ${OUTPUT_FILE}`
Packit 0b5880
    if [ $? -ne 0 ]; then
Packit 0b5880
        echo "xmllint found an issue"
Packit 0b5880
        echo ${xmllint_output}
Packit 0b5880
        exit 1
Packit 0b5880
    fi
Packit 0b5880
fi
Packit 0b5880
Packit 0b5880
exit 0