From cf55b03fadcb94417f511d00b5ae32dc331a27bc Mon Sep 17 00:00:00 2001 From: Raphael Defosseux <raphael.defosseux@eurecom.fr> Date: Thu, 14 Mar 2019 21:58:46 +0100 Subject: [PATCH] CI: rru command line options are checked if applied Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr> --- ci-scripts/main.py | 19 ++++++++++++++++++- .../if4p5_usrp210_band40_test_05mhz.xml | 4 ++-- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/ci-scripts/main.py b/ci-scripts/main.py index f0b94c59bea..5b1dfd89018 100644 --- a/ci-scripts/main.py +++ b/ci-scripts/main.py @@ -100,6 +100,8 @@ class SSHConnection(): self.Initialize_eNB_args = '' self.eNBLogFile = '' self.eNB_instance = '' + self.eNBOptions = '' + self.rruOptions = '' self.ping_args = '' self.ping_packetloss_threshold = '' self.iperf_args = '' @@ -412,6 +414,7 @@ class SSHConnection(): self.command('cd ' + self.eNBSourceCodePath, '\$', 5) # Initialize_eNB_args usually start with -O and followed by the location in repository full_config_file = self.Initialize_eNB_args.replace('-O ','') + extra_options = '' extIdx = full_config_file.find('.conf') if (extIdx > 0): extra_options = full_config_file[extIdx + 5:] @@ -455,6 +458,8 @@ class SSHConnection(): self.command('echo ' + self.eNBPassword + ' | sudo -S -E daemon --inherit --unsafe --name=enb' + str(self.eNB_instance) + '_daemon --chdir=' + self.eNBSourceCodePath + '/cmake_targets -o ' + self.eNBSourceCodePath + '/cmake_targets/enb_' + self.testCase_id + '.log ./my-lte-softmodem-run' + str(self.eNB_instance) + '.sh', '\$', 5) if not rruCheck: self.eNBLogFile = 'enb_' + self.testCase_id + '.log' + if extra_options != '': + self.eNBOptions = extra_options time.sleep(6) doLoop = True loopCounter = 10 @@ -493,6 +498,8 @@ class SSHConnection(): time.sleep(6) else: doLoop = False + if rruCheck and extra_options != '': + self.rruOptions = extra_options self.CreateHtmlTestRow('-O ' + config_file + extra_options, 'OK', ALL_PROCESSES_OK) logging.debug('\u001B[1m Initialize eNB Completed\u001B[0m') @@ -1755,7 +1762,18 @@ class SSHConnection(): uciStatMsgCount = 0 pdcpFailure = 0 ulschFailure = 0 + self.htmleNBFailureMsg = '' for line in enb_log_file.readlines(): + if self.rruOptions != '': + res1 = re.search('max_rxgain (?P<requested_option>[0-9]+)', self.rruOptions) + res2 = re.search('max_rxgain (?P<applied_option>[0-9]+)', str(line)) + if res1 is not None and res2 is not None: + requested_option = int(res1.group('requested_option')) + applied_option = int(res2.group('applied_option')) + if requested_option == applied_option: + self.htmleNBFailureMsg += '<span class="glyphicon glyphicon-ok-circle"></span> Command line option(s) correctly applied <span class="glyphicon glyphicon-arrow-right"></span> ' + self.rruOptions + '\n\n' + else: + self.htmleNBFailureMsg += '<span class="glyphicon glyphicon-ban-circle"></span> Command line option(s) NOT applied <span class="glyphicon glyphicon-arrow-right"></span> ' + self.rruOptions + '\n\n' result = re.search('[Ss]egmentation [Ff]ault', str(line)) if result is not None: foundSegFault = True @@ -1811,7 +1829,6 @@ class SSHConnection(): if result is not None: rachCanceledProcedure += 1 enb_log_file.close() - self.htmleNBFailureMsg = '' if uciStatMsgCount > 0: statMsg = 'eNB showed ' + str(uciStatMsgCount) + ' "uci->stat" message(s)' logging.debug('\u001B[1;30;43m ' + statMsg + ' \u001B[0m') diff --git a/ci-scripts/xml_files/if4p5_usrp210_band40_test_05mhz.xml b/ci-scripts/xml_files/if4p5_usrp210_band40_test_05mhz.xml index 11057e9d3af..d3b45618762 100644 --- a/ci-scripts/xml_files/if4p5_usrp210_band40_test_05mhz.xml +++ b/ci-scripts/xml_files/if4p5_usrp210_band40_test_05mhz.xml @@ -34,14 +34,14 @@ <testCase id="030104"> <class>Initialize_eNB</class> <desc>Initialize RRU (TDD/Band40)</desc> - <Initialize_eNB_args>-O ci-scripts/conf_files/rru.tdd.band40.conf</Initialize_eNB_args> + <Initialize_eNB_args>-O ci-scripts/conf_files/rru.tdd.band40.conf --RUs.[0].max_rxgain 125</Initialize_eNB_args> <eNB_instance>0</eNB_instance> </testCase> <testCase id="030105"> <class>Initialize_eNB</class> <desc>Initialize RCC (TDD/Band40/5MHz)</desc> - <Initialize_eNB_args>-O ci-scripts/conf_files/rcc.band40.tm1.25PRB.FairScheduler.usrpb210.conf --RUs.[0].max_rxgain 125</Initialize_eNB_args> + <Initialize_eNB_args>-O ci-scripts/conf_files/rcc.band40.tm1.25PRB.FairScheduler.usrpb210.conf</Initialize_eNB_args> <eNB_instance>1</eNB_instance> </testCase> -- GitLab