remsim: add the guard timeout to all test cases
As can be seen [1], it happens quite often that a test case gets
stuck and runs forever. Most of the existing test suites have
the guard timeout to prevent this. Let's make use of it here too.
[1] https://jenkins.osmocom.org/jenkins/view/TTCN3/job/ttcn3-remsim-test-latest/190/
Build has been executing for 1 day 23 hr!
Change-Id: I3897efd2a97c3e0d487057aa7bdc2967f3424dd8
diff --git a/remsim/RemsimServer_Tests.ttcn b/remsim/RemsimServer_Tests.ttcn
index d5af530..135ce15 100644
--- a/remsim/RemsimServer_Tests.ttcn
+++ b/remsim/RemsimServer_Tests.ttcn
@@ -20,6 +20,7 @@
import from RSPRO_Types all;
import from REMSIM_Tests all;
+import from Misc_Helpers all;
import from IPA_Emulation all;
import from HTTPmsg_Types all;
@@ -72,13 +73,28 @@
}
type component test_CT extends rspro_client_CT, http_CT {
+ timer g_T_guard := 60.0;
};
+private altstep as_Tguard() runs on test_CT {
+ [] g_T_guard.timeout {
+ setverdict(fail, "Timeout of T_guard");
+ Misc_Helpers.f_shutdown(__BFILE__, __LINE__);
+ }
+}
+
+private function f_init() runs on test_CT {
+ /* Start the guard timer */
+ g_T_guard.start;
+ activate(as_Tguard());
+}
+
testcase TC_connect_and_nothing() runs on test_CT {
var ComponentIdentity rspro_id := valueof(ts_CompId(remsimClient, "foobar"));
timer T := 20.0;
+ f_init();
f_rspro_init(rspro[0], mp_server_ip, mp_server_port, rspro_id, 0);
T.start;
/* expect that we're disconnected if we never send a ConnectClientReq */
@@ -97,6 +113,7 @@
var ComponentIdentity rspro_id := valueof(ts_CompId(remsimClient, "foobar"));
var JsRoot js;
+ f_init();
f_rsres_init();
f_rspro_init(rspro[0], mp_server_ip, mp_server_port, rspro_id, 0);
rspro[0].rspro_client_slot := valueof(ts_ClientSlot(3,4));
@@ -120,6 +137,7 @@
var ComponentIdentity rspro_id := valueof(ts_CompId(remsimBankd, "foobar"));
var JsRoot js;
+ f_init();
f_rsres_init();
f_rspro_init(rspro[0], mp_server_ip, mp_server_port, rspro_id, 0);
rspro[0].rspro_bank_id := 1;
@@ -170,6 +188,7 @@
/* test adding a single slotmap */
testcase TC_slotmap_add() runs on test_CT {
+ f_init();
f_rsres_init();
var JsSlotmap sm := valueof(ts_JsSlotmap(ts_BankSlot(1,2), ts_ClientSlot(3,4)));
@@ -181,6 +200,7 @@
/* test adding a single slotmap with out-of-range values */
testcase TC_slotmap_add_out_of_range() runs on test_CT {
+ f_init();
f_rsres_init();
var HTTPMessage http_resp;
@@ -206,6 +226,8 @@
/* test adding a slotmap and then connecting a client + bankd */
testcase TC_slotmap_add_conn_cl_b() runs on test_CT {
+ f_init();
+
/* Simulate one client */
var ComponentIdentity rspro_id := valueof(ts_CompId(remsimClient, testcasename()));
f_rspro_init(rspro[0], mp_server_ip, mp_server_port, rspro_id, 0);
@@ -249,6 +271,8 @@
/* test connecting a client and later adding a slotmap for it */
testcase TC_conn_cl_b_slotmap_add() runs on test_CT {
+ f_init();
+
/* Simulate one client */
var ComponentIdentity rspro_id := valueof(ts_CompId(remsimClient, testcasename()));
f_rspro_init(rspro[0], mp_server_ip, mp_server_port, rspro_id, 0);
@@ -292,6 +316,7 @@
/* simple delete of a 'NEW' slotmap */
testcase TC_slotmap_del_new() runs on test_CT {
+ f_init();
f_rsres_init();
var JsSlotmap sm := valueof(ts_JsSlotmap(ts_BankSlot(1,2), ts_ClientSlot(3,4)));
@@ -303,6 +328,7 @@
/* simple delete of a non-existant slotmap */
testcase TC_slotmap_del_nonexistant() runs on test_CT {
+ f_init();
f_rsres_init();
var JsSlotmap sm := valueof(ts_JsSlotmap(ts_BankSlot(11,12), ts_ClientSlot(13,14)));
@@ -314,6 +340,8 @@
/* simple delete of a 'UNACKNOWLEDGED' slotmap */
testcase TC_slotmap_del_unack() runs on test_CT {
var ComponentIdentity rspro_id := valueof(ts_CompId(remsimBankd, testcasename()));
+
+ f_init();
f_rspro_init(rspro[0], mp_server_ip, mp_server_port, rspro_id, 0);
rspro[0].rspro_bank_id := 1;
rspro[0].rspro_bank_nslots := 8;
@@ -347,6 +375,8 @@
/* simple delete of a 'ACTIVE' slotmap from server + bankd */
testcase TC_slotmap_del_active() runs on test_CT {
var ComponentIdentity rspro_id := valueof(ts_CompId(remsimBankd, testcasename()));
+
+ f_init();
f_rspro_init(rspro[0], mp_server_ip, mp_server_port, rspro_id, 0);
rspro[0].rspro_bank_id := 1;
rspro[0].rspro_bank_nslots := 8;
@@ -386,6 +416,8 @@
/* simple delete of a 'ACTIVE' slotmap from client */
testcase TC_slotmap_del_active_client() runs on test_CT {
var ComponentIdentity rspro_id := valueof(ts_CompId(remsimBankd, testcasename()));
+
+ f_init();
f_rspro_init(rspro[0], mp_server_ip, mp_server_port, rspro_id, 0);
rspro[0].rspro_bank_id := 1;
rspro[0].rspro_bank_nslots := 8;
@@ -438,6 +470,8 @@
/* Add a slotmap to a currently active bank */
testcase TC_slotmap_add_active_bank() runs on test_CT {
var ComponentIdentity rspro_id := valueof(ts_CompId(remsimBankd, testcasename()));
+
+ f_init();
f_rspro_init(rspro[0], mp_server_ip, mp_server_port, rspro_id, 0);
rspro[0].rspro_bank_id := 1;
rspro[0].rspro_bank_nslots := 8;