add compare-results.sh, call from start-testsuite.sh
Compare current test results to the expected results, and exit in error on
discrepancies.
Add compare-result.sh: (trivially) grep junit xml output to determine which
tests passed and which didn't, and compare against an expected-result.log,
another junit file from a previous run. Summarize and determine success.
Include an "xfail" feature: tests that are expected to fail are marked as
"xfail", unexpected failures as "FAIL".
In various subdirs, copy the current jenkins jobs' junit xml outputs as
expected-results.log, so that we will start getting useful output in both
jenkins runs and manual local runs.
In start-testsuite.sh, after running the tests, invoke the results comparison.
Due to the single-line parsing nature, the script so far does not distinguish
between error and failure. I doubt that we actually need to do that though.
Related: OS#3136
Change-Id: I87d62a8be73d73a5eeff61a842e7c27a0066079d
diff --git a/mgw/expected-results.log b/mgw/expected-results.log
new file mode 100644
index 0000000..c67d5d9
--- /dev/null
+++ b/mgw/expected-results.log
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<testsuite name='Titan' tests='26' failures='1' errors='0' skipped='1' inconc='0' time='177.00'>
+ <testcase classname='MGCP_Test' name='TC_selftest' time='0.002990'>
+ <skipped>no verdict</skipped>
+ </testcase>
+ <testcase classname='MGCP_Test' name='TC_crcx' time='0.008097'/>
+ <testcase classname='MGCP_Test' name='TC_crcx_noprefix' time='0.007103'/>
+ <testcase classname='MGCP_Test' name='TC_crcx_unsupp_mode' time='0.006485'/>
+ <testcase classname='MGCP_Test' name='TC_crcx_early_bidir_mode' time='0.023678'/>
+ <testcase classname='MGCP_Test' name='TC_crcx_unsupp_param' time='0.005827'/>
+ <testcase classname='MGCP_Test' name='TC_crcx_missing_callid' time='0.006864'/>
+ <testcase classname='MGCP_Test' name='TC_crcx_missing_mode' time='0.006328'/>
+ <testcase classname='MGCP_Test' name='TC_crcx_unsupp_packet_intv' time='0.005716'/>
+ <testcase classname='MGCP_Test' name='TC_crcx_illegal_double_lco' time='0.014705'>
+ <failure type='fail-verdict'>
+ MGCP_Test.ttcn:887 MGCP_Test control part
+ MGCP_Test.ttcn:436 TC_crcx_illegal_double_lco testcase
+ </failure>
+ </testcase>
+ <testcase classname='MGCP_Test' name='TC_crcx_sdp' time='0.008481'/>
+ <testcase classname='MGCP_Test' name='TC_crcx_wildcarded' time='0.006528'/>
+ <testcase classname='MGCP_Test' name='TC_crcx_wildcarded_exhaust' time='0.033504'/>
+ <testcase classname='MGCP_Test' name='TC_mdcx_without_crcx' time='0.023214'/>
+ <testcase classname='MGCP_Test' name='TC_dlcx_without_crcx' time='0.006506'/>
+ <testcase classname='MGCP_Test' name='TC_mdcx_wildcarded' time='0.006675'/>
+ <testcase classname='MGCP_Test' name='TC_dlcx_wildcarded' time='0.022936'/>
+ <testcase classname='MGCP_Test' name='TC_crcx_and_dlcx_ep_callid_connid' time='0.006310'/>
+ <testcase classname='MGCP_Test' name='TC_crcx_and_dlcx_ep_callid' time='0.006509'/>
+ <testcase classname='MGCP_Test' name='TC_crcx_and_dlcx_ep' time='0.006822'/>
+ <testcase classname='MGCP_Test' name='TC_crcx_and_dlcx_ep_callid_inval' time='0.007519'/>
+ <testcase classname='MGCP_Test' name='TC_crcx_and_dlcx_ep_callid_connid_inval' time='0.006912'/>
+ <testcase classname='MGCP_Test' name='TC_crcx_and_dlcx_retrans' time='0.006681'/>
+ <testcase classname='MGCP_Test' name='TC_crcx_dlcx_30ep' time='0.032986'/>
+ <testcase classname='MGCP_Test' name='TC_rtpem_selftest' time='5.514538'/>
+ <testcase classname='MGCP_Test' name='TC_two_crcx_and_rtp' time='1.111828'/>
+</testsuite>