This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
Harald Welte gerrit-no-reply at lists.osmocom.orgReview at https://gerrit.osmocom.org/5451 BSC_Tests: Migrate various ASSIGNMENT tests over to MSC_ConnHdlr This way we benefit from the ability to handle the RR MODE MODIFY, RSL MODE MODIFY, IPA CRCX and IPA MDCX capabilities of the MSC_ConnHdlr component. While each test case now needs a separate function in addition to the actual testcase, this allows for more flexibility and a more complete emulation of BTS behaviour. Change-Id: Iba50663cb5104bf34bd6fc8aac2aa3b47155fe99 --- M bsc/BSC_Tests.ttcn 1 file changed, 108 insertions(+), 76 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/51/5451/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 67f3eb2..ce61984 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -491,79 +491,6 @@ f_assignment_exp(ass_cmd, exp_compl, "BSC failed SIGNALLING assignment"); } -testcase TC_assignment_fr_a5_0() runs on test_CT { - var template PDU_BSSAP exp_compl := tr_BSSMAP_AssignmentComplete(omit, ?); - var BSSMAP_IE_AoIP_TransportLayerAddress tla := valueof(ts_BSSMAP_IE_AoIP_TLA4('01020304'O, 2342)); - var PDU_BSSAP ass_cmd := valueof(ts_BSSMAP_AssignmentReq(omit, tla)); - const OCT8 kc := '0001020304050607'O; - - ass_cmd.pdu.bssmap.assignmentRequest.channelType := valueof(ts_BSSMAP_IE_ChannelType); - ass_cmd.pdu.bssmap.assignmentRequest.codecList := valueof(ts_BSSMAP_IE_CodecList({ts_CodecFR})); - ass_cmd.pdu.bssmap.assignmentRequest.encryptionInformation := - valueof(ts_BSSMAP_IE_EncrInfo(kc, '01'O)); - f_assignment_exp(ass_cmd, exp_compl, "BSC failed TCH/F FR A5/0 assignment"); -} - -testcase TC_assignment_fr_a5_1() runs on test_CT { - var template PDU_BSSAP exp_compl := tr_BSSMAP_AssignmentComplete(omit, ?); - var BSSMAP_IE_AoIP_TransportLayerAddress tla := valueof(ts_BSSMAP_IE_AoIP_TLA4('01020304'O, 2342)); - var PDU_BSSAP ass_cmd := valueof(ts_BSSMAP_AssignmentReq(omit, tla)); - const OCT8 kc := '0001020304050607'O; - - ass_cmd.pdu.bssmap.assignmentRequest.channelType := valueof(ts_BSSMAP_IE_ChannelType); - ass_cmd.pdu.bssmap.assignmentRequest.codecList := valueof(ts_BSSMAP_IE_CodecList({ts_CodecFR})); - ass_cmd.pdu.bssmap.assignmentRequest.encryptionInformation := - valueof(ts_BSSMAP_IE_EncrInfo(kc, '02'O)); - f_assignment_exp(ass_cmd, exp_compl, "BSC failed TCH/F FR A5/1 assignment"); -} - -/* Exxpet ASSIGNMENT FAIL if mandatory IE is missing */ -testcase TC_assignment_fr_a5_1_codec_missing() runs on test_CT { - var template PDU_BSSAP exp_fail := tr_BSSMAP_AssignmentFail; - var BSSMAP_IE_AoIP_TransportLayerAddress tla := valueof(ts_BSSMAP_IE_AoIP_TLA4('01020304'O, 2342)); - var PDU_BSSAP ass_cmd := valueof(ts_BSSMAP_AssignmentReq(omit, tla)); - const OCT8 kc := '0001020304050607'O; - - ass_cmd.pdu.bssmap.assignmentRequest.channelType := valueof(ts_BSSMAP_IE_ChannelType); - ass_cmd.pdu.bssmap.assignmentRequest.encryptionInformation := - valueof(ts_BSSMAP_IE_EncrInfo(kc, '02'O)); - f_assignment_exp(ass_cmd, exp_fail, "BSC didn't reject missing mandatory speech codec IE"); -} - - - -testcase TC_assignment_fr_a5_3() runs on test_CT { - var template PDU_BSSAP exp_compl := tr_BSSMAP_AssignmentComplete(omit, ?); - var BSSMAP_IE_AoIP_TransportLayerAddress tla := valueof(ts_BSSMAP_IE_AoIP_TLA4('01020304'O, 2342)); - var PDU_BSSAP ass_cmd := valueof(ts_BSSMAP_AssignmentReq(omit, tla)); - const OCT8 kc := '0001020304050607'O; - - ass_cmd.pdu.bssmap.assignmentRequest.channelType := valueof(ts_BSSMAP_IE_ChannelType); - ass_cmd.pdu.bssmap.assignmentRequest.codecList := valueof(ts_BSSMAP_IE_CodecList({ts_CodecFR})); - ass_cmd.pdu.bssmap.assignmentRequest.encryptionInformation := - valueof(ts_BSSMAP_IE_EncrInfo(kc, '08'O)); - f_assignment_exp(ass_cmd, exp_compl, "BSC failed TCH/F FR A5/3 assignment"); -} - -testcase TC_assignment_fr_a5_4() runs on test_CT { - var template PDU_BSSAP exp_fail := tr_BSSMAP_AssignmentFail; - var BSSMAP_IE_AoIP_TransportLayerAddress tla := valueof(ts_BSSMAP_IE_AoIP_TLA4('01020304'O, 2342)); - var PDU_BSSAP ass_cmd := valueof(ts_BSSMAP_AssignmentReq(omit, tla)); - const OCT8 kc := '0001020304050607'O; - const OCT16 kc128 := kc & kc; - - ass_cmd.pdu.bssmap.assignmentRequest.channelType := valueof(ts_BSSMAP_IE_ChannelType); - ass_cmd.pdu.bssmap.assignmentRequest.codecList := valueof(ts_BSSMAP_IE_CodecList({ts_CodecFR})); - ass_cmd.pdu.bssmap.assignmentRequest.encryptionInformation := - valueof(ts_BSSMAP_IE_EncrInfo(kc, '10'O)); - ass_cmd.pdu.bssmap.assignmentRequest.kC128 := valueof(ts_BSSMAP_IE_Kc128(kc128)); - /* TODO: expect GSM0808_CAUSE_CIPHERING_ALGORITHM_NOT_SUPPORTED cause value */ - f_assignment_exp(ass_cmd, exp_fail, "BSC accepted TCH/F FR A5/4 assignment"); -} - - - - type record DchanTuple { integer sccp_conn_id, RslChannelNr rsl_chan_nr @@ -1275,8 +1202,33 @@ return vc_conn; } +private function f_tc_assignment_fr_a5_0(charstring id) runs on MSC_ConnHdlr { + var TestHdlrParams pars := valueof(t_def_TestHdlrPars); + var template PDU_BSSAP exp_compl := tr_BSSMAP_AssignmentComplete(omit, ?); + var BSSMAP_IE_AoIP_TransportLayerAddress tla := valueof(ts_BSSMAP_IE_AoIP_TLA4('01020304'O, 2342)); + var PDU_BSSAP ass_cmd := valueof(ts_BSSMAP_AssignmentReq(omit, tla)); + const OCT8 kc := '0001020304050607'O; -private function f_ass(charstring id) runs on MSC_ConnHdlr { + ass_cmd.pdu.bssmap.assignmentRequest.channelType := valueof(ts_BSSMAP_IE_ChannelType); + ass_cmd.pdu.bssmap.assignmentRequest.codecList := valueof(ts_BSSMAP_IE_CodecList({ts_CodecFR})); + ass_cmd.pdu.bssmap.assignmentRequest.encryptionInformation := + valueof(ts_BSSMAP_IE_EncrInfo(kc, '01'O)); + f_establish_fully(pars, ass_cmd, exp_compl); +} + +testcase TC_assignment_fr_a5_0() runs on test_CT { + var MSC_ConnHdlr vc_conn; + + f_init(true); + f_sleep(1.0); + + vc_conn := f_start_handler(refers(f_tc_assignment_fr_a5_0), testcasename()); + vc_conn.done; +} + + + +private function f_tc_assignment_fr_a5_1(charstring id) runs on MSC_ConnHdlr { var TestHdlrParams pars := valueof(t_def_TestHdlrPars); var template PDU_BSSAP exp_compl := tr_BSSMAP_AssignmentComplete(omit, ?); @@ -1292,16 +1244,96 @@ f_establish_fully(pars, ass_cmd, exp_compl); } -testcase TC_hdlr() runs on test_CT { +testcase TC_assignment_fr_a5_1() runs on test_CT { var MSC_ConnHdlr vc_conn; f_init(true); f_sleep(1.0); - vc_conn := f_start_handler(refers(f_ass), "foo"); + vc_conn := f_start_handler(refers(f_tc_assignment_fr_a5_1), testcasename()); vc_conn.done; } +/* Expect ASSIGNMENT FAIL if mandatory IE is missing */ +private function f_tc_assignment_fr_a5_1_codec_missing(charstring id) runs on MSC_ConnHdlr { + var TestHdlrParams pars := valueof(t_def_TestHdlrPars); + var template PDU_BSSAP exp_fail := tr_BSSMAP_AssignmentFail; + var BSSMAP_IE_AoIP_TransportLayerAddress tla := valueof(ts_BSSMAP_IE_AoIP_TLA4('01020304'O, 2342)); + var PDU_BSSAP ass_cmd := valueof(ts_BSSMAP_AssignmentReq(omit, tla)); + const OCT8 kc := '0001020304050607'O; + + ass_cmd.pdu.bssmap.assignmentRequest.channelType := valueof(ts_BSSMAP_IE_ChannelType); + ass_cmd.pdu.bssmap.assignmentRequest.encryptionInformation := + valueof(ts_BSSMAP_IE_EncrInfo(kc, '02'O)); + f_establish_fully(pars, ass_cmd, exp_fail); +} + +testcase TC_assignment_fr_a5_1_codec_missing() runs on test_CT { + var MSC_ConnHdlr vc_conn; + + f_init(true); + f_sleep(1.0); + + vc_conn := f_start_handler(refers(f_tc_assignment_fr_a5_1_codec_missing), testcasename()); + vc_conn.done; +} + + +private function f_tc_assignment_fr_a5_3(charstring id ) runs on MSC_ConnHdlr { + var TestHdlrParams pars := valueof(t_def_TestHdlrPars); + var template PDU_BSSAP exp_compl := tr_BSSMAP_AssignmentComplete(omit, ?); + var BSSMAP_IE_AoIP_TransportLayerAddress tla := valueof(ts_BSSMAP_IE_AoIP_TLA4('01020304'O, 2342)); + var PDU_BSSAP ass_cmd := valueof(ts_BSSMAP_AssignmentReq(omit, tla)); + const OCT8 kc := '0001020304050607'O; + + ass_cmd.pdu.bssmap.assignmentRequest.channelType := valueof(ts_BSSMAP_IE_ChannelType); + ass_cmd.pdu.bssmap.assignmentRequest.codecList := valueof(ts_BSSMAP_IE_CodecList({ts_CodecFR})); + ass_cmd.pdu.bssmap.assignmentRequest.encryptionInformation := + valueof(ts_BSSMAP_IE_EncrInfo(kc, '08'O)); + f_establish_fully(pars, ass_cmd, exp_compl); +} + +testcase TC_assignment_fr_a5_3() runs on test_CT { + var MSC_ConnHdlr vc_conn; + + f_init(true); + f_sleep(1.0); + + vc_conn := f_start_handler(refers(f_tc_assignment_fr_a5_3), testcasename()); + vc_conn.done; +} + + +private function f_tc_assignment_fr_a5_4(charstring id) runs on MSC_ConnHdlr { + var TestHdlrParams pars := valueof(t_def_TestHdlrPars); + var template PDU_BSSAP exp_fail := tr_BSSMAP_AssignmentFail; + var BSSMAP_IE_AoIP_TransportLayerAddress tla := valueof(ts_BSSMAP_IE_AoIP_TLA4('01020304'O, 2342)); + var PDU_BSSAP ass_cmd := valueof(ts_BSSMAP_AssignmentReq(omit, tla)); + const OCT8 kc := '0001020304050607'O; + const OCT16 kc128 := kc & kc; + + ass_cmd.pdu.bssmap.assignmentRequest.channelType := valueof(ts_BSSMAP_IE_ChannelType); + ass_cmd.pdu.bssmap.assignmentRequest.codecList := valueof(ts_BSSMAP_IE_CodecList({ts_CodecFR})); + ass_cmd.pdu.bssmap.assignmentRequest.encryptionInformation := + valueof(ts_BSSMAP_IE_EncrInfo(kc, '10'O)); + ass_cmd.pdu.bssmap.assignmentRequest.kC128 := valueof(ts_BSSMAP_IE_Kc128(kc128)); + /* TODO: expect GSM0808_CAUSE_CIPHERING_ALGORITHM_NOT_SUPPORTED cause value */ + f_establish_fully(pars, ass_cmd, exp_fail); +} + +testcase TC_assignment_fr_a5_4() runs on test_CT { + var MSC_ConnHdlr vc_conn; + + f_init(true); + f_sleep(1.0); + + vc_conn := f_start_handler(refers(f_tc_assignment_fr_a5_4), testcasename()); + vc_conn.done; +} + + + + control { execute( TC_ctrl_msc_connection_status() ); execute( TC_ctrl() ); -- To view, visit https://gerrit.osmocom.org/5451 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Iba50663cb5104bf34bd6fc8aac2aa3b47155fe99 Gerrit-PatchSet: 1 Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Owner: Harald Welte <laforge at gnumonks.org>