blob: 389e5a2e0e93b9dabc28cd5b79cba81ff02074e4 [file] [log] [blame]
Andre Puschmann898a5aa2020-05-27 21:46:26 +02001#!/usr/bin/env python3
2from osmo_gsm_tester.testenv import *
3
4epc = tenv.epc()
5enb = tenv.enb()
6ue = tenv.modem()
7
8epc.subscriber_add(ue)
9epc.start()
10enb.ue_add(ue)
11enb.start(epc)
12
13print('waiting for ENB to connect to EPC...')
14wait(epc.enb_is_connected, enb)
15print('ENB is connected to EPC')
16
17ue.connect(enb)
18print('waiting for UE to attach...')
Pau Espin Pedrol57e37f92020-06-11 17:12:26 +020019wait(ue.is_registered)
Andre Puschmann898a5aa2020-05-27 21:46:26 +020020print('UE is RRC connected')
21
22print('waiting until RRC connection gets released...')
23wait(lambda: not ue.is_rrc_connected())
24print('UE is RRC idle')
25
26# Wait a bit
27sleep(5)
28
29# Generate MO traffic
30proc = ue.run_netns_wait('ping', ('ping', '-c', '1', epc.tun_addr()))
31output = proc.get_stdout()
32
33# Check PRACH transmissions
Andre Puschmann29263b72021-01-05 14:18:52 +010034num_prachs = 2
Andre Puschmann898a5aa2020-05-27 21:46:26 +020035num_prach_sent = ue.get_counter('prach_sent')
Andre Puschmann29263b72021-01-05 14:18:52 +010036if num_prach_sent != num_prachs:
37 raise Exception("Expected to have sent exactly {} PRACHs, but in fact sent {}".format(num_prachs, num_prach_sent))
Andre Puschmann898a5aa2020-05-27 21:46:26 +020038
Andre Puschmann29263b72021-01-05 14:18:52 +010039# Check PRACH receptions
40num_prach_received = enb.get_counter('prach_received')
41if num_prach_sent != num_prachs:
42 raise Exception("Expected to have received exactly {} PRACHs, but in fact received {}".format(num_prachs, num_prach_received))
43
44output += "\nnum_prach_sent={}\nnum_prach_received={}\n".format(num_prach_sent, num_prach_received)
Andre Puschmann898a5aa2020-05-27 21:46:26 +020045print(output)
46test.set_report_stdout(output)