SGSN: introduce NS tests

Similiar to the PCU_Tests_NS introduce SGSN_Tests_NS.

Change-Id: Ib2bffbb110961474928f35d212cb492d4b6fdee0
This commit is contained in:
Alexander Couzens 2020-09-07 04:26:20 +02:00
parent 904f50115d
commit 8e1dfd0d0f
4 changed files with 62 additions and 3 deletions

View File

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

View File

@ -12,6 +12,7 @@ module SGSN_Tests {
*/ */
friend module SGSN_Tests_Iu; friend module SGSN_Tests_Iu;
friend module SGSN_Tests_NS;
import from General_Types all; import from General_Types all;
import from Osmocom_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)); 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); map(self:SGSNVTY, system:SGSNVTY);
f_vty_set_prompts(SGSNVTY); f_vty_set_prompts(SGSNVTY);
f_vty_transceive(SGSNVTY, "enable"); f_vty_transceive(SGSNVTY, "enable");

58
sgsn/SGSN_Tests_NS.ttcn Normal file
View File

@ -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() );
}
}

View File

@ -92,8 +92,7 @@ FILES+="LLC_Templates.ttcn L3_Templates.ttcn L3_Common.ttcn "
FILES+="RAN_Emulation.ttcnpp RAN_Adapter.ttcnpp SCCP_Templates.ttcn " FILES+="RAN_Emulation.ttcnpp RAN_Adapter.ttcnpp SCCP_Templates.ttcn "
# IPA_Emulation + dependencies # 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+="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 FILES+="GTP_CodecPort.ttcn GTP_CodecPort_CtrlFunct.ttcn GTP_CodecPort_CtrlFunctDef.cc GTP_Emulation.ttcn GTP_Templates.ttcn IPCP_Types.ttcn RAW_NS.ttcn "
GTP_Templates.ttcn IPCP_Types.ttcn "
gen_links $DIR $FILES gen_links $DIR $FILES
ignore_pp_results ignore_pp_results