blob: b4537d64ff0c951f7a5b3b31fcf39bb5d888b745 [file] [log] [blame]
Pau Espin Pedrolc8b0f932020-02-11 17:45:26 +01001#!/usr/bin/env python3
2from osmo_gsm_tester.testenv import *
Andre Puschmann44620672021-04-15 10:50:36 +02003import os
4
5# Overlay suite-specific templates folder if it exists
6if os.path.isdir(os.path.join(os.path.dirname(__file__), 'templates')):
7 tenv.set_overlay_template_dir(os.path.join(os.path.dirname(__file__), 'templates'))
Pau Espin Pedrolc8b0f932020-02-11 17:45:26 +01008
Pau Espin Pedrol40c7bc72020-05-05 13:41:42 +02009epc = tenv.epc()
10enb = tenv.enb()
11ue = tenv.modem()
Pau Espin Pedrolc8b0f932020-02-11 17:45:26 +010012
13epc.subscriber_add(ue)
14epc.start()
15enb.ue_add(ue)
16enb.start(epc)
17
18print('waiting for ENB to connect to EPC...')
19wait(epc.enb_is_connected, enb)
20print('ENB is connected to EPC')
21
22ue.connect(enb)
23print('waiting for UE to attach...')
Pau Espin Pedrol57e37f92020-06-11 17:12:26 +020024wait(ue.is_registered)
Pau Espin Pedrolc8b0f932020-02-11 17:45:26 +010025print('UE is attached')
26
Andre Puschmannbde48c32021-04-15 10:51:54 +020027# Wait a bit
28sleep(5)
29
Pau Espin Pedrol2bcd3462020-03-05 18:30:37 +010030proc = ue.run_netns_wait('ping', ('ping', '-c', '10', epc.tun_addr()))
Andre Puschmann47f4f092021-03-21 12:13:36 +010031
32# Check zero lost pings
33num_sent = int([x for x in proc.get_stdout().split('\n') if x.find('packets transmitted') != -1][0].split(' ')[0])
34num_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])
35if num_received != num_sent:
36 raise Exception("{}\n\nError: Detected {} lost pings".format(proc.get_stdout(), num_sent - num_received))
37
Pau Espin Pedrol2bcd3462020-03-05 18:30:37 +010038output = proc.get_stdout()
39print(output)
Andre Puschmann47f4f092021-03-21 12:13:36 +010040test.set_report_stdout(output)