CI: added error output if in MBMS-case, the UE does not show MBMS messages
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
This commit is contained in:
@@ -57,6 +57,7 @@ OAI_UE_PROCESS_ASSERTION = -22
|
|||||||
OAI_UE_PROCESS_FAILED = -23
|
OAI_UE_PROCESS_FAILED = -23
|
||||||
OAI_UE_PROCESS_NO_TUNNEL_INTERFACE = -24
|
OAI_UE_PROCESS_NO_TUNNEL_INTERFACE = -24
|
||||||
OAI_UE_PROCESS_SEG_FAULT = -25
|
OAI_UE_PROCESS_SEG_FAULT = -25
|
||||||
|
OAI_UE_PROCESS_NO_MBMS_MSGS = -26
|
||||||
OAI_UE_PROCESS_OK = +6
|
OAI_UE_PROCESS_OK = +6
|
||||||
|
|
||||||
UE_STATUS_DETACHED = 0
|
UE_STATUS_DETACHED = 0
|
||||||
|
|||||||
+9
-8
@@ -2432,6 +2432,7 @@ class OaiCiTest():
|
|||||||
nrCRCOK = 0
|
nrCRCOK = 0
|
||||||
mbms_messages = 0
|
mbms_messages = 0
|
||||||
HTML.SethtmlUEFailureMsg('')
|
HTML.SethtmlUEFailureMsg('')
|
||||||
|
global_status = CONST.ALL_PROCESSES_OK
|
||||||
for line in ue_log_file.readlines():
|
for line in ue_log_file.readlines():
|
||||||
result = re.search('nr_synchro_time', str(line))
|
result = re.search('nr_synchro_time', str(line))
|
||||||
if result is not None:
|
if result is not None:
|
||||||
@@ -2625,36 +2626,36 @@ class OaiCiTest():
|
|||||||
else:
|
else:
|
||||||
statMsg = 'UE did NOT SHOW "TRIED TO PUSH MBMS DATA" message(s)'
|
statMsg = 'UE did NOT SHOW "TRIED TO PUSH MBMS DATA" message(s)'
|
||||||
logging.debug('\u001B[1;30;41m ' + statMsg + ' \u001B[0m')
|
logging.debug('\u001B[1;30;41m ' + statMsg + ' \u001B[0m')
|
||||||
|
global_status = OAI_UE_PROCESS_NO_MBMS_MSGS
|
||||||
HTML.SethtmlUEFailureMsg(HTML.GethtmlUEFailureMsg() + statMsg + '\n')
|
HTML.SethtmlUEFailureMsg(HTML.GethtmlUEFailureMsg() + statMsg + '\n')
|
||||||
if foundSegFault:
|
if foundSegFault:
|
||||||
logging.debug('\u001B[1;37;41m UE ended with a Segmentation Fault! \u001B[0m')
|
logging.debug('\u001B[1;37;41m UE ended with a Segmentation Fault! \u001B[0m')
|
||||||
if not nrUEFlag:
|
if not nrUEFlag:
|
||||||
return CONST.OAI_UE_PROCESS_SEG_FAULT
|
global_status = CONST.OAI_UE_PROCESS_SEG_FAULT
|
||||||
else:
|
else:
|
||||||
if not frequency_found:
|
if not frequency_found:
|
||||||
return CONST.OAI_UE_PROCESS_SEG_FAULT
|
global_status = CONST.OAI_UE_PROCESS_SEG_FAULT
|
||||||
if foundAssertion:
|
if foundAssertion:
|
||||||
logging.debug('\u001B[1;30;43m UE showed an assertion! \u001B[0m')
|
logging.debug('\u001B[1;30;43m UE showed an assertion! \u001B[0m')
|
||||||
HTML.SethtmlUEFailureMsg(HTML.GethtmlUEFailureMsg() + 'UE showed an assertion!\n')
|
HTML.SethtmlUEFailureMsg(HTML.GethtmlUEFailureMsg() + 'UE showed an assertion!\n')
|
||||||
if not nrUEFlag:
|
if not nrUEFlag:
|
||||||
if not mib_found or not frequency_found:
|
if not mib_found or not frequency_found:
|
||||||
return CONST.OAI_UE_PROCESS_ASSERTION
|
global_status = CONST.OAI_UE_PROCESS_ASSERTION
|
||||||
else:
|
else:
|
||||||
if not frequency_found:
|
if not frequency_found:
|
||||||
return CONST.OAI_UE_PROCESS_ASSERTION
|
global_status = CONST.OAI_UE_PROCESS_ASSERTION
|
||||||
if foundRealTimeIssue:
|
if foundRealTimeIssue:
|
||||||
logging.debug('\u001B[1;37;41m UE faced real time issues! \u001B[0m')
|
logging.debug('\u001B[1;37;41m UE faced real time issues! \u001B[0m')
|
||||||
HTML.SethtmlUEFailureMsg(HTML.GethtmlUEFailureMsg() + 'UE faced real time issues!\n')
|
HTML.SethtmlUEFailureMsg(HTML.GethtmlUEFailureMsg() + 'UE faced real time issues!\n')
|
||||||
#return CONST.ENB_PROCESS_REALTIME_ISSUE
|
|
||||||
if nrUEFlag:
|
if nrUEFlag:
|
||||||
if not frequency_found:
|
if not frequency_found:
|
||||||
return CONST.OAI_UE_PROCESS_COULD_NOT_SYNC
|
global_status = CONST.OAI_UE_PROCESS_COULD_NOT_SYNC
|
||||||
else:
|
else:
|
||||||
if no_cell_sync_found and not mib_found:
|
if no_cell_sync_found and not mib_found:
|
||||||
logging.debug('\u001B[1;37;41m UE could not synchronize ! \u001B[0m')
|
logging.debug('\u001B[1;37;41m UE could not synchronize ! \u001B[0m')
|
||||||
HTML.SethtmlUEFailureMsg(HTML.GethtmlUEFailureMsg() + 'UE could not synchronize!\n')
|
HTML.SethtmlUEFailureMsg(HTML.GethtmlUEFailureMsg() + 'UE could not synchronize!\n')
|
||||||
return CONST.OAI_UE_PROCESS_COULD_NOT_SYNC
|
global_status = CONST.OAI_UE_PROCESS_COULD_NOT_SYNC
|
||||||
return 0
|
return global_status
|
||||||
|
|
||||||
|
|
||||||
def TerminateFlexranCtrl(self):
|
def TerminateFlexranCtrl(self):
|
||||||
|
|||||||
+6
-12
@@ -812,6 +812,7 @@ class RANManagement():
|
|||||||
X2HO_state = CONST.X2_HO_REQ_STATE__IDLE
|
X2HO_state = CONST.X2_HO_REQ_STATE__IDLE
|
||||||
X2HO_inNbProcedures = 0
|
X2HO_inNbProcedures = 0
|
||||||
X2HO_outNbProcedures = 0
|
X2HO_outNbProcedures = 0
|
||||||
|
global_status = CONST.ALL_PROCESSES_OK
|
||||||
for line in enb_log_file.readlines():
|
for line in enb_log_file.readlines():
|
||||||
if X2HO_state == CONST.X2_HO_REQ_STATE__IDLE:
|
if X2HO_state == CONST.X2_HO_REQ_STATE__IDLE:
|
||||||
result = re.search('target eNB Receives X2 HO Req X2AP_HANDOVER_REQ', str(line))
|
result = re.search('target eNB Receives X2 HO Req X2AP_HANDOVER_REQ', str(line))
|
||||||
@@ -1031,29 +1032,22 @@ class RANManagement():
|
|||||||
logging.debug('\u001B[1;37;41m ' + rruMsg + ' \u001B[0m')
|
logging.debug('\u001B[1;37;41m ' + rruMsg + ' \u001B[0m')
|
||||||
htmleNBFailureMsg += rruMsg + '\n'
|
htmleNBFailureMsg += rruMsg + '\n'
|
||||||
self.prematureExit(True)
|
self.prematureExit(True)
|
||||||
return CONST.ENB_PROCESS_SLAVE_RRU_NOT_SYNCED
|
global_status = CONST.ENB_PROCESS_SLAVE_RRU_NOT_SYNCED
|
||||||
if foundSegFault:
|
if foundSegFault:
|
||||||
logging.debug('\u001B[1;37;41m ' + nodeB_prefix + 'NB ended with a Segmentation Fault! \u001B[0m')
|
logging.debug('\u001B[1;37;41m ' + nodeB_prefix + 'NB ended with a Segmentation Fault! \u001B[0m')
|
||||||
if self.htmlObj is not None:
|
global_status = CONST.ENB_PROCESS_SEG_FAULT
|
||||||
self.htmlObj.SetHmleNBFailureMsg(htmleNBFailureMsg)
|
|
||||||
return CONST.ENB_PROCESS_SEG_FAULT
|
|
||||||
if foundAssertion:
|
if foundAssertion:
|
||||||
logging.debug('\u001B[1;37;41m ' + nodeB_prefix + 'NB ended with an assertion! \u001B[0m')
|
logging.debug('\u001B[1;37;41m ' + nodeB_prefix + 'NB ended with an assertion! \u001B[0m')
|
||||||
htmleNBFailureMsg += msgAssertion
|
htmleNBFailureMsg += msgAssertion
|
||||||
if self.htmlObj is not None:
|
global_status = CONST.ENB_PROCESS_ASSERTION
|
||||||
self.htmlObj.SetHmleNBFailureMsg(htmleNBFailureMsg)
|
|
||||||
return CONST.ENB_PROCESS_ASSERTION
|
|
||||||
if foundRealTimeIssue:
|
if foundRealTimeIssue:
|
||||||
logging.debug('\u001B[1;37;41m ' + nodeB_prefix + 'NB faced real time issues! \u001B[0m')
|
logging.debug('\u001B[1;37;41m ' + nodeB_prefix + 'NB faced real time issues! \u001B[0m')
|
||||||
htmleNBFailureMsg += nodeB_prefix + 'NB faced real time issues!\n'
|
htmleNBFailureMsg += nodeB_prefix + 'NB faced real time issues!\n'
|
||||||
#return CONST.ENB_PROCESS_REALTIME_ISSUE
|
|
||||||
if rlcDiscardBuffer > 0:
|
if rlcDiscardBuffer > 0:
|
||||||
rlcMsg = nodeB_prefix + 'NB RLC discarded ' + str(rlcDiscardBuffer) + ' buffer(s)'
|
rlcMsg = nodeB_prefix + 'NB RLC discarded ' + str(rlcDiscardBuffer) + ' buffer(s)'
|
||||||
logging.debug('\u001B[1;37;41m ' + rlcMsg + ' \u001B[0m')
|
logging.debug('\u001B[1;37;41m ' + rlcMsg + ' \u001B[0m')
|
||||||
htmleNBFailureMsg += rlcMsg + '\n'
|
htmleNBFailureMsg += rlcMsg + '\n'
|
||||||
|
global_status = CONST.ENB_PROCESS_REALTIME_ISSUE
|
||||||
if self.htmlObj is not None:
|
if self.htmlObj is not None:
|
||||||
self.htmlObj.SetHmleNBFailureMsg(htmleNBFailureMsg)
|
self.htmlObj.SetHmleNBFailureMsg(htmleNBFailureMsg)
|
||||||
return CONST.ENB_PROCESS_REALTIME_ISSUE
|
return global_status
|
||||||
if self.htmlObj is not None:
|
|
||||||
self.htmlObj.SetHmleNBFailureMsg(htmleNBFailureMsg)
|
|
||||||
return 0
|
|
||||||
|
|||||||
Reference in New Issue
Block a user