fix hang issue when execute empty test set
authorchengtao.liu <chengtaox.liu@intel.com>
Mon, 7 Jul 2014 10:47:41 +0000 (18:47 +0800)
committerchengtao.liu <chengtaox.liu@intel.com>
Mon, 7 Jul 2014 10:47:41 +0000 (18:47 +0800)
testkitlite/engines/default.py
testkitlite/util/session.py

index acd8fc6172ba40469a45617cd7a5e2c5edfcfd35..43cbcfa483d9afc703a23d5960b0d5faa2905d91 100644 (file)
@@ -172,7 +172,6 @@ def _web_test_exec(conn, server_url, test_web_app, exetype, cases_queue, result_
     exetype = exetype.lower()
     test_set_finished = False
     err_cnt = 0
-    relaunch_cnt = 0
     for test_group in cases_queue:
         if test_set_finished:
             break
@@ -218,10 +217,9 @@ def _web_test_exec(conn, server_url, test_web_app, exetype, cases_queue, result_
                         result_obj.set_status(1)
                         break
                     elif error_code == BLOCK_ERROR:
-                        relaunch_cnt = 0
+                        LOGGER.error("[ ERROR: test case block issue! ]")
                 else:
                     err_cnt = 0
-                    relaunch_cnt = 0
 
                 if result_cases is not None and len(result_cases):
                     result_obj.extend_result(result_cases)
@@ -475,14 +473,15 @@ class TestWorker(object):
         if not "cases" in test_set:
             return False
 
+        cases, exetype, ctype = test_set[
+            "cases"], test_set["exetype"], test_set["type"]
+        if len(cases) == 0:
+            return False
         # start debug trace thread
         self.conn.start_debug(self.opts['debug_log_base'])
         time.sleep(1)
-
         self.result_obj = TestSetResut(
             self.opts['testsuite_name'], self.opts['testset_name'])
-        cases, exetype, ctype = test_set[
-            "cases"], test_set["exetype"], test_set["type"]
         if self.opts['test_type'] == "webapi":
             return self.__run_web_test(sessionid, self.opts['testset_name'], exetype, ctype, cases)
         elif self.opts['test_type'] == "coreapi":
index 9ee0c682520bae4bb96c5fd1e6caed13df011565..089fca922f8b1464510f4d40cce0f0bad71dce07 100644 (file)
@@ -364,8 +364,10 @@ class TestSession:
                 if not init_status:
                     continue
                 # send set JSON Data to com_module
-                self.testworker.run_test(
+                b_ret = self.testworker.run_test(
                     self.session_id, self.set_parameters)
+                if not b_ret:
+                    continue
                 while True:
                     time.sleep(1)
                     # check the test status ,if the set finished,get