<p>laforge <strong>merged</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14407">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  laforge: Looks good to me, approved
  Jenkins Builder: Verified

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">bsc: Introduce test TC_ctrl_location<br><br>Related: OS#2012<br>Change-Id: I3640f6889e3b6adc3b4601082f948543c64a2fe3<br>---<br>M bsc/BSC_Tests.ttcn<br>M bsc/expected-results.xml<br>M bsc/regen_makefile.sh<br>M library/Osmocom_CTRL_Adapter.ttcn<br>4 files changed, 38 insertions(+), 2 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn</span><br><span>index c3275e1..00995bf 100644</span><br><span>--- a/bsc/BSC_Tests.ttcn</span><br><span>+++ b/bsc/BSC_Tests.ttcn</span><br><span>@@ -80,6 +80,8 @@</span><br><span>     /* array of per-BTS RSL test ports */</span><br><span>        port IPA_RSL_PT IPA_RSL[NUM_BTS];</span><br><span>    port IPA_CODEC_PT IPA; /* Required for compilation of TC_rsl_unknown_unit_id() */</span><br><span style="color: hsl(120, 100%, 40%);">+     /* CTRL muxed over IPA in SCCPlite conn BSC<->MSC (or BSC-NAT) */</span><br><span style="color: hsl(120, 100%, 40%);">+       port IPA_CTRL_PT SCCPLITE_IPA_CTRL;</span><br><span> </span><br><span>      var MGCP_Emulation_CT vc_MGCP;</span><br><span>       port TELNETasp_PT BSCVTY;</span><br><span>@@ -350,6 +352,7 @@</span><br><span>              var RanOps ranops := MSC_RanOps;</span><br><span>             ranops.use_osmux := g_osmux_enabled;</span><br><span>                 f_ran_adapter_init(g_bssap, mp_bssap_cfg, "VirtMSC", ranops);</span><br><span style="color: hsl(120, 100%, 40%);">+               connect(self:SCCPLITE_IPA_CTRL, g_bssap.vc_RAN:CTRL_CLIENT);</span><br><span>                 f_ran_adapter_start(g_bssap);</span><br><span>        } else {</span><br><span>             f_ran_adapter_init(g_bssap, mp_bssap_cfg, "VirtMSC", omit);</span><br><span>@@ -1204,6 +1207,32 @@</span><br><span>       setverdict(pass);</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+/* Verify that Upon receival of SET "location", BSC forwards a TRAP</span><br><span style="color: hsl(120, 100%, 40%);">+  "location-state" over the SCCPlite IPA conn */</span><br><span style="color: hsl(120, 100%, 40%);">+testcase TC_ctrl_location() runs on test_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+  var MSC_ConnHdlr vc_conn;</span><br><span style="color: hsl(120, 100%, 40%);">+     var integer bts_nr := 0;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    f_init(1, true);</span><br><span style="color: hsl(120, 100%, 40%);">+      f_sleep(1.0);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       f_ctrl_set_bts(IPA_CTRL, bts_nr, "location", "1234567,fix3d,0.340000,0.560000,0.780000");</span><br><span style="color: hsl(120, 100%, 40%);">+ f_ctrl_exp_trap(SCCPLITE_IPA_CTRL, "bts." & int2str(bts_nr) & ".location-state",</span><br><span style="color: hsl(120, 100%, 40%);">+                  "1234567,fix3d,0.340000,0.560000,0.780000,operational,unlocked,on,001,01");</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       f_ctrl_set(SCCPLITE_IPA_CTRL, "rf_locked", "1");</span><br><span style="color: hsl(120, 100%, 40%);">+  f_sleep(2.0);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       f_ctrl_set_bts(IPA_CTRL, bts_nr, "location", "1234888,fix3d,0.350000,0.570000,0.790000");</span><br><span style="color: hsl(120, 100%, 40%);">+ f_ctrl_exp_trap(SCCPLITE_IPA_CTRL, "bts." & int2str(bts_nr) & ".location-state",</span><br><span style="color: hsl(120, 100%, 40%);">+                  "1234888,fix3d,0.350000,0.570000,0.790000,operational,locked,off,001,01");</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        /* should match the one from  config */</span><br><span style="color: hsl(120, 100%, 40%);">+       f_ctrl_set(SCCPLITE_IPA_CTRL, "rf_locked", "0");</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        setverdict(pass);</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> function f_bssap_tx_ud(template PDU_BSSAP bssap) runs on test_CT {</span><br><span>         BSSAP.send(ts_BSSAP_UNITDATA_req(g_bssap.sccp_addr_peer, g_bssap.sccp_addr_own, bssap));</span><br><span> }</span><br><span>@@ -3987,6 +4016,9 @@</span><br><span>        execute( TC_ctrl_msc_connection_status() );</span><br><span>  execute( TC_ctrl_msc0_connection_status() );</span><br><span>         execute( TC_ctrl() );</span><br><span style="color: hsl(120, 100%, 40%);">+ if (mp_bssap_cfg.transport == BSSAP_TRANSPORT_SCCPlite_SERVER) {</span><br><span style="color: hsl(120, 100%, 40%);">+              execute( TC_ctrl_location() );</span><br><span style="color: hsl(120, 100%, 40%);">+        }</span><br><span> </span><br><span>        /* RSL DCHAN Channel ACtivation / Deactivation */</span><br><span>    execute( TC_chan_act_noreply() );</span><br><span>diff --git a/bsc/expected-results.xml b/bsc/expected-results.xml</span><br><span>index ff3cce0..d2c474c 100644</span><br><span>--- a/bsc/expected-results.xml</span><br><span>+++ b/bsc/expected-results.xml</span><br><span>@@ -1,8 +1,9 @@</span><br><span> <?xml version="1.0"?></span><br><span style="color: hsl(0, 100%, 40%);">-<testsuite name='BSC_Tests' tests='106' failures='0' errors='0' skipped='0' inconc='0' time='MASKED'></span><br><span style="color: hsl(120, 100%, 40%);">+<testsuite name='BSC_Tests' tests='107' failures='0' errors='0' skipped='0' inconc='0' time='MASKED'></span><br><span>   <testcase classname='BSC_Tests' name='TC_ctrl_msc_connection_status' time='MASKED'/></span><br><span>   <testcase classname='BSC_Tests' name='TC_ctrl_msc0_connection_status' time='MASKED'/></span><br><span>   <testcase classname='BSC_Tests' name='TC_ctrl' time='MASKED'/></span><br><span style="color: hsl(120, 100%, 40%);">+  <testcase classname='BSC_Tests' name='TC_ctrl_location' time='MASKED'/></span><br><span>   <testcase classname='BSC_Tests' name='TC_chan_act_noreply' time='MASKED'/></span><br><span>   <testcase classname='BSC_Tests' name='TC_chan_act_counter' time='MASKED'/></span><br><span>   <testcase classname='BSC_Tests' name='TC_chan_act_ack_noest' time='MASKED'/></span><br><span>diff --git a/bsc/regen_makefile.sh b/bsc/regen_makefile.sh</span><br><span>index 06fa812..389aaed 100755</span><br><span>--- a/bsc/regen_makefile.sh</span><br><span>+++ b/bsc/regen_makefile.sh</span><br><span>@@ -4,6 +4,6 @@</span><br><span> </span><br><span> FILES="*.ttcn *.ttcnpp IPA_CodecPort_CtrlFunctDef.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc SCTPasp_PT.cc RTP_EncDec.cc SDP_EncDec.cc RTP_CodecPort_CtrlFunctDef.cc MGCP_CodecPort_CtrlFunctDef.cc IuUP_EncDec.cc Native_FunctionDefs.cc TELNETasp_PT.cc *.c"</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-export CPPFLAGS_TTCN3="-DIPA_EMULATION_RSL -DIPA_EMULATION_MGCP -DIPA_EMULATION_SCCP -DRAN_EMULATION_BSSAP -DRAN_EMULATION_MGCP -DUSE_MTP3_DISTRIBUTOR"</span><br><span style="color: hsl(120, 100%, 40%);">+export CPPFLAGS_TTCN3="-DIPA_EMULATION_RSL -DIPA_EMULATION_MGCP -DIPA_EMULATION_CTRL -DIPA_EMULATION_SCCP -DRAN_EMULATION_BSSAP -DRAN_EMULATION_MGCP -DRAN_EMULATION_CTRL -DUSE_MTP3_DISTRIBUTOR"</span><br><span> </span><br><span> ../regen-makefile.sh $MAIN $FILES</span><br><span>diff --git a/library/Osmocom_CTRL_Adapter.ttcn b/library/Osmocom_CTRL_Adapter.ttcn</span><br><span>index 93e893f..08195c8 100644</span><br><span>--- a/library/Osmocom_CTRL_Adapter.ttcn</span><br><span>+++ b/library/Osmocom_CTRL_Adapter.ttcn</span><br><span>@@ -61,6 +61,9 @@</span><br><span> function f_ctrl_get_bts(IPA_CTRL_PT pt, integer bts_nr, charstring suffix) return CtrlValue {</span><br><span>    return f_ctrl_get(pt, "bts." & int2str(bts_nr) & "." & suffix);</span><br><span> }</span><br><span style="color: hsl(120, 100%, 40%);">+function f_ctrl_set_bts(IPA_CTRL_PT pt, integer bts_nr, charstring suffix, CtrlValue val) {</span><br><span style="color: hsl(120, 100%, 40%);">+     f_ctrl_set(pt, "bts." & int2str(bts_nr) & "." & suffix, val);</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span> </span><br><span> template charstring ts_bts(integer bts_nr) := "bts." & int2str(bts_nr) & ".";</span><br><span> template charstring ts_bts_trx(integer bts_nr, integer trx_nr ) :=</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14407">change 14407</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14407"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-ttcn3-hacks </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I3640f6889e3b6adc3b4601082f948543c64a2fe3 </div>
<div style="display:none"> Gerrit-Change-Number: 14407 </div>
<div style="display:none"> Gerrit-PatchSet: 5 </div>
<div style="display:none"> Gerrit-Owner: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@gnumonks.org> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>