OVMS3-idf/components/idf_test/unit_test/TestCaseScript/IDFUnitTest/UnitTest.py

51 lines
1.6 KiB
Python
Raw Normal View History

2016-11-01 11:30:42 +00:00
import re
import time
from TCAction import PerformanceTCBase
from TCAction import TCActionBase
from NativeLog import NativeLog
class UnitTest(PerformanceTCBase.PerformanceTCBase):
def __init__(self, name, test_env, cmd_set, timeout=30, log_path=TCActionBase.LOG_PATH):
PerformanceTCBase.PerformanceTCBase.__init__(self, name, test_env, cmd_set=cmd_set,
timeout=timeout, log_path=log_path)
2016-11-01 11:30:42 +00:00
self.test_case = None
2016-11-02 11:08:55 +00:00
self.test_timeout = 20
2016-11-01 11:30:42 +00:00
# load param from excel
for i in range(1, len(cmd_set)):
if cmd_set[i][0] != "dummy":
cmd_string = "self.test_case = " + "\"" + cmd_set[i][0] + "\""
2016-11-01 11:30:42 +00:00
exec cmd_string
self.result_cntx = TCActionBase.ResultCheckContext(self, test_env, self.tc_name)
pass
def send_commands(self):
self.flush_data("UT1")
2016-11-01 11:30:42 +00:00
try:
self.serial_write_line("UT1", "\"" + self.test_case + "\"")
2016-11-02 11:08:55 +00:00
data = ""
for _ in range(self.timeout):
time.sleep(1) #wait for test to run before reading result
data += self.serial_read_data("UT1")
if re.search('[^0].* Tests 0 F', data): #check that number of tests run != 0 and number of tests failed == 0
2016-11-02 12:54:22 +00:00
self.set_result("Succeed")
2016-11-02 11:41:33 +00:00
break
2016-11-01 11:30:42 +00:00
else:
2016-11-02 11:08:55 +00:00
self.set_result("Fail")
2016-11-01 11:30:42 +00:00
except StandardError,e:
NativeLog.add_exception_log(e)
2016-11-01 11:30:42 +00:00
def execute(self):
TCActionBase.TCActionBase.execute(self)
self.send_commands()
2016-11-01 11:30:42 +00:00
def main():
pass
if __name__ == '__main__':
pass