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) self.test_case = None self.test_timeout = 20 # 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] + "\"" exec cmd_string self.result_cntx = TCActionBase.ResultCheckContext(self, test_env, self.tc_name) pass def send_commands(self): self.flush_data("UT1") try: self.serial_write_line("UT1", "\"" + self.test_case + "\"") 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 self.set_result("Succeed") break else: self.set_result("Fail") except StandardError,e: NativeLog.add_exception_log(e) def execute(self): TCActionBase.TCActionBase.execute(self) self.send_commands() def main(): pass if __name__ == '__main__': pass