diff options
author | Pau Espin Pedrol <pespin@sysmocom.de> | 2018-05-07 14:13:23 +0200 |
---|---|---|
committer | Pau Espin Pedrol <pespin@sysmocom.de> | 2018-05-08 17:02:17 +0200 |
commit | 510ed801ed3507291513f2a110af44e10a0a06ba (patch) | |
tree | abccc95c6db5bf5891bdfcd2efc845b16f29ee39 | |
parent | 7e02d20b46ef521ced0e1f2fcb33b329453e9a6d (diff) |
tests: voice: Move logic to lib/testlib.py
This way we can have several tests sharing similar logic.
Change-Id: I5cfcc56970380a7c5400186fac5f504263d63c5f
-rwxr-xr-x | suites/voice/lib/testlib.py | 60 | ||||
-rwxr-xr-x | suites/voice/mo_mt_call.py | 55 |
2 files changed, 62 insertions, 53 deletions
diff --git a/suites/voice/lib/testlib.py b/suites/voice/lib/testlib.py new file mode 100755 index 0000000..f949809 --- /dev/null +++ b/suites/voice/lib/testlib.py @@ -0,0 +1,60 @@ +#!/usr/bin/env python3 +from osmo_gsm_tester.testenv import * + +def call_test_setup_run(bts_setup_cb=None): + hlr = suite.hlr() + bts = suite.bts() + mgw_msc = suite.mgw() + mgw_bsc = suite.mgw() + stp = suite.stp() + msc = suite.msc(hlr, mgw_msc, stp) + bsc = suite.bsc(msc, mgw_bsc, stp) + ms_mo = suite.modem() + ms_mt = suite.modem() + + if bts_setup_cb is not None: + bts_setup_cb(bts) + + hlr.start() + stp.start() + msc.start() + mgw_msc.start() + mgw_bsc.start() + + bsc.bts_add(bts) + bsc.start() + + bts.start() + wait(bsc.bts_is_connected, bts) + + hlr.subscriber_add(ms_mo) + hlr.subscriber_add(ms_mt) + + ms_mo.connect(msc.mcc_mnc()) + ms_mt.connect(msc.mcc_mnc()) + + ms_mo.log_info() + ms_mt.log_info() + + print('waiting for modems to attach...') + wait(ms_mo.is_connected, msc.mcc_mnc()) + wait(ms_mt.is_connected, msc.mcc_mnc()) + wait(msc.subscriber_attached, ms_mo, ms_mt) + + assert len(ms_mo.call_id_list()) == 0 and len(ms_mt.call_id_list()) == 0 + mo_cid = ms_mo.call_dial(ms_mt) + mt_cid = ms_mt.call_wait_incoming(ms_mo) + print('dial success') + + assert not ms_mo.call_is_active(mo_cid) and not ms_mt.call_is_active(mt_cid) + ms_mt.call_answer(mt_cid) + wait(ms_mo.call_is_active, mo_cid) + wait(ms_mt.call_is_active, mt_cid) + print('answer success, call established and ongoing') + + sleep(5) # maintain the call active for 5 seconds + + assert ms_mo.call_is_active(mo_cid) and ms_mt.call_is_active(mt_cid) + ms_mt.call_hangup(mt_cid) + wait(lambda: len(ms_mo.call_id_list()) == 0 and len(ms_mt.call_id_list()) == 0) + print('hangup success') diff --git a/suites/voice/mo_mt_call.py b/suites/voice/mo_mt_call.py index aeda80d..093d1e8 100755 --- a/suites/voice/mo_mt_call.py +++ b/suites/voice/mo_mt_call.py @@ -1,56 +1,5 @@ #!/usr/bin/env python3 from osmo_gsm_tester.testenv import * +from testlib import call_test_setup_run -hlr = suite.hlr() -bts = suite.bts() -mgw_msc = suite.mgw() -mgw_bsc = suite.mgw() -stp = suite.stp() -msc = suite.msc(hlr, mgw_msc, stp) -bsc = suite.bsc(msc, mgw_bsc, stp) -ms_mo = suite.modem() -ms_mt = suite.modem() - -hlr.start() -stp.start() -msc.start() -mgw_msc.start() -mgw_bsc.start() - -bsc.bts_add(bts) -bsc.start() - -bts.start() -wait(bsc.bts_is_connected, bts) - -hlr.subscriber_add(ms_mo) -hlr.subscriber_add(ms_mt) - -ms_mo.connect(msc.mcc_mnc()) -ms_mt.connect(msc.mcc_mnc()) - -ms_mo.log_info() -ms_mt.log_info() - -print('waiting for modems to attach...') -wait(ms_mo.is_connected, msc.mcc_mnc()) -wait(ms_mt.is_connected, msc.mcc_mnc()) -wait(msc.subscriber_attached, ms_mo, ms_mt) - -assert len(ms_mo.call_id_list()) == 0 and len(ms_mt.call_id_list()) == 0 -mo_cid = ms_mo.call_dial(ms_mt) -mt_cid = ms_mt.call_wait_incoming(ms_mo) -print('dial success') - -assert not ms_mo.call_is_active(mo_cid) and not ms_mt.call_is_active(mt_cid) -ms_mt.call_answer(mt_cid) -wait(ms_mo.call_is_active, mo_cid) -wait(ms_mt.call_is_active, mt_cid) -print('answer success, call established and ongoing') - -sleep(5) # maintain the call active for 5 seconds - -assert ms_mo.call_is_active(mo_cid) and ms_mt.call_is_active(mt_cid) -ms_mt.call_hangup(mt_cid) -wait(lambda: len(ms_mo.call_id_list()) == 0 and len(ms_mt.call_id_list()) == 0) -print('hangup success') +call_test_setup_run() |