PlatSim_Genova/TestEnvironment/env/test_common_function.py
2026-01-30 16:38:33 +01:00

79 lines
2.1 KiB
Python

import logging
import re
from leo_grifo_io_box import theBrainBox
from leo_grifo_common import *
import builtins
from datetime import datetime
from leo_grifo_test_report import testReport
def exit_due_to_critical_error(session_name, reason='Fatal error found !!!',elapsed_time=0):
logging.error(f'*** ERROR *** {reason}. Exit ...')
close_session(session_name)
generate_pdf_report('',elapsed_time)
exit(-1)
def try_num(n: AnyStr) -> object:
try:
f = float(n)
except Exception:
return n
return f
def get_test_name(file):
base = os.path.basename(file)
return base[:base.rfind('.')]
### ----- power utilities -----------------------------
def power_grifo_on(wait_after=0):
setValue(theBrainBox,True,'MAIN_POWER')
ret,err = check(theBrainBox,1,'MAIN_POWER')
time.sleep(wait_after)
return ret
def power_grifo_off(wait_after=0):
setValue(theBrainBox,False,'MAIN_POWER')
ret,err = check(theBrainBox,0,'MAIN_POWER',timeout=0.1)
time.sleep(wait_after)
return ret
def startTest():
now = datetime.now()
add_text_log(f"Start Time: {now}")
return now
def stopTest():
now = datetime.now()
add_text_log(f"Stop Time: {now}")
return now
def startTime():
start_time = datetime.now()
return start_time
def stopTime():
stop_time = datetime.now()
return stop_time
def verifyTimingReq(start_time, stop_time, expected_time):
common_desc = 'Check the start-up within {} seconds'.format(expected_time)
expected = None
error_desc = ''
real_time = stop_time - start_time
real_time = real_time.total_seconds()
logging.info(common_desc)
if real_time <= expected_time:
logging.info('OK: execution time = {} seconds'.format(real_time))
theRecorder.add_step(common_desc, True, None, '{}'.format(real_time))
else:
error_desc = ' Execution Time = {} seconds is not the expected result'.format(real_time)
logging.error(error_desc)
theRecorder.add_step(common_desc, False, error_desc, '{}'.format(real_time))