32 lines
977 B
Python
Executable File
32 lines
977 B
Python
Executable File
#!/usr/bin/env python3
|
|
from osmo_gsm_tester.testenv import *
|
|
|
|
epc = tenv.epc()
|
|
enb = tenv.enb()
|
|
ue = tenv.modem()
|
|
|
|
epc.subscriber_add(ue)
|
|
epc.start()
|
|
enb.ue_add(ue)
|
|
enb.start(epc)
|
|
|
|
print('waiting for ENB to connect to EPC...')
|
|
wait(epc.enb_is_connected, enb)
|
|
print('ENB is connected to EPC')
|
|
|
|
ue.connect(enb)
|
|
print('waiting for UE to attach...')
|
|
wait(ue.is_registered)
|
|
print('UE is attached')
|
|
|
|
proc = ue.run_netns_wait('ping', ('ping', '-c', '10', epc.tun_addr()))
|
|
|
|
# Check zero lost pings
|
|
num_sent = int([x for x in proc.get_stdout().split('\n') if x.find('packets transmitted') != -1][0].split(' ')[0])
|
|
num_received = int([x for x in proc.get_stdout().split('\n') if x.find('packets transmitted, ') != -1][0].split('packets transmitted, ')[1].split(' received')[0])
|
|
if num_received != num_sent:
|
|
raise Exception("{}\n\nError: Detected {} lost pings".format(proc.get_stdout(), num_sent - num_received))
|
|
|
|
output = proc.get_stdout()
|
|
print(output)
|
|
test.set_report_stdout(output) |