summaryrefslogtreecommitdiff
path: root/deps/Unity/auto/run_test.erb
blob: 68b33730a405f8fe7ce448f79cdcc3b230cad2f4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/*=======Test Runner Used To Run Each Test=====*/
static void run_test(UnityTestFunction func, const char* name, UNITY_LINE_TYPE line_num)
{
    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) %>
        volatile CEXCEPTION_T e;
        Try {
            <%= @options[:setup_name] %>();
            func();
        } Catch(e) {
            TEST_ASSERT_EQUAL_HEX32_MESSAGE(CEXCEPTION_NONE, e, "Unhandled Exception!");
        }
<% else %>
        <%= @options[:setup_name] %>();
        func();
<% end %>
    }
    if (TEST_PROTECT())
    {
        <%= @options[:teardown_name] %>();
        CMock_Verify();
    }
    CMock_Destroy();
    UNITY_EXEC_TIME_STOP();
    UnityConcludeTest();
}