SGSN: introduce NS tests

Similiar to the PCU_Tests_NS introduce SGSN_Tests_NS.

Change-Id: Ib2bffbb110961474928f35d212cb492d4b6fdee0
changes/08/20008/3
Alexander Couzens 2 years ago
parent 904f50115d
commit 8e1dfd0d0f
  1. 1
      sgsn/SGSN_Tests.cfg
  2. 3
      sgsn/SGSN_Tests.ttcn
  3. 58
      sgsn/SGSN_Tests_NS.ttcn
  4. 3
      sgsn/gen_links.sh

@ -42,3 +42,4 @@ SGSN_Tests.mp_ggsn_ip := "127.0.0.103"
[EXECUTE]
SGSN_Tests.control
SGSN_Tests_Iu.control
SGSN_Tests_NS.control

@ -12,6 +12,7 @@ module SGSN_Tests {
*/
friend module SGSN_Tests_Iu;
friend module SGSN_Tests_NS;
import from General_Types all;
import from Osmocom_Types all;
@ -257,7 +258,7 @@ private function f_init_gtp(charstring id) runs on test_CT {
vc_GTP.start(GTP_Emulation.main(gtp_cfg));
}
private function f_init_vty() runs on test_CT {
friend function f_init_vty() runs on test_CT {
map(self:SGSNVTY, system:SGSNVTY);
f_vty_set_prompts(SGSNVTY);
f_vty_transceive(SGSNVTY, "enable");

@ -0,0 +1,58 @@
module SGSN_Tests_NS {
/* Osmocom SGSN test suite in TTCN-3
* (C) 2020 sysmocom - s.f.m.c. GmbH
* All rights reserved.
*
* Released under the terms of GNU General Public License, Version 2 or
* (at your option) any later version.
*
* SPDX-License-Identifier: GPL-2.0-or-later
*/
import from Osmocom_Types all;
import from Osmocom_Gb_Types all;
import from Osmocom_VTY_Functions all;
import from NS_CodecPort all;
import from NS_Types all;
import from RAW_NS all;
import from SGSN_Tests all;
type component RAW_Test_CT extends RAW_NS_CT, test_CT {
}
testcase TC_NS_connect_reset() runs on RAW_Test_CT {
f_init_vty();
f_init_ns_codec(mp_nsconfig[0], guard_secs := 10.0, tc_offset := 10);
f_vty_config(SGSNVTY, "ns", "encapsulation udp use-reset-block-unblock enabled");
/* Send a NS-ALIVE */
f_outgoing_ns_reset();
f_sleep(1.0);
f_cleanup();
}
testcase TC_NS_connect_alive() runs on RAW_Test_CT {
f_init_vty();
f_init_ns_codec(mp_nsconfig[0], guard_secs := 10.0, tc_offset := 20);
f_vty_config(SGSNVTY, "ns", "encapsulation udp use-reset-block-unblock disabled");
/* Send a NS-ALIVE */
NSCP[0].send(t_NS_Send(g_ns_conn_id[0], t_NS_ALIVE));
alt {
[] NSCP[0].receive(t_NS_RecvFrom(t_NS_ALIVE_ACK));
[] NSCP[0].receive(t_NS_RecvFrom(tr_NS_STATUS(*))) { setverdict(fail); }
[] NSCP[0].receive { repeat; }
}
f_sleep(1.0);
f_cleanup();
}
control {
execute( TC_NS_connect_alive() );
execute( TC_NS_connect_reset() );
}
}

@ -92,8 +92,7 @@ FILES+="LLC_Templates.ttcn L3_Templates.ttcn L3_Common.ttcn "
FILES+="RAN_Emulation.ttcnpp RAN_Adapter.ttcnpp SCCP_Templates.ttcn "
# IPA_Emulation + dependencies
FILES+="IPA_Types.ttcn IPA_Emulation.ttcnpp IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc Native_Functions.ttcn Native_FunctionDefs.cc GSUP_Types.ttcn GSUP_Emulation.ttcn "
FILES+="GTP_CodecPort.ttcn GTP_CodecPort_CtrlFunct.ttcn GTP_CodecPort_CtrlFunctDef.cc GTP_Emulation.ttcn
GTP_Templates.ttcn IPCP_Types.ttcn "
FILES+="GTP_CodecPort.ttcn GTP_CodecPort_CtrlFunct.ttcn GTP_CodecPort_CtrlFunctDef.cc GTP_Emulation.ttcn GTP_Templates.ttcn IPCP_Types.ttcn RAW_NS.ttcn "
gen_links $DIR $FILES
ignore_pp_results

Loading…
Cancel
Save