tests: voice: Move logic to lib/testlib.py
This way we can have several tests sharing similar logic. Change-Id: I5cfcc56970380a7c5400186fac5f504263d63c5f
This commit is contained in:
parent
7e02d20b46
commit
510ed801ed
|
@ -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')
|
|
@ -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()
|
||||
|
|
Loading…
Reference in New Issue