From 798c37aa8dcf1fe94df741353f5f7cd85b73d048 Mon Sep 17 00:00:00 2001 From: Raphael Defosseux <raphael.defosseux@eurecom.fr> Date: Fri, 5 Oct 2018 13:23:20 +0200 Subject: [PATCH] CI: Adding support for TCP iperf2 Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr> --- ci-scripts/main.py | 92 +++++++++- ci-scripts/tcp_iperf_stats.awk | 14 ++ ci-scripts/xml_files/enb_usrp210_band7.xml | 187 +++++++++++++++------ 3 files changed, 230 insertions(+), 63 deletions(-) create mode 100644 ci-scripts/tcp_iperf_stats.awk diff --git a/ci-scripts/main.py b/ci-scripts/main.py index febd50f726a..aac81cb0364 100644 --- a/ci-scripts/main.py +++ b/ci-scripts/main.py @@ -166,7 +166,7 @@ class SSHConnection(): else: logging.debug('\u001B[1;37;41m Unexpected Others \u001B[0m') - def copy(self, ipaddress, username, password, source, destination): + def copyin(self, ipaddress, username, password, source, destination): logging.debug('scp '+ username + '@' + ipaddress + ':' + source + ' ' + destination) scp_spawn = pexpect.spawn('scp '+ username + '@' + ipaddress + ':' + source + ' ' + destination, timeout = 5) scp_response = scp_spawn.expect(['Are you sure you want to continue connecting (yes/no)?', 'password:', pexpect.EOF, pexpect.TIMEOUT]) @@ -194,6 +194,34 @@ class SSHConnection(): logging.debug('3 - scp_response = ' + str(scp_response)) sys.exit('SCP failed') + def copyout(self, ipaddress, username, password, source, destination): + logging.debug('scp ' + source + ' ' + username + '@' + ipaddress + ':' + destination) + scp_spawn = pexpect.spawn('scp ' + source + ' ' + username + '@' + ipaddress + ':' + destination, timeout = 5) + scp_response = scp_spawn.expect(['Are you sure you want to continue connecting (yes/no)?', 'password:', pexpect.EOF, pexpect.TIMEOUT]) + if scp_response == 0: + scp_spawn.sendline('yes') + scp_spawn.expect('password:') + scp_spawn.sendline(password) + scp_response = scp_spawn.expect(['\$', 'Permission denied', 'password:', pexpect.EOF, pexpect.TIMEOUT]) + if scp_response == 0: + pass + else: + logging.debug('1 - scp_response = ' + str(scp_response)) + sys.exit('SCP failed') + elif scp_response == 1: + scp_spawn.sendline(password) + scp_response = scp_spawn.expect(['\$', 'Permission denied', 'password:', pexpect.EOF, pexpect.TIMEOUT]) + if scp_response == 0 or scp_response == 3: + pass + else: + logging.debug('2 - scp_response = ' + str(scp_response)) + sys.exit('SCP failed') + elif scp_response == 2: + pass + else: + logging.debug('3 - scp_response = ' + str(scp_response)) + sys.exit('SCP failed') + def BuildeNB(self): if self.eNBIPAddress == '' or self.eNBRepository == '' or self.eNBBranch == '' or self.eNBUserName == '' or self.eNBPassword == '' or self.eNBSourceCodePath == '': Usage() @@ -739,7 +767,37 @@ class SSHConnection(): sys.exit(1) return result + def Iperf_analyzeV2TCPOutput(self, lock, UE_IPAddress, device_id, statusQueue, iperf_real_options): + self.command('awk -f /tmp/tcp_iperf_stats.awk /tmp/CI-eNB/scripts/iperf_' + SSH.testCase_id + '_' + device_id + '.log', '\$', 5) + result = re.search('Avg Bitrate : (?P<average>[0-9\.]+ Mbits\/sec) Max Bitrate : (?P<maximum>[0-9\.]+ Mbits\/sec) Min Bitrate : (?P<minimum>[0-9\.]+ Mbits\/sec)', str(self.ssh.before)) + if result is not None: + avgbitrate = result.group('average') + maxbitrate = result.group('maximum') + minbitrate = result.group('minimum') + lock.acquire() + logging.debug('\u001B[1;37;44m TCP iperf result (' + UE_IPAddress + ') \u001B[0m') + msg = 'TCP Stats :\n' + if avgbitrate is not None: + logging.debug('\u001B[1;34m Avg Bitrate : ' + avgbitrate + '\u001B[0m') + msg += 'Avg Bitrate : ' + avgbitrate + '\n' + if maxbitrate is not None: + logging.debug('\u001B[1;34m Max Bitrate : ' + maxbitrate + '\u001B[0m') + msg += 'Max Bitrate : ' + maxbitrate + '\n' + if minbitrate is not None: + logging.debug('\u001B[1;34m Min Bitrate : ' + minbitrate + '\u001B[0m') + msg += 'Min Bitrate : ' + minbitrate + '\n' + statusQueue.put(0) + statusQueue.put(device_id) + statusQueue.put(UE_IPAddress) + statusQueue.put(msg) + lock.release() + return 0 + def Iperf_analyzeV2Output(self, lock, UE_IPAddress, device_id, statusQueue, iperf_real_options): + result = re.search('-u', str(iperf_real_options)) + if result is None: + return self.Iperf_analyzeV2TCPOutput(lock, UE_IPAddress, device_id, statusQueue, iperf_real_options) + result = re.search('Server Report:', str(self.ssh.before)) if result is None: result = re.search('read failed: Connection refused', str(self.ssh.before)) @@ -968,6 +1026,10 @@ class SSHConnection(): lock.release() def Iperf_UL_common(self, lock, UE_IPAddress, device_id, idx, ue_num, statusQueue): + udpIperf = True + result = re.search('-u', str(self.iperf_args)) + if result is None: + udpIperf = False ipnumbers = UE_IPAddress.split('.') if (len(ipnumbers) == 4): ipnumbers[3] = '1' @@ -978,7 +1040,10 @@ class SSHConnection(): self.command('cd ' + self.EPCSourceCodePath + '/scripts', '\$', 5) self.command('rm -f iperf_server_' + SSH.testCase_id + '_' + device_id + '.log', '\$', 5) port = 5001 + idx - self.command('echo $USER; nohup iperf -u -s -i 1 -p ' + str(port) + ' > iperf_server_' + SSH.testCase_id + '_' + device_id + '.log &', self.EPCUserName, 5) + if udpIperf: + self.command('echo $USER; nohup iperf -u -s -i 1 -p ' + str(port) + ' > iperf_server_' + SSH.testCase_id + '_' + device_id + '.log &', self.EPCUserName, 5) + else: + self.command('echo $USER; nohup iperf -s -i 1 -p ' + str(port) + ' > iperf_server_' + SSH.testCase_id + '_' + device_id + '.log &', self.EPCUserName, 5) time.sleep(0.5) self.close() @@ -988,7 +1053,10 @@ class SSHConnection(): iperf_time = self.Iperf_ComputeTime() time.sleep(0.5) - modified_options = self.Iperf_ComputeModifiedBW(idx, ue_num) + if udpIperf: + modified_options = self.Iperf_ComputeModifiedBW(idx, ue_num) + else: + modified_options = str(self.iperf_args) modified_options = modified_options.replace('-R','') time.sleep(0.5) @@ -1004,7 +1072,7 @@ class SSHConnection(): time.sleep(1) if (os.path.isfile('iperf_server_' + SSH.testCase_id + '_' + device_id + '.log')): os.remove('iperf_server_' + SSH.testCase_id + '_' + device_id + '.log') - self.copy(self.EPCIPAddress, self.EPCUserName, self.EPCPassword, self.EPCSourceCodePath + '/scripts/iperf_server_' + SSH.testCase_id + '_' + device_id + '.log', '.') + self.copyin(self.EPCIPAddress, self.EPCUserName, self.EPCPassword, self.EPCSourceCodePath + '/scripts/iperf_server_' + SSH.testCase_id + '_' + device_id + '.log', '.') self.Iperf_analyzeV2Server(lock, UE_IPAddress, device_id, statusQueue, modified_options) def Iperf_common(self, lock, UE_IPAddress, device_id, idx, ue_num, statusQueue): @@ -1013,6 +1081,7 @@ class SSHConnection(): if SSH.iperf_profile == 'single-ue' and idx != 0: return useIperf3 = False + udpIperf = True self.open(self.ADBIPAddress, self.ADBUserName, self.ADBPassword) # if by chance ADB server and EPC are on the same remote host, at least log collection will take care of it self.command('if [ ! -d ' + self.EPCSourceCodePath + '/scripts ]; then mkdir -p ' + self.EPCSourceCodePath + '/scripts ; fi', '\$', 5) @@ -1047,7 +1116,12 @@ class SSHConnection(): self.command('stdbuf -o0 adb -s ' + device_id + ' shell /data/local/tmp/iperf3 -s &', '\$', 5) else: self.command('rm -f iperf_server_' + SSH.testCase_id + '_' + device_id + '.log', '\$', 5) - self.command('echo $USER; nohup adb -s ' + device_id + ' shell "/data/local/tmp/iperf -u -s -i 1" > iperf_server_' + SSH.testCase_id + '_' + device_id + '.log &', self.ADBUserName, 5) + result = re.search('-u', str(self.iperf_args)) + if result is None: + self.command('echo $USER; nohup adb -s ' + device_id + ' shell "/data/local/tmp/iperf -s -i 1" > iperf_server_' + SSH.testCase_id + '_' + device_id + '.log &', self.ADBUserName, 5) + udpIperf = False + else: + self.command('echo $USER; nohup adb -s ' + device_id + ' shell "/data/local/tmp/iperf -u -s -i 1" > iperf_server_' + SSH.testCase_id + '_' + device_id + '.log &', self.ADBUserName, 5) time.sleep(0.5) self.close() @@ -1056,7 +1130,10 @@ class SSHConnection(): iperf_time = self.Iperf_ComputeTime() time.sleep(0.5) - modified_options = self.Iperf_ComputeModifiedBW(idx, ue_num) + if udpIperf: + modified_options = self.Iperf_ComputeModifiedBW(idx, ue_num) + else: + modified_options = str(self.iperf_args) time.sleep(0.5) self.command('rm -f iperf_' + SSH.testCase_id + '_' + device_id + '.log', '\$', 5) @@ -1082,7 +1159,7 @@ class SSHConnection(): time.sleep(1) if (os.path.isfile('iperf_server_' + SSH.testCase_id + '_' + device_id + '.log')): os.remove('iperf_server_' + SSH.testCase_id + '_' + device_id + '.log') - self.copy(self.ADBIPAddress, self.ADBUserName, self.ADBPassword, self.EPCSourceCodePath + '/scripts/iperf_server_' + SSH.testCase_id + '_' + device_id + '.log', '.') + self.copyin(self.ADBIPAddress, self.ADBUserName, self.ADBPassword, self.EPCSourceCodePath + '/scripts/iperf_server_' + SSH.testCase_id + '_' + device_id + '.log', '.') self.Iperf_analyzeV2Server(lock, UE_IPAddress, device_id, statusQueue, modified_options) except: os.kill(os.getppid(),signal.SIGUSR1) @@ -1784,6 +1861,7 @@ elif re.match('^TesteNB$', mode, re.IGNORECASE): Usage() sys.exit('Insufficient Parameter') + SSH.copyout(SSH.EPCIPAddress, SSH.EPCUserName, SSH.EPCPassword, sys.path[0] + "/tcp_iperf_stats.awk", "/tmp") SSH.CreateHtmlHeader() #read test_case_list.xml file diff --git a/ci-scripts/tcp_iperf_stats.awk b/ci-scripts/tcp_iperf_stats.awk new file mode 100644 index 00000000000..e5c64b62835 --- /dev/null +++ b/ci-scripts/tcp_iperf_stats.awk @@ -0,0 +1,14 @@ +BEGIN{max=0;min=10000} +{ + if ($0 ~/Mbits/) { + split($0,a,"MBytes") + split(a[2],b) + if (b[1]>max) { + max=b[1] + } + if (b[1]<min) { + min=b[1] + } + } +} +END{print "Avg Bitrate : " b[1] " Mbits/sec Max Bitrate : " max " Mbits/sec Min Bitrate : " min " Mbits/sec"} diff --git a/ci-scripts/xml_files/enb_usrp210_band7.xml b/ci-scripts/xml_files/enb_usrp210_band7.xml index b8a2439106b..7dd796c09d2 100644 --- a/ci-scripts/xml_files/enb_usrp210_band7.xml +++ b/ci-scripts/xml_files/enb_usrp210_band7.xml @@ -21,7 +21,7 @@ --> <testCaseList> - <TestCaseRequestedList>010101 050101 060101 070101 040101 030101 040301 040501 040601 040602 040603 040604 040605 040641 040642 040401 040201 030201 030111 040301 040511 040611 040612 040613 040614 040615 040651 040652 040401 040201 030201 030121 040301 040521 040621 040622 040623 040624 040625 040662 040661 040401 040201 030201 </TestCaseRequestedList> + <TestCaseRequestedList>010101 050101 060101 070101 040101 030101 040301 040501 040603 040604 040605 040606 040607 040641 040642 040643 040644 040401 040201 030201 030111 040301 040511 040613 040614 040615 040616 040617 040651 040652 040653 040654 040401 040201 030201 030121 040301 040521 040623 040624 040625 040626 040627 040662 040661 040663 040664 040401 040201 030201 050201 060201 070201</TestCaseRequestedList> <TestCaseExclusionList></TestCaseExclusionList> <testCase id="010101"> @@ -94,162 +94,222 @@ <ping_packetloss_threshold>5</ping_packetloss_threshold> </testCase> - <testCase id="040601"> + <testCase id="040603"> <class>Iperf</class> - <desc>iperf (5MHz - DL/6Mbps/UDP)(60 sec)</desc> - <iperf_args>-u -b 6M -t 60 -i 1</iperf_args> + <desc>iperf (5MHz - DL/15Mbps/UDP)(30 sec)(balanced profile)</desc> + <iperf_args>-u -b 15M -t 30 -i 1</iperf_args> <iperf_packetloss_threshold>50</iperf_packetloss_threshold> - </testCase> + <iperf_profile>balanced</iperf_profile> + </testCase> - <testCase id="040602"> + <testCase id="040604"> <class>Iperf</class> - <desc>iperf (5MHz - DL/13Mbps/UDP)(60 sec)</desc> - <iperf_args>-u -b 13M -t 60 -i 1</iperf_args> + <desc>iperf (5MHz - DL/15Mbps/UDP)(30 sec)(single-ue profile)</desc> + <iperf_args>-u -b 15M -t 30 -i 1</iperf_args> <iperf_packetloss_threshold>50</iperf_packetloss_threshold> + <iperf_profile>single-ue</iperf_profile> </testCase> - <testCase id="040603"> + <testCase id="040605"> <class>Iperf</class> - <desc>iperf (5MHz - DL/15Mbps/UDP)(60 sec)</desc> - <iperf_args>-u -b 15M -t 60 -i 1</iperf_args> + <desc>iperf (5MHz - DL/15Mbps/UDP)(30 sec)(unbalanced profile)</desc> + <iperf_args>-u -b 15M -t 30 -i 1</iperf_args> <iperf_packetloss_threshold>50</iperf_packetloss_threshold> + <iperf_profile>unbalanced</iperf_profile> </testCase> - <testCase id="040604"> + <testCase id="040606"> <class>Iperf</class> - <desc>iperf (5MHz - DL/15Mbps/UDP)(60 sec)(single-ue profile)</desc> - <iperf_args>-u -b 15M -t 60 -i 1</iperf_args> + <desc>iperf (5MHz - DL/TCP)(30 sec)(single-ue profile)</desc> + <iperf_args>-t 30 -i 1 -fm</iperf_args> <iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_profile>single-ue</iperf_profile> </testCase> - <testCase id="040605"> + <testCase id="040607"> <class>Iperf</class> - <desc>iperf (5MHz - DL/15Mbps/UDP)(60 sec)(unbalanced profile)</desc> - <iperf_args>-u -b 15M -t 60 -i 1</iperf_args> + <desc>iperf (5MHz - DL/TCP)(30 sec)(balanced profile)</desc> + <iperf_args>-t 30 -i 1 -fm</iperf_args> <iperf_packetloss_threshold>50</iperf_packetloss_threshold> - <iperf_profile>unbalanced</iperf_profile> + <iperf_profile>balanced</iperf_profile> </testCase> <testCase id="040641"> <class>Iperf</class> - <desc>iperf (5MHz - UL/9Mbps/UDP)(60 sec)</desc> - <iperf_args>-u -b 9M -t 60 -i 1 -R</iperf_args> + <desc>iperf (5MHz - UL/9Mbps/UDP)(30 sec)(balanced profile)</desc> + <iperf_args>-u -b 9M -t 30 -i 1 -R</iperf_args> <iperf_packetloss_threshold>50</iperf_packetloss_threshold> + <iperf_profile>balanced</iperf_profile> </testCase> <testCase id="040642"> <class>Iperf</class> - <desc>iperf (5MHz - UL/9Mbps/UDP)(60 sec)(single-ue profile)</desc> - <iperf_args>-u -b 9M -t 60 -i 1 -R</iperf_args> + <desc>iperf (5MHz - UL/9Mbps/UDP)(30 sec)(single-ue profile)</desc> + <iperf_args>-u -b 9M -t 30 -i 1 -R</iperf_args> <iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_profile>single-ue</iperf_profile> </testCase> - <testCase id="040611"> + <testCase id="040643"> <class>Iperf</class> - <desc>iperf (10MHz - DL/10Mbps/UDP)(60 sec)</desc> - <iperf_args>-u -b 10M -t 60 -i 1</iperf_args> + <desc>iperf (5MHz - UL/TCP)(30 sec)(single-ue profile)</desc> + <iperf_args>-t 30 -i 1 -fm -R</iperf_args> <iperf_packetloss_threshold>50</iperf_packetloss_threshold> - </testCase> + <iperf_profile>single-ue</iperf_profile> + </testCase> - <testCase id="040612"> + <testCase id="040644"> <class>Iperf</class> - <desc>iperf (10MHz - DL/20Mbps/UDP)(60 sec)</desc> - <iperf_args>-u -b 20M -t 60 -i 1</iperf_args> + <desc>iperf (5MHz - UL/TCP)(30 sec)(balanced profile)</desc> + <iperf_args>-t 30 -i 1 -fm -R</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)(60 sec)</desc> - <iperf_args>-u -b 30M -t 60 -i 1</iperf_args> + <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="040614"> <class>Iperf</class> - <desc>iperf (10MHz - DL/30Mbps/UDP)(60 sec)(single-ue profile)</desc> - <iperf_args>-u -b 30M -t 60 -i 1</iperf_args> + <desc>iperf (10MHz - DL/30Mbps/UDP)(30 sec)(single-ue profile)</desc> + <iperf_args>-u -b 30M -t 30 -i 1</iperf_args> <iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_profile>single-ue</iperf_profile> </testCase> <testCase id="040615"> <class>Iperf</class> - <desc>iperf (10MHz - DL/30Mbps/UDP)(60 sec)(unbalanced profile)</desc> - <iperf_args>-u -b 30M -t 60 -i 1</iperf_args> + <desc>iperf (10MHz - DL/30Mbps/UDP)(30 sec)(unbalanced profile)</desc> + <iperf_args>-u -b 30M -t 30 -i 1</iperf_args> <iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_profile>unbalanced</iperf_profile> </testCase> + <testCase id="040616"> + <class>Iperf</class> + <desc>iperf (10MHz - DL/TCP)(30 sec)(single-ue profile)</desc> + <iperf_args>-t 30 -i 1 -fm</iperf_args> + <iperf_packetloss_threshold>50</iperf_packetloss_threshold> + <iperf_profile>single-ue</iperf_profile> + </testCase> + + <testCase id="040617"> + <class>Iperf</class> + <desc>iperf (10MHz - DL/TCP)(30 sec)(balanced profile)</desc> + <iperf_args>-t 30 -i 1 -fm</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)(60 sec)</desc> - <iperf_args>-u -b 20M -t 60 -i 1 -R</iperf_args> + <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="040652"> <class>Iperf</class> - <desc>iperf (10MHz - UL/20Mbps/UDP)(60 sec)(single-ue profile)</desc> - <iperf_args>-u -b 20M -t 60 -i 1 -R</iperf_args> + <desc>iperf (10MHz - UL/20Mbps/UDP)(30 sec)(single-ue profile)</desc> + <iperf_args>-u -b 20M -t 30 -i 1 -R</iperf_args> <iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_profile>single-ue</iperf_profile> </testCase> - <testCase id="040621"> + <testCase id="040653"> <class>Iperf</class> - <desc>iperf (20MHz - DL/20Mbps/UDP)(60 sec)</desc> - <iperf_args>-u -b 20M -t 60 -i 1</iperf_args> + <desc>iperf (10MHz - UL/TCP)(30 sec)(single-ue profile)</desc> + <iperf_args>-t 30 -i 1 -fm -R</iperf_args> <iperf_packetloss_threshold>50</iperf_packetloss_threshold> - </testCase> + <iperf_profile>single-ue</iperf_profile> + </testCase> - <testCase id="040622"> + <testCase id="040654"> <class>Iperf</class> - <desc>iperf (20MHz - DL/40Mbps/UDP)(60 sec)</desc> - <iperf_args>-u -b 40M -t 60 -i 1</iperf_args> + <desc>iperf (10MHz - UL/TCP)(30 sec)(balanced profile)</desc> + <iperf_args>-t 30 -i 1 -fm -R</iperf_args> <iperf_packetloss_threshold>50</iperf_packetloss_threshold> + <iperf_profile>balanced</iperf_profile> </testCase> <testCase id="040623"> <class>Iperf</class> - <desc>iperf (20MHz - DL/70Mbps/UDP)(60 sec)</desc> - <iperf_args>-u -b 70M -t 60 -i 1</iperf_args> + <desc>iperf (20MHz - DL/70Mbps/UDP)(30 sec)(balanced profile)</desc> + <iperf_args>-u -b 70M -t 30 -i 1</iperf_args> <iperf_packetloss_threshold>50</iperf_packetloss_threshold> + <iperf_profile>balanced</iperf_profile> </testCase> <testCase id="040624"> <class>Iperf</class> - <desc>iperf (20MHz - DL/70Mbps/UDP)(60 sec)(single-ue profile)</desc> - <iperf_args>-u -b 70M -t 60 -i 1</iperf_args> + <desc>iperf (20MHz - DL/70Mbps/UDP)(30 sec)(single-ue profile)</desc> + <iperf_args>-u -b 70M -t 30 -i 1</iperf_args> <iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_profile>single-ue</iperf_profile> </testCase> <testCase id="040625"> <class>Iperf</class> - <desc>iperf (20MHz - DL/70Mbps/UDP)(60 sec)(unbalanced profile)</desc> - <iperf_args>-u -b 70M -t 60 -i 1</iperf_args> + <desc>iperf (20MHz - DL/70Mbps/UDP)(30 sec)(unbalanced profile)</desc> + <iperf_args>-u -b 70M -t 30 -i 1</iperf_args> <iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_profile>unbalanced</iperf_profile> </testCase> + <testCase id="040626"> + <class>Iperf</class> + <desc>iperf (20MHz - DL/TCP)(30 sec)(single-ue profile)</desc> + <iperf_args>-t 30 -i 1 -fm</iperf_args> + <iperf_packetloss_threshold>50</iperf_packetloss_threshold> + <iperf_profile>single-ue</iperf_profile> + </testCase> + + <testCase id="040627"> + <class>Iperf</class> + <desc>iperf (20MHz - DL/TCP)(30 sec)(balanced profile)</desc> + <iperf_args>-t 30 -i 1 -fm</iperf_args> + <iperf_packetloss_threshold>50</iperf_packetloss_threshold> + <iperf_profile>balanced</iperf_profile> + </testCase> + <testCase id="040661"> <class>Iperf</class> - <desc>iperf (20MHz - UL/20Mbps/UDP)(60 sec)</desc> - <iperf_args>-u -b 20M -t 60 -i 1 -R</iperf_args> + <desc>iperf (20MHz - 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="040662"> <class>Iperf</class> - <desc>iperf (20MHz - UL/20Mbps/UDP)(60 sec)(single-ue profile)</desc> - <iperf_args>-u -b 20M -t 60 -i 1 -R</iperf_args> + <desc>iperf (20MHz - UL/20Mbps/UDP)(30 sec)(single-ue profile)</desc> + <iperf_args>-u -b 20M -t 30 -i 1 -R</iperf_args> <iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_profile>single-ue</iperf_profile> </testCase> + <testCase id="040663"> + <class>Iperf</class> + <desc>iperf (20MHz - UL/TCP)(30 sec)(single-ue profile)</desc> + <iperf_args>-t 30 -i 1 -fm -R</iperf_args> + <iperf_packetloss_threshold>50</iperf_packetloss_threshold> + <iperf_profile>single-ue</iperf_profile> + </testCase> + + <testCase id="040664"> + <class>Iperf</class> + <desc>iperf (20MHz - UL/TCP)(30 sec)(balanced profile)</desc> + <iperf_args>-t 30 -i 1 -fm -R</iperf_args> + <iperf_packetloss_threshold>50</iperf_packetloss_threshold> + <iperf_profile>balanced</iperf_profile> + </testCase> + <testCase id="050101"> <class>Initialize_HSS</class> <desc>Initialize HSS</desc> @@ -265,4 +325,19 @@ <desc>Initialize SPGW</desc> </testCase> + <testCase id="050201"> + <class>Terminate_HSS</class> + <desc>Terminate HSS</desc> + </testCase> + + <testCase id="060201"> + <class>Terminate_MME</class> + <desc>Terminate MME</desc> + </testCase> + + <testCase id="070201"> + <class>Terminate_SPGW</class> + <desc>Terminate SPGW</desc> + </testCase> + </testCaseList> -- GitLab