浏览代码

TC: clear the TC_STAT_RUNNING flag when tc forgot to do so

TCs are supposed to exit with the TC_STAT_RUNNING cleared. If it forgot
to do this, do it by ourselves.
Grissiom 11 年之前
父节点
当前提交
bf640015e6
共有 1 个文件被更改,包括 9 次插入0 次删除
  1. 9 0
      examples/kernel/tc_comm.c

+ 9 - 0
examples/kernel/tc_comm.c

@@ -52,6 +52,15 @@ void tc_thread_entry(void* parameter)
                     _tc_cleanup = RT_NULL;
                 }
 
+                if (_tc_stat & TC_STAT_RUNNING)
+                {
+                    rt_kprintf("TestCase[%s] exit with stat TC_STAT_RUNNING."
+                               " Please fix the TC.\n",
+                               _tc_current);
+                    /* If the TC forgot to clear the flag, we do it. */
+                    _tc_stat &= ~TC_STAT_RUNNING;
+                }
+
                 if (_tc_stat & TC_STAT_FAILED)
                     rt_kprintf("TestCase[%s] failed\n", _tc_current);
                 else