run_test.erb 969 字节
Newer Older
1
/*=======Test Runner Used To Run Each Test=====*/
2
static void run_test(UnityTestFunction func, const char* name, UNITY_LINE_TYPE line_num)
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
{
    Unity.CurrentTestName = name;
    Unity.CurrentTestLineNumber = line_num;
#ifdef UNITY_USE_COMMAND_LINE_ARGS
    if (!UnityTestMatches())
        return;
#endif
    Unity.NumberOfTests++;
    UNITY_CLR_DETAILS();
    UNITY_EXEC_TIME_START();
    CMock_Init();
    if (TEST_PROTECT())
    {
<% if @options[:plugins].include?(:cexception) %>
        CEXCEPTION_T e;
        Try {
            <%= @options[:setup_name] %>();
            func();
        } Catch(e) {
            TEST_ASSERT_EQUAL_HEX32_MESSAGE(CEXCEPTION_NONE, e, "Unhandled Exception!");
        }
24 25 26
<% else %>
        <%= @options[:setup_name] %>();
        func();
27 28 29 30 31 32 33 34 35 36 37
<% end %>
    }
    if (TEST_PROTECT())
    {
        <%= @options[:teardown_name] %>();
        CMock_Verify();
    }
    CMock_Destroy();
    UNITY_EXEC_TIME_STOP();
    UnityConcludeTest();
}