diff --git a/ci-scripts/main.py b/ci-scripts/main.py index 2d1f993d69ffddecab67bcf5a32e541f594dfeb9..b5cc95f0d316d95b6bfbe1ba332e9bc4a98da49b 100644 --- a/ci-scripts/main.py +++ b/ci-scripts/main.py @@ -58,6 +58,11 @@ OAI_UE_PROCESS_FAILED = -23 OAI_UE_PROCESS_NO_TUNNEL_INTERFACE = -24 OAI_UE_PROCESS_OK = +6 +UE_STATUS_DETACHED = 0 +UE_STATUS_DETACHING = 1 +UE_STATUS_ATTACHING = 2 +UE_STATUS_ATTACHED = 3 + #----------------------------------------------------------- # Import #----------------------------------------------------------- @@ -127,6 +132,7 @@ class SSHConnection(): self.iperf_profile = '' self.nbMaxUEtoAttach = -1 self.UEDevices = [] + self.UEDevicesStatus = [] self.CatMDevices = [] self.UEIPAddresses = [] self.htmlFile = '' @@ -1237,6 +1243,7 @@ class SSHConnection(): nb_ue_to_connect = 0 for device_id in self.UEDevices: if (self.nbMaxUEtoAttach == -1) or (nb_ue_to_connect < self.nbMaxUEtoAttach): + self.UEDevicesStatus[nb_ue_to_connect] = UE_STATUS_ATTACHING p = Process(target = self.AttachUE_common, args = (device_id, status_queue, lock,)) p.daemon = True p.start() @@ -1265,6 +1272,11 @@ class SSHConnection(): html_cell = '<pre style="background-color:white">UE (' + device_id + ')\n' + message + ' in ' + str(count + 2) + ' seconds</pre>' html_queue.put(html_cell) if (attach_status): + cnt = 0 + while cnt < len(self.UEDevices): + if self.UEDevicesStatus[cnt] == UE_STATUS_ATTACHING: + self.UEDevicesStatus[cnt] = UE_STATUS_ATTACHED + cnt += 1 self.CreateHtmlTestRowQueue('N/A', 'OK', len(self.UEDevices), html_queue) result = re.search('T_stdout', str(self.Initialize_eNB_args)) if result is not None: @@ -1298,11 +1310,14 @@ class SSHConnection(): self.CreateHtmlTabFooter(False) sys.exit(1) multi_jobs = [] + cnt = 0 for device_id in self.UEDevices: + self.UEDevicesStatus[cnt] = UE_STATUS_DETACHING p = Process(target = self.DetachUE_common, args = (device_id,)) p.daemon = True p.start() multi_jobs.append(p) + cnt += 1 for job in multi_jobs: job.join() self.CreateHtmlTestRow('N/A', 'OK', ALL_PROCESSES_OK) @@ -1310,6 +1325,10 @@ class SSHConnection(): if result is not None: logging.debug('Waiting 5 seconds to fill up record file') time.sleep(5) + cnt = 0 + while cnt < len(self.UEDevices): + self.UEDevicesStatus[cnt] = UE_STATUS_DETACHED + cnt += 1 def RebootUE_common(self, device_id): try: @@ -1430,6 +1449,11 @@ class SSHConnection(): if len(self.UEDevices) == 0: logging.debug('\u001B[1;37;41m UE Not Found! \u001B[0m') sys.exit(1) + if len(self.UEDevicesStatus) == 0: + cnt = 0 + while cnt < len(self.UEDevices): + self.UEDevicesStatus.append(UE_STATUS_DETACHED) + cnt += 1 self.close() def GetAllCatMDevices(self, terminate_ue_flag): @@ -1580,7 +1604,11 @@ class SSHConnection(): self.close() return ue_ip_status self.open(self.ADBIPAddress, self.ADBUserName, self.ADBPassword) + idx = 0 for device_id in self.UEDevices: + if self.UEDevicesStatus[idx] != UE_STATUS_ATTACHED: + idx += 1 + continue count = 0 while count < 4: self.command('stdbuf -o0 adb -s ' + device_id + ' shell ip addr show | grep rmnet', '\$', 15) @@ -1602,6 +1630,7 @@ class SSHConnection(): ue_ip_status -= 1 continue self.UEIPAddresses.append(UE_IPAddress) + idx += 1 self.close() return ue_ip_status diff --git a/ci-scripts/xml_files/enb_usrp210_band7_test_10mhz_tm1.xml b/ci-scripts/xml_files/enb_usrp210_band7_test_10mhz_tm1.xml index fd6aabcbbc82b4aefe9def99120c4680d37d61c5..48ebdaef692cf2edfa504569cab3fcb18712236e 100644 --- a/ci-scripts/xml_files/enb_usrp210_band7_test_10mhz_tm1.xml +++ b/ci-scripts/xml_files/enb_usrp210_band7_test_10mhz_tm1.xml @@ -28,12 +28,19 @@ 030201 040101 030111 040301 040511 040613 040614 040615 040616 040617 040651 040652 040653 040654 040401 040201 030201 + 030112 040302 040512 040612 040650 040401 040201 030201 </TestCaseRequestedList> <TestCaseExclusionList></TestCaseExclusionList> <testCase id="030111"> <class>Initialize_eNB</class> <desc>Initialize eNB (FDD/Band7/10MHz)</desc> + <Initialize_eNB_args>-O ci-scripts/conf_files/enb.band7.tm1.50PRB.usrpb210.conf --eNBs.[0].component_carriers.[0].drx_Config_present prRelease</Initialize_eNB_args> + </testCase> + + <testCase id="030112"> + <class>Initialize_eNB</class> + <desc>Initialize eNB (FDD/Band7/10MHz) with CDRX</desc> <Initialize_eNB_args>-O ci-scripts/conf_files/enb.band7.tm1.50PRB.usrpb210.conf</Initialize_eNB_args> </testCase> @@ -57,6 +64,12 @@ <desc>Attach UE</desc> </testCase> + <testCase id="040302"> + <class>Attach_UE</class> + <desc>Attach UE</desc> + <nbMaxUEtoAttach>1</nbMaxUEtoAttach> + </testCase> + <testCase id="040401"> <class>Detach_UE</class> <desc>Detach UE</desc> @@ -69,6 +82,21 @@ <ping_packetloss_threshold>5</ping_packetloss_threshold> </testCase> + <testCase id="040512"> + <class>Ping</class> + <desc>ping (10MHz - 20 sec)</desc> + <ping_args>-c 20</ping_args> + <ping_packetloss_threshold>5</ping_packetloss_threshold> + </testCase> + + <testCase id="040612"> + <class>Iperf</class> + <desc>iperf (10MHz - DL/30Mbps/UDP)(30 sec)(balanced profile)</desc> + <iperf_args>-u -b 30M -t 30 -i 1</iperf_args> + <iperf_packetloss_threshold>50</iperf_packetloss_threshold> + <iperf_profile>balanced</iperf_profile> + </testCase> + <testCase id="040613"> <class>Iperf</class> <desc>iperf (10MHz - DL/30Mbps/UDP)(30 sec)(balanced profile)</desc> @@ -109,6 +137,14 @@ <iperf_profile>balanced</iperf_profile> </testCase> + <testCase id="040650"> + <class>Iperf</class> + <desc>iperf (10MHz - UL/20Mbps/UDP)(30 sec)(balanced profile)</desc> + <iperf_args>-u -b 20M -t 30 -i 1 -R</iperf_args> + <iperf_packetloss_threshold>50</iperf_packetloss_threshold> + <iperf_profile>balanced</iperf_profile> + </testCase> + <testCase id="040651"> <class>Iperf</class> <desc>iperf (10MHz - UL/20Mbps/UDP)(30 sec)(balanced profile)</desc>