//- Copyright (c) 2010 James Grenning and Contributed to Unity Project /* ========================================== Unity Project - A Test Framework for C Copyright (c) 2007 Mike Karlesky, Mark VanderVoord, Greg Williams [Released under MIT License. Please refer to license.txt for details] ========================================== */ #ifndef UNITY_FIXTURE_H_ #define UNITY_FIXTURE_H_ #include "unity.h" #include "unity_internals.h" #include "unity_fixture_malloc_overrides.h" #include "unity_fixture_internals.h" int UnityMain(int argc, const char* argv[], void (*runAllTests)(void)); #define TEST_GROUP(group) \ static const char* TEST_GROUP_ ## group = # group #define TEST_SETUP(group) static void TEST_ ## group ## _SETUP(void); \ static void TEST_ ## group ## _SETUP(void) #define TEST_TEAR_DOWN(group) static void TEST_ ## group ## _TEAR_DOWN(void); \ static void TEST_ ## group ## _TEAR_DOWN(void) #define TEST(group, name) \ void TEST_ ## group ## _ ## name ## _(void); \ void TEST_ ## group ## _ ## name ## _run(void); \ void TEST_ ## group ## _ ## name ## _run(void) \ { \ UnityTestRunner(TEST_ ## group ## _SETUP, \ TEST_ ## group ## _ ## name ## _, \ TEST_ ## group ## _TEAR_DOWN, \ "TEST(" # group ", " # name ")", \ TEST_GROUP_ ## group, # name, \ __FILE__, __LINE__); \ } \ void TEST_ ## group ## _ ## name ## _(void) #define IGNORE_TEST(group, name) \ void TEST_ ## group ## _ ## name ## _(void); \ void TEST_ ## group ## _ ## name ## _run(void); \ void TEST_ ## group ## _ ## name ## _run(void) \ { \ UnityIgnoreTest("IGNORE_TEST(" # group ", " # name ")", TEST_GROUP_ ## group, # name); \ } \ void TEST_ ## group ## _ ## name ## _(void) #define DECLARE_TEST_CASE(group, name) \ void TEST_ ## group ## _ ## name ## _run(void) #define RUN_TEST_CASE(group, name) \ { DECLARE_TEST_CASE(group, name); \ TEST_ ## group ## _ ## name ## _run(); } //This goes at the bottom of each test file or in a separate c file #define TEST_GROUP_RUNNER(group) \ void TEST_ ## group ## _GROUP_RUNNER_runAll(void); \ void TEST_ ## group ## _GROUP_RUNNER(void); \ void TEST_ ## group ## _GROUP_RUNNER(void) \ { \ TEST_ ## group ## _GROUP_RUNNER_runAll(); \ } \ void TEST_ ## group ## _GROUP_RUNNER_runAll(void) //Call this from main #define RUN_TEST_GROUP(group) \ { void TEST_ ## group ## _GROUP_RUNNER(void); \ TEST_ ## group ## _GROUP_RUNNER(); } //CppUTest Compatibility Macros #define UT_PTR_SET(ptr, newPointerValue) UnityPointer_Set((void**)&ptr, (void*)newPointerValue) #define TEST_ASSERT_POINTERS_EQUAL(expected, actual) TEST_ASSERT_EQUAL_PTR(expected, actual) #define TEST_ASSERT_BYTES_EQUAL(expected, actual) TEST_ASSERT_EQUAL_HEX8(0xff & (expected), 0xff & (actual)) #define FAIL(message) TEST_FAIL_MESSAGE((message)) #define CHECK(condition) TEST_ASSERT_TRUE((condition)) #define LONGS_EQUAL(expected, actual) TEST_ASSERT_EQUAL_INT((expected), (actual)) #define STRCMP_EQUAL(expected, actual) TEST_ASSERT_EQUAL_STRING((expected), (actual)) #define DOUBLES_EQUAL(expected, actual, delta) TEST_ASSERT_FLOAT_WITHIN (((expected), (actual), (delta)) void UnityMalloc_MakeMallocFailAfterCount(int count); #endif /* UNITY_FIXTURE_H_ */