84 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			84 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| //- 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/core/unity.h"
 | |
| #include "../../unity/core/unity_internals.h"
 | |
| #include "../../unity/fixture/unity_fixture_internals.h"
 | |
| #include "../../unity/fixture/unity_fixture_malloc_overrides.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) void TEST_##group##_SETUP(void);\
 | |
|     void TEST_##group##_SETUP(void)
 | |
| 
 | |
| #define TEST_TEAR_DOWN(group) void TEST_##group##_TEAR_DOWN(void);\
 | |
|     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 RUN_TEST_CASE(group, name) \
 | |
|     { void TEST_##group##_##name##_run(void);\
 | |
|       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_ */
 |