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/7154 WIP: pcu testing Change-Id: Iee66d4a2eab520dfc115ffeb16ab6413e4057973 --- M gprs_gb/Test.ttcn 1 file changed, 47 insertions(+), 54 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/54/7154/1 diff --git a/gprs_gb/Test.ttcn b/gprs_gb/Test.ttcn index f94fe09..5747861 100644 --- a/gprs_gb/Test.ttcn +++ b/gprs_gb/Test.ttcn @@ -71,6 +71,15 @@ connect(self:L1, lapdm_component:LAPDM_SP); map(lapdm_component:L1CTL, system:L1CTL); lapdm_component.start(LAPDmStart()); + + f_bssgp_client_register(g_mmctx.imsi, g_mmctx.tlli, mp_gb_cfg.cell_id); + f_bssgp_establish(); + } + + function f_exit() runs on dummy_CT { + lapdm_component.stop; + ns_component.stop; + bssgp_component.stop; } function f_bssgp_dec_and_log(in octetstring inp) { @@ -220,7 +229,10 @@ alt { [] L1.receive(TBF_establish_res:?) {} [] L1.receive { repeat; } - [] T.timeout { setverdict(fail); } + [] T.timeout { + setverdict(fail, "Timeout establishing UL TBF"); + self.stop; + } } T.stop; } @@ -303,37 +315,9 @@ f_bssgp_wait_ul_ud(tr_BD_BSSGP(tr_BSSGP_UL_UD(g_mmctx.tlli, ?, us.tbf.llc_pdus_enc[i]))); } setverdict(pass); + + L1.send(DCCH_release_req:{}); } - - /* Send a single Uplink Block via Um; Verify reception on BSSGP; Expect UL_ACK on Um */ - function f_single_ul_block(GprsCodingScheme cs) runs on dummy_CT { - var octetstring payload := '01020304'O; - var PDU_LLC llc := valueof(ts_LLC_UI(payload, c_LLC_SAPI_LLGMM, '0'B, g_mmctx.n_u)); - var octetstring llc_enc := enc_PDU_LLC(llc); - var RLCMAC_ph_data_ind dl; - - /* establish upling TBF */ - f_establish_ul_tbf(); - - /* Generate LLC PDU consisting of single RLC block and send it via simulated MS */ - var template RlcmacUlBlock blk := t_RLCMAC_UL_DATA_TLLI(0, 0, 0, {t_RLCMAC_LLCBLOCK(llc_enc)}, false, g_mmctx.tlli); - L1.send(RLCMAC_ph_data_req:{dyn:={tbf_id := 0, cs := cs, block := blk}}); - /* ensure that this LLC-PDU arrives from the right TLLI at the (simulated) SGSN */ - BSSGP.receive(tr_BD_BSSGP(tr_BSSGP_UL_UD(g_mmctx.tlli, ?, llc_enc))); - - /* ensure the MS receives an UL_ACK_NACK */ - alt { - [] L1.receive(RLCMAC_ph_data_ind:{cs:=?, ts_nr:=?, fn:=?, block:=tr_RLCMAC_ACK_NACK(0, g_mmctx.tlli)}) -> value dl { - log("found matching ACK/NACK"); - /* send CTRL ACK in uplink */ - var GsmFrameNumber ul_fn := f_rrbp_fn(dl.fn, dl.block.ctrl.mac_hdr.rrbp); - var RlcmacUlCtrlMsg ctrl_ack := valueof(ts_RlcMacUlCtrl_PKT_CTRL_ACK(g_mmctx.tlli)); - var RlcmacUlBlock ul_block := valueof(ts_RLC_UL_CTRL_ACK(ctrl_ack)); - L1.send(ts_PH_DATA_ABS(0, CS1, dl.ts_nr, ul_fn, {false, 0}, ul_block)); - } - [] L1.receive { repeat; }; - } - } testcase TC_rach() runs on dummy_CT { var BssgpBvci bvci := 196; @@ -345,25 +329,6 @@ f_bssgp_client_register(g_mmctx.imsi, g_mmctx.tlli, mp_gb_cfg.cell_id); f_bssgp_establish(); - - f_single_ul_block(CS1); - - while (true) { - var BssgpDecoded bd; - var RLCMAC_ph_data_ind dl_msg; - alt { - - [] BSSGP.receive(tr_BD_BSSGP(?)) -> value bd { - log("BSSGP Rx: ", bd); - } - [] BSSGP.receive(t_BssgpStsInd(?, ?, BVC_S_UNBLOCKED)) { repeat; } - [] BSSGP.receive { repeat; } - - [] L1.receive(RLCMAC_ph_data_ind:?) -> value dl_msg { - log("L1 DL: ", dl_msg); - } - } - } } @@ -513,25 +478,53 @@ return payload; } + testcase TC_ul_tbf_single_llc_sizes() runs on dummy_CT { + g_mmctx.imsi := '262420123456789'H; + g_mmctx.tlli := f_random_tlli(); + f_init(); + + for (var integer len := 1; len <= 1560; len := len+1) { + log("Testing Uplink TBF with single LLC-PDU of ", len, " bytes"); + var octetstring payload := f_seq_octstr(len); + var UlTbfPars ul_tbf_pars := { + ack_mode := true, + initial_cs := CS1, + llc_pdus := { + valueof(ts_LLC_UI(payload, c_LLC_SAPI_LLGMM, '0'B, g_mmctx.n_u)) + } + } + var UlTbfState ul_tbf_state; + f_UlTbfState_init(ul_tbf_state, ul_tbf_pars); + f_ul_tbf(ul_tbf_state); + f_sleep(1.0); + } + + f_exit(); + } + testcase TC_ul_tbf() runs on dummy_CT { g_mmctx.imsi := '262420123456789'H; g_mmctx.tlli := f_random_tlli(); f_init(); - f_bssgp_client_register(g_mmctx.imsi, g_mmctx.tlli, mp_gb_cfg.cell_id); - f_bssgp_establish(); - var octetstring payload := f_seq_octstr(256); + var octetstring payload := f_seq_octstr(1023); var UlTbfPars ul_tbf_pars := { ack_mode := true, initial_cs := CS1, llc_pdus := { valueof(ts_LLC_UI(payload, c_LLC_SAPI_LLGMM, '0'B, g_mmctx.n_u)), - valueof(ts_LLC_UI(payload, c_LLC_SAPI_LLGMM, '0'B, g_mmctx.n_u+1)) + valueof(ts_LLC_UI(payload, c_LLC_SAPI_LLGMM, '0'B, g_mmctx.n_u+1)), + valueof(ts_LLC_UI(payload, c_LLC_SAPI_LLGMM, '0'B, g_mmctx.n_u+2)), + valueof(ts_LLC_UI(payload, c_LLC_SAPI_LLGMM, '0'B, g_mmctx.n_u+3)), + valueof(ts_LLC_UI(payload, c_LLC_SAPI_LLGMM, '0'B, g_mmctx.n_u+4)), + valueof(ts_LLC_UI(payload, c_LLC_SAPI_LLGMM, '0'B, g_mmctx.n_u+5)) } }; var UlTbfState ul_tbf_state; f_UlTbfState_init(ul_tbf_state, ul_tbf_pars); f_ul_tbf(ul_tbf_state); + + f_exit(); } control { -- To view, visit https://gerrit.osmocom.org/7154 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Iee66d4a2eab520dfc115ffeb16ab6413e4057973 Gerrit-PatchSet: 1 Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Owner: Harald Welte <laforge at gnumonks.org>