diff options
author | Pau Espin Pedrol <pespin@sysmocom.de> | 2018-11-21 12:36:53 +0100 |
---|---|---|
committer | Pau Espin Pedrol <pespin@sysmocom.de> | 2018-11-23 15:08:19 +0000 |
commit | d7fa036102e38acd7ac7cc5097a77ec561e2e8c0 (patch) | |
tree | 350924858c0da345cc9b46948d63e14a1dc731c7 /suites | |
parent | 5686602a98134f61ff2b6b9b83a31509619ae27b (diff) |
suites: gprs: Add test to verify MS can use gprs after long idle time
Change-Id: I1a726049d1e4a95f1145dcf1f654c63503ceb78a
Diffstat (limited to 'suites')
-rwxr-xr-x | suites/gprs/ping_idle_ping.py | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/suites/gprs/ping_idle_ping.py b/suites/gprs/ping_idle_ping.py new file mode 100755 index 0000000..e0968ac --- /dev/null +++ b/suites/gprs/ping_idle_ping.py @@ -0,0 +1,66 @@ +#!/usr/bin/env python3 + +# Following test verifies GPRS works fine after MS stays idle (no data +# sent/received) for a long while. +# See OS#3678 and OS#2455 for more information. + +from osmo_gsm_tester.testenv import * + +hlr = suite.hlr() +bts = suite.bts() +pcu = bts.pcu() +mgw_msc = suite.mgw() +mgw_bsc = suite.mgw() +stp = suite.stp() +ggsn = suite.ggsn() +sgsn = suite.sgsn(hlr, ggsn) +msc = suite.msc(hlr, mgw_msc, stp) +bsc = suite.bsc(msc, mgw_bsc, stp) +ms = suite.modem() + +bsc.bts_add(bts) +sgsn.bts_add(bts) + +print('start network...') +hlr.start() +stp.start() +ggsn.start() +sgsn.start() +msc.start() +mgw_msc.start() +mgw_bsc.start() +bsc.start() + +bts.start() +wait(bsc.bts_is_connected, bts) +print('Waiting for bts to be ready...') +wait(bts.ready_for_pcu) +pcu.start() + +hlr.subscriber_add(ms) + +ms.connect(msc.mcc_mnc()) +ms.attach() + +ms.log_info() + +print('waiting for modems to attach...') +wait(ms.is_connected, msc.mcc_mnc()) +wait(msc.subscriber_attached, ms) + +print('waiting for modems to attach to data services...') +wait(ms.is_attached) + +# We need to use inet46 since ofono qmi only uses ipv4v6 eua (OS#2713) +ctx_id_v4 = ms.activate_context(apn='inet46', protocol=ms.CTX_PROT_IPv4) +print("Setting up data plane for %r" % repr(ctx_id_v4)) +ms.setup_context_data_plane(ctx_id_v4) +print("[1] Running 10 ping requests for %r" % repr(ctx_id_v4)) +ms.run_netns_wait('ping1', ('ping', '-c', '10', ggsn.addr())) + +print("Sleeping for 60 seconds") +sleep(60) + +print("[2] Running 10 ping requests for %r" % repr(ctx_id_v4)) +ms.run_netns_wait('ping2', ('ping', '-c', '10', ggsn.addr())) +ms.deactivate_context(ctx_id_v4) |