Esempio n. 1
0
void UnityTestRunner(unityfunction * setup,
        unityTestfunction * body,
        unityTestfunction * teardown,
        const char * printableName,
        const char * group,
        const char * name,
        const char * file, int line, struct _Unity * const unity_p)
{
    if (testSelected(name, unity_p) && groupSelected(group, unity_p))
    {
        unity_p->CurrentTestFailed = 0;
        unity_p->TestFile = file;
        unity_p->CurrentTestName = printableName;
        unity_p->CurrentTestLineNumber = line;
        if (!unity_p->Verbose)
            UNITY_OUTPUT_CHAR('.');
        else
            UnityPrint(printableName, unity_p);

        unity_p->NumberOfTests++;
#if defined(UNITY_DYNAMIC_MEM_DEBUG)
        UnityMalloc_StartTest();
#endif
#if defined(UNITY_CPP_UNIT_COMPAT)
        UnityPointer_Init(unity_p);
#endif 
        runTestCase(unity_p);
        /* remember setup has failed - skip teardown if so*/
        bool hasSetupFailed = false;
        if (TEST_PROTECT())
        {
            setup(unity_p);
            /*DX_PATCH for jumpless version. If setup failed don't perform the test*/
            if (!unity_p->CurrentTestFailed) 
            {
                body(unity_p->testLocalStorage, unity_p);
            }
            else
            {
                hasSetupFailed  = true;
            }
        }
        if (TEST_PROTECT() && !hasSetupFailed )
        {
            teardown(unity_p->testLocalStorage, unity_p);
        }
        if (TEST_PROTECT())
        {
#if defined(UNITY_CPP_UNIT_COMPAT)
            UnityPointer_UndoAllSets(unity_p);
#endif
#if defined(UNITY_DYNAMIC_MEM_DEBUG)
            if (!unity_p->CurrentTestFailed)
                UnityMalloc_EndTest(unity_p);
#endif
        }
        UnityConcludeFixtureTest(unity_p);
    }
}
Esempio n. 2
0
/******************************************************************************/
void tearDown(void)
{
}

///******************************************************************************/
static void runTest(UnityTestFunction test)
{
    if (TEST_PROTECT()) {
        setUp();
        test();
    }
    if (TEST_PROTECT() && !TEST_IS_IGNORED) {
        tearDown();
    }
}
Esempio n. 3
0
void UnityTestRunner(unityfunction* setup,
                     unityfunction* testBody,
                     unityfunction* teardown,
                     const char* printableName,
                     const char* group,
                     const char* name,
                     const char* file,
                     unsigned int line)
{
    if (testSelected(name) && groupSelected(group))
    {
        Unity.TestFile = file;
        Unity.CurrentTestName = printableName;
        Unity.CurrentTestLineNumber = line;
        if (!UnityFixture.Verbose)
            UNITY_OUTPUT_CHAR('.');
        else
        {
            UnityPrint(printableName);
        #ifndef UNITY_REPEAT_TEST_NAME
            Unity.CurrentTestName = NULL;
        #endif
        }

        Unity.NumberOfTests++;
        UnityMalloc_StartTest();
        UnityPointer_Init();

        UNITY_EXEC_TIME_START();

        if (TEST_PROTECT())
        {
            setup();
            testBody();
        }
        if (TEST_PROTECT())
        {
            teardown();
        }
        if (TEST_PROTECT())
        {
            UnityPointer_UndoAllSets();
            if (!Unity.CurrentTestFailed)
                UnityMalloc_EndTest();
        }
        UnityConcludeFixtureTest();
    }
}
Esempio n. 4
0
void UnityTestRunner(unityfunction* setup,
        unityfunction* testBody,
        unityfunction* teardown,
        const char * printableName,
        const char * group,
        const char * name,
        const char * file, int line)
{
    if (testSelected(name) && groupSelected(group))
    {
        Unity.CurrentTestFailed = 0;
        Unity.TestFile = file;
        Unity.CurrentTestName = printableName;
        Unity.CurrentTestLineNumber = line;
        if (!UnityFixture.Verbose)
            UNITY_OUTPUT_CHAR('.');
        else
            UnityPrint(printableName);

        Unity.NumberOfTests++;
        UnityMalloc_StartTest();
        UnityPointer_Init();

        runTestCase();
        if (TEST_PROTECT())
        {
            setup();
            testBody();
        }
        if (TEST_PROTECT())
        {
            teardown();
        }
        if (TEST_PROTECT())
        {
            UnityPointer_UndoAllSets();
            if (!Unity.CurrentTestFailed)
                UnityMalloc_EndTest();
            UnityConcludeFixtureTest();
        }
        else
        {
            //aborting - jwg - di i need these for the other TEST_PROTECTS?
        }
    }
}
Esempio n. 5
0
void testProtection(void)
{
    volatile int mask = 0;

    if (TEST_PROTECT())
    {
        mask |= 1;
        TEST_ABORT();
    }
    else
    {
        Unity.CurrentTestFailed = 0;
        mask |= 2;
    }

    TEST_ASSERT_EQUAL(3, mask);
}