aboutsummaryrefslogtreecommitdiffstats
path: root/remsim/RemsimClient_Tests.ttcn
diff options
context:
space:
mode:
Diffstat (limited to 'remsim/RemsimClient_Tests.ttcn')
-rw-r--r--remsim/RemsimClient_Tests.ttcn49
1 files changed, 21 insertions, 28 deletions
diff --git a/remsim/RemsimClient_Tests.ttcn b/remsim/RemsimClient_Tests.ttcn
index 499fd3e8..d747eef4 100644
--- a/remsim/RemsimClient_Tests.ttcn
+++ b/remsim/RemsimClient_Tests.ttcn
@@ -15,10 +15,12 @@ module RemsimClient_Tests {
import from Native_Functions all;
import from Osmocom_Types all;
import from IPA_Emulation all;
+import from Misc_Helpers all;
/* the PIPEasp port allows us to interact with osmo-remsim-client-shell via stdin/stdout */
import from PIPEasp_PortType all;
import from PIPEasp_Types all;
+import from PIPEasp_Templates all;
import from RSPRO all;
import from RSPRO_Types all;
@@ -33,12 +35,24 @@ modulepar {
type component client_test_CT extends rspro_server_CT {
port PIPEasp_PT PIPE;
var ComponentIdentity g_srv_comp_id, g_bankd_comp_id;
+ timer g_T_guard := 60.0;
};
+private altstep as_Tguard() runs on client_test_CT {
+ [] g_T_guard.timeout {
+ setverdict(fail, "Timeout of T_guard");
+ Misc_Helpers.f_shutdown(__BFILE__, __LINE__);
+ }
+}
+
private function f_init() runs on client_test_CT {
g_srv_comp_id := valueof(ts_CompId(remsimServer, "ttcn-server"));
g_bankd_comp_id := valueof(ts_CompId(remsimBankd, "ttcn-bankd"));
+ /* Start the guard timer */
+ g_T_guard.start;
+ activate(as_Tguard());
+
f_rspro_srv_init(0, mp_server_ip, mp_server_port, g_srv_comp_id);
f_rspro_srv_init(1, mp_bankd_ip, mp_bankd_port, g_bankd_comp_id, exp_connect := false);
}
@@ -183,34 +197,13 @@ testcase TC_bank_disconnect_reconnect() runs on client_test_CT {
* Tests interacting with local remsim-bankd-client via PIPE port
***********************************************************************/
-template (value) ASP_PExecuteBackground ts_ExecBg(charstring cmd) := {
- command := cmd
-}
-
-template (present) ASP_PStdout tr_Stdout(template (present) charstring line) := {
- stdout := line
-}
-
-template (present) ASP_PStderr tr_Stderr(template (present) charstring line) := {
- stderr := line
-}
-
-template (value) ASP_PStdin ts_Stdin(template (value) charstring line) := {
- stdin :=line
-}
-
-/* osmo-remsim-client logs to stderr, so we need to ignore that log output */
-private altstep as_ignore_stderr() runs on client_test_CT {
-[] PIPE.receive(tr_Stderr(?)) { repeat; }
-}
-
/* start a local osmo-remsim-client as sub-process and attach it to PIPE port */
private function f_init_client_pipe(ClientSlot cs) runs on client_test_CT {
var charstring cmdline := mp_client_shell_cmd & " -i 127.0.0.1";
map(self:PIPE, system:PIPE);
PIPE.send(ts_ExecBg(cmdline & " -c " & int2str(cs.clientId)
& " -n " & int2str(cs.slotNr)));
- activate(as_ignore_stderr());
+ activate(as_ignore_stderr(PIPE));
}
/* pretty-print an octet string as series of ASCII encoded hex bytes with spaces */
@@ -286,8 +279,8 @@ function f_xceive_apdus(ClientSlot cslot, BankSlot bslot,
integer count := 100, integer i := 0) runs on client_test_CT
{
for (var integer j := 0; j < count; j := j+1) {
- var octetstring c_apdu := f_rnd_octstring(f_rnd_int(270));
- var octetstring r_apdu := f_rnd_octstring(f_rnd_int(270));
+ var octetstring c_apdu := f_rnd_octstring_rnd_len(270);
+ var octetstring r_apdu := f_rnd_octstring_rnd_len(270);
f_client2bank(cslot, bslot, c_apdu, i:=i);
f_bank2client(bslot, cslot, r_apdu, i:=i);
}
@@ -332,8 +325,8 @@ testcase TC_pipe_apdu_wrong_cslot() runs on client_test_CT {
f_set_atr(cslot, '3B9F96801FC78031A073BE21136743200718000001A5'O, i:=1);
- var octetstring c_apdu := f_rnd_octstring(f_rnd_int(270));
- var octetstring r_apdu := f_rnd_octstring(f_rnd_int(270));
+ var octetstring c_apdu := f_rnd_octstring_rnd_len(270);
+ var octetstring r_apdu := f_rnd_octstring_rnd_len(270);
/* Send C-APDU from correct ClientId/Slot to simulated bankd */
f_client2bank(cslot, bslot, c_apdu, i:=1);
/* respond with R-APDU from correct bankId/Slot but stating wrong ClientId */
@@ -359,8 +352,8 @@ testcase TC_pipe_apdu_wrong_bslot() runs on client_test_CT {
f_set_atr(cslot, '3B9F96801FC78031A073BE21136743200718000001A5'O, i:=1);
- var octetstring c_apdu := f_rnd_octstring(f_rnd_int(270));
- var octetstring r_apdu := f_rnd_octstring(f_rnd_int(270));
+ var octetstring c_apdu := f_rnd_octstring_rnd_len(270);
+ var octetstring r_apdu := f_rnd_octstring_rnd_len(270);
/* Send C-APDU from correct ClientId/Slot to simulated bankd */
f_client2bank(cslot, bslot, c_apdu, i:=1);
/* respond with R-APDU from wrong bankId but stating correct ClientId */