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.orgHarald Welte has submitted this change and it was merged. Change subject: bts: Update towards most recent "laforge/trx" branch ...................................................................... bts: Update towards most recent "laforge/trx" branch The existing BTS testing code was based on a ~1 week old version of trxcon+fake_trx from osmocom-bb.git fixeria/trx branch, which has meanwhile evolved: * port number change for TRX protocol * FAKE_TIMING -> FAKE_TOA * we can now expect responses to our UDP control commands Let's adapt the testsuite to those changes Change-Id: I6d0122202e5d23308421e76b75e608d206aab56e --- M bts/BTS_Tests.ttcn M library/TRXC_CodecPort.ttcn M library/TRXC_Types.ttcn 3 files changed, 42 insertions(+), 13 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index be9b4cc..af28396 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -45,7 +45,7 @@ charstring mp_rsl_ip := "127.0.0.2"; integer mp_rsl_port := 3003; integer mp_trx0_arfcn := 871; - integer mp_bb_trxc_port := 5704; + integer mp_bb_trxc_port := 6701; charstring mp_pcu_socket := PCU_SOCK_DEFAULT; } @@ -266,7 +266,7 @@ /* start with a default moderate timing offset equalling TA=2 */ f_main_trxc_connect(); - BB_TRXC.send(ts_TRXC_Send(g_bb_trxc_conn_id, ts_TRXC_FAKE_TIMING(2*256))); + f_TRXC_transceive(BB_TRXC, g_bb_trxc_conn_id, valueof(ts_TRXC_FAKE_TIMING(2*256))); } /* Attach L1CTL to master test_CT (classic tests, non-handler mode) */ @@ -323,11 +323,11 @@ } private function f_trxc_fake_rssi(uint8_t rssi) runs on ConnHdlr { - BB_TRXC.send(ts_TRXC_Send(g_bb_trxc_conn_id, ts_TRXC_FAKE_RSSI(rssi))); + f_TRXC_transceive(BB_TRXC, g_bb_trxc_conn_id, valueof(ts_TRXC_FAKE_RSSI(rssi))); } private function f_trx_fake_toffs256(int16_t toffs256) runs on ConnHdlr { - BB_TRXC.send(ts_TRXC_Send(g_bb_trxc_conn_id, ts_TRXC_FAKE_TIMING(toffs256))); + f_TRXC_transceive(BB_TRXC, g_bb_trxc_conn_id, valueof(ts_TRXC_FAKE_TIMING(toffs256))); } /* first function started in ConnHdlr component */ @@ -632,7 +632,7 @@ private function f_rach_toffs(int16_t toffs256, boolean expect_pass) runs on test_CT { /* tell fake_trx to use a given timing offset for all bursts */ - BB_TRXC.send(ts_TRXC_Send(g_bb_trxc_conn_id, ts_TRXC_FAKE_TIMING(toffs256))); + f_TRXC_transceive(BB_TRXC, g_bb_trxc_conn_id, valueof(ts_TRXC_FAKE_TIMING(toffs256))); f_sleep(0.5); /* Transmit RACH request + wait for confirmation */ diff --git a/library/TRXC_CodecPort.ttcn b/library/TRXC_CodecPort.ttcn index 6acead0..774b674 100644 --- a/library/TRXC_CodecPort.ttcn +++ b/library/TRXC_CodecPort.ttcn @@ -13,8 +13,8 @@ TrxcMessage msg } -template TRXC_RecvFrom tr_TRXC_RecvFrom(template TrxcMessage msg) := { - connId := ?, +template TRXC_RecvFrom tr_TRXC_RecvFrom(template ConnectionId cid, template TrxcMessage msg) := { + connId := cid, remName := ?, remPort := ?, locName := ?, @@ -59,4 +59,31 @@ msg := msg } +function f_TRXC_transceive(TRXC_CODEC_PT pt, ConnectionId conn_id, TrxcMessage tx, + template TrxcMessage tr := ?) return TrxcMessage { + var TRXC_RecvFrom rf; + timer T := 3.0; + /* build better default template */ + if (istemplatekind(tr, "?")) { + tr := { + rsp := { + verb := tx.cmd.verb, + status := ?, + params := * + } + }; + } + pt.send(ts_TRXC_Send(conn_id, tx)); + T.start; + alt { + [] pt.receive(tr_TRXC_RecvFrom(conn_id, tr)) -> value rf { + return rf.msg; + } + [] T.timeout { + setverdict(fail, "Timeout waiting for ", tr, " on ", pt); + } + } + return rf.msg; +} + } diff --git a/library/TRXC_Types.ttcn b/library/TRXC_Types.ttcn index c12e5d2..1a37a8c 100644 --- a/library/TRXC_Types.ttcn +++ b/library/TRXC_Types.ttcn @@ -9,15 +9,17 @@ type charstring TrxcVerb ("POWERON", "POWEROFF", "CLOCK", "RXTUNE", "TXTUNE", "SETSLOT", "SETTSC", "SETBSIC", "SETPOWER", "SETMAXDLY", "SETMAXDLYNB", "SETSLOT", "HANDOVER", "NOHANDOVER", - "MEASURE", "FAKE_RSSI", "FAKE_TIMING" ) with { + "MEASURE", "FAKE_RSSI", "FAKE_TOA" ) with { variant "TEXT_CODING(,convert=upper_case, - '((POWERON)|(POWEROFF)|(CLOCK)|(RXTUNE)|(TXTUNE)|(SETSLOT)|(SETTSC)|(SETBSIC)|(SETPOWER)|(SETMAXDLY)|(SETMAXDLYNB)|(HANDOVER)|(NOHANDOVER)|(MEASURE)|(FAKE_RSSI)|(FAKE_TIMING))' + '((POWERON)|(POWEROFF)|(CLOCK)|(RXTUNE)|(TXTUNE)|(SETSLOT)|(SETTSC)|(SETBSIC)|(SETPOWER)|(SETMAXDLY)|(SETMAXDLYNB)|(HANDOVER)|(NOHANDOVER)|(MEASURE)|(FAKE_RSSI)|(FAKE_TOA))' ,case_insensitive)" } type integer TrxcStatus; type charstring TrxcParam; -type record of TrxcParam TrxcParams; +type record of TrxcParam TrxcParams with { + variant "SEPARATOR(' ', ' ')" +} type record TrxcCommand { TrxcVerb verb, @@ -63,10 +65,10 @@ } } -template (value) TrxcMessage ts_TRXC_FAKE_TIMING(int16_t timing) := { +template (value) TrxcMessage ts_TRXC_FAKE_TIMING(int16_t timing, int16_t thresh := 0) := { cmd := { - verb := "FAKE_TIMING", - params := { int2str(timing) } + verb := "FAKE_TOA", + params := { int2str(timing), int2str(thresh) } } } -- To view, visit https://gerrit.osmocom.org/7013 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: merged Gerrit-Change-Id: I6d0122202e5d23308421e76b75e608d206aab56e Gerrit-PatchSet: 1 Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Owner: Harald Welte <laforge at gnumonks.org> Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org> Gerrit-Reviewer: Jenkins Builder