<p>Pau Espin Pedrol <strong>merged</strong> this change.</p><p><a href="https://gerrit.osmocom.org/11853">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Neels Hofmeyr: Looks good to me, approved
  Jenkins Builder: Verified

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">suites: gprs: Add test to verify MS can use gprs after long idle time<br><br>Change-Id: I1a726049d1e4a95f1145dcf1f654c63503ceb78a<br>---<br>A suites/gprs/ping_idle_ping.py<br>1 file changed, 66 insertions(+), 0 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/suites/gprs/ping_idle_ping.py b/suites/gprs/ping_idle_ping.py</span><br><span>new file mode 100755</span><br><span>index 0000000..e0968ac</span><br><span>--- /dev/null</span><br><span>+++ b/suites/gprs/ping_idle_ping.py</span><br><span>@@ -0,0 +1,66 @@</span><br><span style="color: hsl(120, 100%, 40%);">+#!/usr/bin/env python3</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# Following test verifies GPRS works fine after MS stays idle (no data</span><br><span style="color: hsl(120, 100%, 40%);">+# sent/received) for a long while.</span><br><span style="color: hsl(120, 100%, 40%);">+# See OS#3678 and OS#2455 for more information.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+from osmo_gsm_tester.testenv import *</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+hlr = suite.hlr()</span><br><span style="color: hsl(120, 100%, 40%);">+bts = suite.bts()</span><br><span style="color: hsl(120, 100%, 40%);">+pcu = bts.pcu()</span><br><span style="color: hsl(120, 100%, 40%);">+mgw_msc = suite.mgw()</span><br><span style="color: hsl(120, 100%, 40%);">+mgw_bsc = suite.mgw()</span><br><span style="color: hsl(120, 100%, 40%);">+stp = suite.stp()</span><br><span style="color: hsl(120, 100%, 40%);">+ggsn = suite.ggsn()</span><br><span style="color: hsl(120, 100%, 40%);">+sgsn = suite.sgsn(hlr, ggsn)</span><br><span style="color: hsl(120, 100%, 40%);">+msc = suite.msc(hlr, mgw_msc, stp)</span><br><span style="color: hsl(120, 100%, 40%);">+bsc = suite.bsc(msc, mgw_bsc, stp)</span><br><span style="color: hsl(120, 100%, 40%);">+ms = suite.modem()</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+bsc.bts_add(bts)</span><br><span style="color: hsl(120, 100%, 40%);">+sgsn.bts_add(bts)</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+print('start network...')</span><br><span style="color: hsl(120, 100%, 40%);">+hlr.start()</span><br><span style="color: hsl(120, 100%, 40%);">+stp.start()</span><br><span style="color: hsl(120, 100%, 40%);">+ggsn.start()</span><br><span style="color: hsl(120, 100%, 40%);">+sgsn.start()</span><br><span style="color: hsl(120, 100%, 40%);">+msc.start()</span><br><span style="color: hsl(120, 100%, 40%);">+mgw_msc.start()</span><br><span style="color: hsl(120, 100%, 40%);">+mgw_bsc.start()</span><br><span style="color: hsl(120, 100%, 40%);">+bsc.start()</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+bts.start()</span><br><span style="color: hsl(120, 100%, 40%);">+wait(bsc.bts_is_connected, bts)</span><br><span style="color: hsl(120, 100%, 40%);">+print('Waiting for bts to be ready...')</span><br><span style="color: hsl(120, 100%, 40%);">+wait(bts.ready_for_pcu)</span><br><span style="color: hsl(120, 100%, 40%);">+pcu.start()</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+hlr.subscriber_add(ms)</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ms.connect(msc.mcc_mnc())</span><br><span style="color: hsl(120, 100%, 40%);">+ms.attach()</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ms.log_info()</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+print('waiting for modems to attach...')</span><br><span style="color: hsl(120, 100%, 40%);">+wait(ms.is_connected, msc.mcc_mnc())</span><br><span style="color: hsl(120, 100%, 40%);">+wait(msc.subscriber_attached, ms)</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+print('waiting for modems to attach to data services...')</span><br><span style="color: hsl(120, 100%, 40%);">+wait(ms.is_attached)</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# We need to use inet46 since ofono qmi only uses ipv4v6 eua (OS#2713)</span><br><span style="color: hsl(120, 100%, 40%);">+ctx_id_v4 = ms.activate_context(apn='inet46', protocol=ms.CTX_PROT_IPv4)</span><br><span style="color: hsl(120, 100%, 40%);">+print("Setting up data plane for %r" % repr(ctx_id_v4))</span><br><span style="color: hsl(120, 100%, 40%);">+ms.setup_context_data_plane(ctx_id_v4)</span><br><span style="color: hsl(120, 100%, 40%);">+print("[1] Running 10 ping requests for %r" % repr(ctx_id_v4))</span><br><span style="color: hsl(120, 100%, 40%);">+ms.run_netns_wait('ping1', ('ping', '-c', '10', ggsn.addr()))</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+print("Sleeping for 60 seconds")</span><br><span style="color: hsl(120, 100%, 40%);">+sleep(60)</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+print("[2] Running 10 ping requests for %r" % repr(ctx_id_v4))</span><br><span style="color: hsl(120, 100%, 40%);">+ms.run_netns_wait('ping2', ('ping', '-c', '10', ggsn.addr()))</span><br><span style="color: hsl(120, 100%, 40%);">+ms.deactivate_context(ctx_id_v4)</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/11853">change 11853</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/11853"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-gsm-tester </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: merged </div>
<div style="display:none"> Gerrit-Change-Id: I1a726049d1e4a95f1145dcf1f654c63503ceb78a </div>
<div style="display:none"> Gerrit-Change-Number: 11853 </div>
<div style="display:none"> Gerrit-PatchSet: 3 </div>
<div style="display:none"> Gerrit-Owner: Pau Espin Pedrol <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder (1000002) </div>
<div style="display:none"> Gerrit-Reviewer: Neels Hofmeyr <nhofmeyr@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Pau Espin Pedrol <pespin@sysmocom.de> </div>