<p>fixeria <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23466">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  laforge: Looks good to me, approved
  pespin: Looks good to me, but someone else must approve
  Jenkins Builder: Verified

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">BTS_Tests: refactor and fix TC_pcu_socket_connect_multi<br><br>The expectations of this test case were wrong.  The IUT would first<br>accept() an additional connection and then close() it immediately.<br>Since there may be other messages, like TIME.ind and DATA.ind, the<br>'alt' statement would not match successful connection result, and<br>instead would unblock the flow due to timeout.<br><br>The titan.TestPorts.UNIX_DOMAIN_SOCKETasp had to be changed [1] to<br>send UD_connect_result with ERROR if recv() returns zero or a negative.<br><br>[1] https://github.com/eclipse/titan.TestPorts.UNIX_DOMAIN_SOCKETasp/pull/4<br><br>Change-Id: I898b8b14515d79766b12d652ebb1ddf834e2863c<br>---<br>M bts/BTS_Tests.ttcn<br>M deps/Makefile<br>2 files changed, 21 insertions(+), 7 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn</span><br><span>index c0ec728..555fe0c 100644</span><br><span>--- a/bts/BTS_Tests.ttcn</span><br><span>+++ b/bts/BTS_Tests.ttcn</span><br><span>@@ -5465,25 +5465,39 @@</span><br><span> </span><br><span> /* Ensure that PCUIF socket can accept only a single connection */</span><br><span> testcase TC_pcu_socket_connect_multi() runs on test_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+  var boolean connected := false;</span><br><span style="color: hsl(120, 100%, 40%);">+       var UD_connect_result cr;</span><br><span style="color: hsl(120, 100%, 40%);">+     var integer cid;</span><br><span>     timer T := 5.0;</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+   var template UD_Result tr_ok := { result_code := SUCCESS, err := omit };</span><br><span style="color: hsl(120, 100%, 40%);">+      var template UD_Result tr_err := { result_code := ERROR, err := ? };</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>       /* this (among other things) establishes the first connection to the PCUIF socket */</span><br><span>         f_init_with_pcuif();</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-        /* try to establish a second connection, expect it to fail */</span><br><span style="color: hsl(120, 100%, 40%);">+ /* try to establish a second connection */</span><br><span>   PCU.send(UD_connect:{mp_pcu_socket, -1});</span><br><span>    T.start;</span><br><span>     alt {</span><br><span style="color: hsl(0, 100%, 40%);">-   [] PCU.receive(UD_connect_result:{id := ?, result := { result_code := ERROR, err := ? }}) {</span><br><span style="color: hsl(120, 100%, 40%);">+   /* the IUT will first accept() the new connection, and close() it immediately */</span><br><span style="color: hsl(120, 100%, 40%);">+      [not connected] PCU.receive(UD_connect_result:{ id := ?, result := tr_ok }) -> value cr {</span><br><span style="color: hsl(120, 100%, 40%);">+          log("BTS has accept()ed connection");</span><br><span style="color: hsl(120, 100%, 40%);">+               connected := true;</span><br><span style="color: hsl(120, 100%, 40%);">+            cid := cr.id;</span><br><span style="color: hsl(120, 100%, 40%);">+         repeat;</span><br><span style="color: hsl(120, 100%, 40%);">+               }</span><br><span style="color: hsl(120, 100%, 40%);">+     [connected] PCU.receive(UD_connect_result:{ id := cid, result := tr_err }) {</span><br><span style="color: hsl(120, 100%, 40%);">+          log("BTS has close()d connection");</span><br><span>                setverdict(pass);</span><br><span>            }</span><br><span style="color: hsl(0, 100%, 40%);">-       [] PCU.receive(UD_connect_result:?) {</span><br><span style="color: hsl(0, 100%, 40%);">-           setverdict(fail, "Unexpected unix domain connect result");</span><br><span style="color: hsl(0, 100%, 40%);">-            }</span><br><span style="color: hsl(120, 100%, 40%);">+     /* ignore other messages related to the first connection */</span><br><span style="color: hsl(120, 100%, 40%);">+   [] PCU.receive { repeat; }</span><br><span>   [] T.timeout {</span><br><span style="color: hsl(0, 100%, 40%);">-          setverdict(pass);</span><br><span style="color: hsl(120, 100%, 40%);">+             setverdict(fail, "Timeout waiting for connection result");</span><br><span>                 }</span><br><span>    }</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>  Misc_Helpers.f_shutdown(__BFILE__, __LINE__);</span><br><span> }</span><br><span> </span><br><span>diff --git a/deps/Makefile b/deps/Makefile</span><br><span>index 9057463..c63dca7 100644</span><br><span>--- a/deps/Makefile</span><br><span>+++ b/deps/Makefile</span><br><span>@@ -126,7 +126,7 @@</span><br><span> titan.TestPorts.TCPasp_commit=                 R.9.A-5-g2c91bc6</span><br><span> titan.TestPorts.TELNETasp_commit=           873fe539642542cd9a901c208f1ec11c6d2f5387</span><br><span> titan.TestPorts.UDPasp_commit=                      c20d77a34f288dd70dd4aaa30e520778876e9336</span><br><span style="color: hsl(0, 100%, 40%);">-titan.TestPorts.UNIX_DOMAIN_SOCKETasp_commit=   R.2.A-8-g7ec4fe0</span><br><span style="color: hsl(120, 100%, 40%);">+titan.TestPorts.UNIX_DOMAIN_SOCKETasp_commit= R.2.A-13-gd34ab71</span><br><span> titan.TestPorts.USB_commit=                        master</span><br><span> osmo-uecups_commit=                           master</span><br><span> </span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23466">change 23466</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/+/23466"/><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: I898b8b14515d79766b12d652ebb1ddf834e2863c </div>
<div style="display:none"> Gerrit-Change-Number: 23466 </div>
<div style="display:none"> Gerrit-PatchSet: 4 </div>
<div style="display:none"> Gerrit-Owner: fixeria <vyanitskiy@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: fixeria <vyanitskiy@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-Reviewer: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>