Index: shared/scripts/configuration/utility.py =================================================================== diff -u -rc5452bef60ff6c8703bec2675bf726132a79e5dd -r517be87a624e12b2529479481a5cc2825e0827ec --- shared/scripts/configuration/utility.py (.../utility.py) (revision c5452bef60ff6c8703bec2675bf726132a79e5dd) +++ shared/scripts/configuration/utility.py (.../utility.py) (revision 517be87a624e12b2529479481a5cc2825e0827ec) @@ -152,9 +152,6 @@ """ This function is the handler for getting file from log folder. - This handler will go inside log folder and looks for newly added log based on current time. - if it satisfied that condition, it will return the exact path of newly created log. - Application log file is automatically created on '/home/denali/Desktop/sd-card/log/ {current_date}_denaliSquish.log' @return latest_file - (string) returns latest file that append on log folder from sd-data @@ -165,6 +162,21 @@ return latest_file except: return False + +def get_extracted_error_file(): + """ + This function is the handler for getting error file from service folder. + + Application log file is automatically created on '/home/denali/Desktop/sd-card/service/ {current_date}_denaliSquish.err ' + + @return latest_file - (string) returns latest file that append on log folder from service + """ + try: + current_date = get_current_date_and_time(date_format = "%Y_%m_%d") + latest_file = '/home/denali/Desktop/sd-card/service/'+current_date+'_denaliSquish.err' + return latest_file + except: + return False def get_message_from_log(file_name, message_text): @@ -242,7 +254,6 @@ first_two_char = string_format_id[2:4] last_two_char = string_format_id[4:6] if last_two_char != '00' and len(string_format_id) != 5: - test.log(str(('0x'+last_two_char+first_two_char))) return row[3], row[4], ('0x'+last_two_char+first_two_char) else: return row[3], row[4], string_format_id.replace("00", "") Index: tst_unhandled_message_log/test.py =================================================================== diff -u -rc5452bef60ff6c8703bec2675bf726132a79e5dd -r517be87a624e12b2529479481a5cc2825e0827ec --- tst_unhandled_message_log/test.py (.../test.py) (revision c5452bef60ff6c8703bec2675bf726132a79e5dd) +++ tst_unhandled_message_log/test.py (.../test.py) (revision 517be87a624e12b2529479481a5cc2825e0827ec) @@ -8,118 +8,96 @@ # # file tst_inhandled_message_log # date 2022/04/09 -# author +# author sai chaithyna ela, +# joseph varghese # # NOTE: # This test verifies the unhandled logs for the messages provided -import os from dialin.ui.hd_simulator import HDSimulator -#from dialin.dg import DGSimulator from dialin.ui import utils from configuration import utility from configuration import config -import builtins -from dialin.common.msg_ids import MsgIds -from dialin.common import msg_defs - hd_simulator = HDSimulator() +UNHANDLED_MESSAGE_1 = "\n[0x2A00]\nHD_custom_data_verification_1\nU32=Reset\nU32=Health\n" +UNHANDLED_MESSAGE_2 = "\n[0x1300]\nHD_custom_data_verification_2\nU32=Reset_1\nU32=Reset_2\nU32=Reset_3\nU32=Reset_4\n" +UNHANDLED_MESSAGE_3 = "\n[0x8C00]\nHD_custom_data_verification_3\nU32=Reset\nU32=Seconds\n" +UNHANDLED_MESSAGE_4 = "\n[0x9F00]\nHD_custom_data_verification_4\nU32=Reset\nU32=Seconds\n" -def verify_log(msg_id,msg = None, param = None): +def verify_log(api_content, expected_api_argument): + """ + This function is capable to verify the log data from sd-card + + @param api_content - (string) combination of message id, message text and arguments separated with '\n' + @param expected_api_argument - (list) expected arguments for API. + """ + utils.waitForGUI(0.2) - ack = False - if not msg_id in msg_defs.ACK_NOT_REQUIRED: - ack = True - message_extracted = utility.get_current_log_details(message_ack = ack, message_text = msg) + api_content = api_content.split('\n') + test.log(str(api_content[2])) + message_extracted = utility.get_current_log_details(message_ack = True, message_text = '~'+api_content[2]) test.log(str(message_extracted)) - if ack == True: - test.verify(config.ACK_REQ_STATUS in message_extracted, "ack request is verified") - test.verify(config.ACK_BAK_STATUS in message_extracted, "ack back is verified") - message_id_hex = builtins.hex(builtins.int(msg_id)) - message_id_str = builtins.str(message_id_hex) - test.verify(message_id_str in message_extracted, "message ID is verified") - if param != None: - test.verify(param in message_extracted, "parameters are verified") - -UNHANDLED_MESSAGE_1 = "\n[0x7234]\nHDDDDDDDDD\nU32=Audio Volume\nF32=Audio Current HG\n" - #['F32=Audio Current LG'], ['F32=Backup Audio Current'], ['U32=Safety Shutdown']] -#UNHANDLED_MESSAGE_2 = - - - + + #loop to remove default arguments present in API, here it is '?' + while('?' in message_extracted[0]): + message_extracted[0].remove('?') + + #step to remove square bracket and padded zeros from standard UNHANDLED_MESSAGE format. + formated_meassage_id = api_content[1].replace('[', "") + formated_meassage_id = formated_meassage_id.replace(']', "") + if formated_meassage_id[-2:] == '00' and len(formated_meassage_id) == 6: + expected_meassage_id = formated_meassage_id.replace("00", "") + + test.compare(expected_meassage_id.lower(), message_extracted[2], "message id should be "+str(api_content[1])) + test.compare(str(expected_api_argument), str(message_extracted[0]), "API arguments should be "+str(expected_api_argument)) + test.verify(config.ACK_REQ_STATUS in message_extracted, "ack request is verified") + test.verify(config.ACK_BAK_STATUS in message_extracted, "ack back is verified") + + def navigate_unhandled_message(): - + location = '/home/denali/Projects/application/resources/settings/Messages/Unhandled.conf' with open(location, "a") as filereader: - filereader.write(UNHANDLED_MESSAGE_1) - snooze(5) + filereader.write(UNHANDLED_MESSAGE_1) + filereader.write(UNHANDLED_MESSAGE_2) + filereader.write(UNHANDLED_MESSAGE_3) + filereader.write(UNHANDLED_MESSAGE_4) + utils.waitForGUI(5) - def main(): - startApplication("denaliSquish") navigate_unhandled_message() - ''' - cd "$HOME"/opt/spacelabs/Monitor/MCISIM/LaunchScrptFiles + startApplication("denaliSquish") + #0x2A00 + hd_simulator.cmd_send_hd_general_response(message_id = 42, accepted = 1, reason = 1) + verify_log(UNHANDLED_MESSAGE_1, [1, 1]) - snooze(5) + #0x9 + hd_simulator.cmd_send_hd_general_response(message_id = 19, accepted = 1, reason = 1) + #verify_log(UNHANDLED_MESSAGE_2) - shell_script (compling application) - log v/s dic + #0x8C00 + hd_simulator.cmd_send_hd_general_response(message_id = 140, accepted = 0, reason = 0) + verify_log(UNHANDLED_MESSAGE_3, [0, 0]) - #0x7D00 - alarm._send_alarm_volume_broadcast() - verify_log(msg_id = MsgIds.MSG_ID_HD_ALARM_INFORMATION.value, msg = '~HD_Alarm_Information', param = [5,1,1,1,'?']) - ''' - #0x0A00 - hd_simulator.cmd_send_hd_general_response(message_id = 29236, accepted = 1, reason = 1) - verify_log(msg_id = MsgIds.MSG_ID_RTC_EPOCH.value, msg = '~HD_RTC_Epoch_Data', param = [1]) - ''' - #0x2100 - hd_simulator.cmd_send_hd_general_response(message_id = 33, accepted = 1, reason = 1) - verify_log(msg_id = MsgIds.MSG_ID_DG_SWITCH_RESERVOIR_CMD.value, msg = '~DG_Switch_Res_Cmd', param = [1]) + #0x9F00 + hd_simulator.cmd_send_hd_general_response(message_id = 159, accepted = 0, reason = 1) + verify_log(UNHANDLED_MESSAGE_4, [0, 1]) - #0x0080 - hd_simulator.cmd_send_hd_general_response(message_id = 640, accepted = 1, reason = 1) - #verify_log(msg_id = MsgIds.MSG_ID_HD_ALARM_INFORMATION.value, msg = '~HD_Alarm_Information', param = [5,1,1,1,'?']) - - """ - hd_simulator.cmd_send_hd_general_response(message_id = 10, accepted = 1, reason = 1) - verify_log(msg_id = MsgIds.MSG_ID_HD_ALARM_INFORMATION.value, msg = '~HD_Alarm_Information', param = [5,1,1,1,'?']) - hd_simulator.cmd_send_hd_general_response(message_id = 33, accepted = 1, reason = 1) - verify_log(msg_id = MsgIds.MSG_ID_HD_ALARM_INFORMATION.value, msg = '~HD_Alarm_Information', param = [5,1,1,1,'?']) + utils.tstDone() - hd_simulator.cmd_send_hd_general_response(message_id = 33, accepted = 1, reason = 1) - verify_log(msg_id = MsgIds.MSG_ID_HD_ALARM_INFORMATION.value, msg = '~HD_Alarm_Information', param = [5,1,1,1,'?']) - - #reservoirs.cmd_switch_reservoirs(reservoir = 1) - snooze(5) - #valves = HDValves(can_interface=messenger, logger=logger) - - #rtc.cmd_set_rtc_time_and_date(second = 25, minute = 30, hour = 2, day = 5, month = 5, year = 2015) - ''' - - snooze(5) - - - - - - - -