Marco Zecchini
/
Example_RTOS
Rtos API example
Embed:
(wiki syntax)
Show/hide line numbers
unity_internals.h
00001 00002 /** \addtogroup frameworks */ 00003 /** @{*/ 00004 /* ========================================== 00005 Unity Project - A Test Framework for C 00006 Copyright (c) 2007-14 Mike Karlesky, Mark VanderVoord, Greg Williams 00007 [Released under MIT License. Please refer to license.txt for details] 00008 ========================================== */ 00009 00010 #ifndef UNITY_INTERNALS_H 00011 #define UNITY_INTERNALS_H 00012 00013 #ifdef UNITY_INCLUDE_CONFIG_H 00014 #include "unity_config.h" 00015 #endif 00016 00017 #include <setjmp.h> 00018 00019 /* Unity Attempts to Auto-Detect Integer Types 00020 * Attempt 1: UINT_MAX, ULONG_MAX, etc in <stdint.h> 00021 * Attempt 2: UINT_MAX, ULONG_MAX, etc in <limits.h> 00022 * Attempt 3: Deduced from sizeof() macros */ 00023 #ifndef UNITY_EXCLUDE_STDINT_H 00024 #include <stdint.h> 00025 #endif 00026 00027 #ifndef UNITY_EXCLUDE_LIMITS_H 00028 #include <limits.h> 00029 #endif 00030 00031 #ifndef UNITY_EXCLUDE_SIZEOF 00032 #ifndef UINT_MAX 00033 #define UINT_MAX (sizeof(unsigned int) * 256 - 1) 00034 #endif 00035 #ifndef ULONG_MAX 00036 #define ULONG_MAX (sizeof(unsigned long) * 256 - 1) 00037 #endif 00038 #ifndef UINTPTR_MAX 00039 /* apparently this is not a constant expression: (sizeof(unsigned int *) * 256 - 1) so we have to just let this fall through */ 00040 #endif 00041 #endif 00042 00043 #ifndef UNITY_EXCLUDE_MATH_H 00044 #include <math.h> 00045 #endif 00046 00047 /*------------------------------------------------------- 00048 * Guess Widths If Not Specified 00049 *-------------------------------------------------------*/ 00050 00051 /* Determine the size of an int, if not already specificied. 00052 * We cannot use sizeof(int), because it is not yet defined 00053 * at this stage in the trnslation of the C program. 00054 * Therefore, infer it from UINT_MAX if possible. */ 00055 #ifndef UNITY_INT_WIDTH 00056 #ifdef UINT_MAX 00057 #if (UINT_MAX == 0xFFFF) 00058 #define UNITY_INT_WIDTH (16) 00059 #elif (UINT_MAX == 0xFFFFFFFF) 00060 #define UNITY_INT_WIDTH (32) 00061 #elif (UINT_MAX == 0xFFFFFFFFFFFFFFFF) 00062 #define UNITY_INT_WIDTH (64) 00063 #endif 00064 #endif 00065 #endif 00066 #ifndef UNITY_INT_WIDTH 00067 #define UNITY_INT_WIDTH (32) 00068 #endif 00069 00070 /* Determine the size of a long, if not already specified, 00071 * by following the process used above to define 00072 * UNITY_INT_WIDTH. */ 00073 #ifndef UNITY_LONG_WIDTH 00074 #ifdef ULONG_MAX 00075 #if (ULONG_MAX == 0xFFFF) 00076 #define UNITY_LONG_WIDTH (16) 00077 #elif (ULONG_MAX == 0xFFFFFFFF) 00078 #define UNITY_LONG_WIDTH (32) 00079 #elif (ULONG_MAX == 0xFFFFFFFFFFFFFFFF) 00080 #define UNITY_LONG_WIDTH (64) 00081 #endif 00082 #endif 00083 #endif 00084 #ifndef UNITY_LONG_WIDTH 00085 #define UNITY_LONG_WIDTH (32) 00086 #endif 00087 00088 /* Determine the size of a pointer, if not already specified, 00089 * by following the process used above to define 00090 * UNITY_INT_WIDTH. */ 00091 #ifndef UNITY_POINTER_WIDTH 00092 #ifdef UINTPTR_MAX 00093 #if (UINTPTR_MAX+0 <= 0xFFFF) 00094 #define UNITY_POINTER_WIDTH (16) 00095 #elif (UINTPTR_MAX+0 <= 0xFFFFFFFF) 00096 #define UNITY_POINTER_WIDTH (32) 00097 #elif (UINTPTR_MAX+0 <= 0xFFFFFFFFFFFFFFFF) 00098 #define UNITY_POINTER_WIDTH (64) 00099 #endif 00100 #endif 00101 #endif 00102 #ifndef UNITY_POINTER_WIDTH 00103 #ifdef INTPTR_MAX 00104 #if (INTPTR_MAX+0 <= 0x7FFF) 00105 #define UNITY_POINTER_WIDTH (16) 00106 #elif (INTPTR_MAX+0 <= 0x7FFFFFFF) 00107 #define UNITY_POINTER_WIDTH (32) 00108 #elif (INTPTR_MAX+0 <= 0x7FFFFFFFFFFFFFFF) 00109 #define UNITY_POINTER_WIDTH (64) 00110 #endif 00111 #endif 00112 #endif 00113 #ifndef UNITY_POINTER_WIDTH 00114 #define UNITY_POINTER_WIDTH UNITY_LONG_WIDTH 00115 #endif 00116 00117 /*------------------------------------------------------- 00118 * Int Support (Define types based on detected sizes) 00119 *-------------------------------------------------------*/ 00120 00121 #if (UNITY_INT_WIDTH == 32) 00122 typedef unsigned char _UU8; 00123 typedef unsigned short _UU16; 00124 typedef unsigned int _UU32; 00125 typedef signed char _US8; 00126 typedef signed short _US16; 00127 typedef signed int _US32; 00128 #elif (UNITY_INT_WIDTH == 16) 00129 typedef unsigned char _UU8; 00130 typedef unsigned int _UU16; 00131 typedef unsigned long _UU32; 00132 typedef signed char _US8; 00133 typedef signed int _US16; 00134 typedef signed long _US32; 00135 #else 00136 #error Invalid UNITY_INT_WIDTH specified! (16 or 32 are supported) 00137 #endif 00138 00139 /*------------------------------------------------------- 00140 * 64-bit Support 00141 *-------------------------------------------------------*/ 00142 00143 #ifndef UNITY_SUPPORT_64 00144 #if UNITY_LONG_WIDTH > 32 00145 #define UNITY_SUPPORT_64 00146 #endif 00147 #endif 00148 #ifndef UNITY_SUPPORT_64 00149 #if UNITY_POINTER_WIDTH > 32 00150 #define UNITY_SUPPORT_64 00151 #endif 00152 #endif 00153 00154 #ifndef UNITY_SUPPORT_64 00155 00156 /* No 64-bit Support */ 00157 typedef _UU32 _U_UINT; 00158 typedef _US32 _U_SINT; 00159 00160 #else 00161 00162 /* 64-bit Support */ 00163 #if (UNITY_LONG_WIDTH == 32) 00164 typedef unsigned long long _UU64; 00165 typedef signed long long _US64; 00166 #elif (UNITY_LONG_WIDTH == 64) 00167 typedef unsigned long _UU64; 00168 typedef signed long _US64; 00169 #else 00170 #error Invalid UNITY_LONG_WIDTH specified! (32 or 64 are supported) 00171 #endif 00172 typedef _UU64 _U_UINT; 00173 typedef _US64 _U_SINT; 00174 00175 #endif 00176 00177 /*------------------------------------------------------- 00178 * Pointer Support 00179 *-------------------------------------------------------*/ 00180 00181 #if (UNITY_POINTER_WIDTH == 32) 00182 typedef _UU32 _UP; 00183 #define UNITY_DISPLAY_STYLE_POINTER UNITY_DISPLAY_STYLE_HEX32 00184 #elif (UNITY_POINTER_WIDTH == 64) 00185 typedef _UU64 _UP; 00186 #define UNITY_DISPLAY_STYLE_POINTER UNITY_DISPLAY_STYLE_HEX64 00187 #elif (UNITY_POINTER_WIDTH == 16) 00188 typedef _UU16 _UP; 00189 #define UNITY_DISPLAY_STYLE_POINTER UNITY_DISPLAY_STYLE_HEX16 00190 #else 00191 #error Invalid UNITY_POINTER_WIDTH specified! (16, 32 or 64 are supported) 00192 #endif 00193 00194 #ifndef UNITY_PTR_ATTRIBUTE 00195 #define UNITY_PTR_ATTRIBUTE 00196 #endif 00197 00198 #ifndef UNITY_INTERNAL_PTR 00199 #define UNITY_INTERNAL_PTR UNITY_PTR_ATTRIBUTE const void* 00200 /* #define UNITY_INTERNAL_PTR UNITY_PTR_ATTRIBUTE const _UU8* */ 00201 #endif 00202 00203 /*------------------------------------------------------- 00204 * Float Support 00205 *-------------------------------------------------------*/ 00206 00207 #ifdef UNITY_EXCLUDE_FLOAT 00208 00209 /* No Floating Point Support */ 00210 #undef UNITY_INCLUDE_FLOAT 00211 #undef UNITY_FLOAT_PRECISION 00212 #undef UNITY_FLOAT_TYPE 00213 #undef UNITY_FLOAT_VERBOSE 00214 00215 #else 00216 00217 #ifndef UNITY_INCLUDE_FLOAT 00218 #define UNITY_INCLUDE_FLOAT 00219 #endif 00220 00221 /* Floating Point Support */ 00222 #ifndef UNITY_FLOAT_PRECISION 00223 #define UNITY_FLOAT_PRECISION (0.00001f) 00224 #endif 00225 #ifndef UNITY_FLOAT_TYPE 00226 #define UNITY_FLOAT_TYPE float 00227 #endif 00228 typedef UNITY_FLOAT_TYPE _UF; 00229 00230 #if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) 00231 #else 00232 00233 #ifndef isinf 00234 #define isinf(n) (((1.0f / f_zero) == n) ? 1 : 0) || (((-1.0f / f_zero) == n) ? 1 : 0) 00235 #define UNITY_FLOAT_NEEDS_ZERO 00236 #endif 00237 00238 #ifndef isnan 00239 #define isnan(n) ((n != n) ? 1 : 0) 00240 #endif 00241 00242 #endif /* ARMC6 */ 00243 00244 #ifndef isneg 00245 #define isneg(n) ((n < 0.0f) ? 1 : 0) 00246 #endif 00247 00248 #ifndef ispos 00249 #define ispos(n) ((n > 0.0f) ? 1 : 0) 00250 #endif 00251 00252 #endif 00253 00254 /*------------------------------------------------------- 00255 * Double Float Support 00256 *-------------------------------------------------------*/ 00257 00258 /* unlike FLOAT, we DON'T include by default */ 00259 #ifndef UNITY_EXCLUDE_DOUBLE 00260 #ifndef UNITY_INCLUDE_DOUBLE 00261 #define UNITY_EXCLUDE_DOUBLE 00262 #endif 00263 #endif 00264 00265 #ifdef UNITY_EXCLUDE_DOUBLE 00266 00267 /* No Floating Point Support */ 00268 #undef UNITY_DOUBLE_PRECISION 00269 #undef UNITY_DOUBLE_TYPE 00270 #undef UNITY_DOUBLE_VERBOSE 00271 00272 #ifdef UNITY_INCLUDE_DOUBLE 00273 #undef UNITY_INCLUDE_DOUBLE 00274 #endif 00275 00276 #else 00277 00278 /* Double Floating Point Support */ 00279 #ifndef UNITY_DOUBLE_PRECISION 00280 #define UNITY_DOUBLE_PRECISION (1e-12f) 00281 #endif 00282 #ifndef UNITY_DOUBLE_TYPE 00283 #define UNITY_DOUBLE_TYPE double 00284 #endif 00285 typedef UNITY_DOUBLE_TYPE _UD; 00286 00287 #endif 00288 00289 #ifdef UNITY_DOUBLE_VERBOSE 00290 #ifndef UNITY_FLOAT_VERBOSE 00291 #define UNITY_FLOAT_VERBOSE 00292 #endif 00293 #endif 00294 00295 /*------------------------------------------------------- 00296 * Output Method: stdout (DEFAULT) 00297 *-------------------------------------------------------*/ 00298 #ifndef UNITY_OUTPUT_CHAR 00299 /* Default to using putchar, which is defined in stdio.h */ 00300 #include <stdio.h> 00301 #define UNITY_OUTPUT_CHAR(a) (void)putchar(a) 00302 #else 00303 /* If defined as something else, make sure we declare it here so it's ready for use */ 00304 #ifndef UNITY_OMIT_OUTPUT_CHAR_HEADER_DECLARATION 00305 extern void UNITY_OUTPUT_CHAR(int); 00306 #endif 00307 #endif 00308 00309 #ifndef UNITY_OUTPUT_FLUSH 00310 /* Default to using putchar, which is defined in stdio.h */ 00311 #include <stdio.h> 00312 #define UNITY_OUTPUT_FLUSH() (void)fflush(stdout) 00313 #else 00314 /* If defined as something else, make sure we declare it here so it's ready for use */ 00315 #ifndef UNITY_OMIT_OUTPUT_FLUSH_HEADER_DECLARATION 00316 extern void UNITY_OUTPUT_FLUSH(void); 00317 #endif 00318 #endif 00319 00320 #ifndef UNITY_PRINT_EOL 00321 #define UNITY_PRINT_EOL() UNITY_OUTPUT_CHAR('\n') 00322 #endif 00323 00324 #ifndef UNITY_OUTPUT_START 00325 #define UNITY_OUTPUT_START() 00326 #endif 00327 00328 #ifndef UNITY_OUTPUT_COMPLETE 00329 #define UNITY_OUTPUT_COMPLETE() 00330 #endif 00331 00332 /*------------------------------------------------------- 00333 * Footprint 00334 *-------------------------------------------------------*/ 00335 00336 #ifndef UNITY_LINE_TYPE 00337 #define UNITY_LINE_TYPE _U_UINT 00338 #endif 00339 00340 #ifndef UNITY_COUNTER_TYPE 00341 #define UNITY_COUNTER_TYPE _U_UINT 00342 #endif 00343 00344 /*------------------------------------------------------- 00345 * Language Features Available 00346 *-------------------------------------------------------*/ 00347 #if !defined(UNITY_WEAK_ATTRIBUTE) && !defined(UNITY_WEAK_PRAGMA) 00348 # ifdef __GNUC__ /* includes clang */ 00349 # if !(defined(__WIN32__) && defined(__clang__)) 00350 # define UNITY_WEAK_ATTRIBUTE __attribute__((weak)) 00351 # endif 00352 # endif 00353 #endif 00354 00355 #ifdef UNITY_NO_WEAK 00356 # undef UNITY_WEAK_ATTRIBUTE 00357 # undef UNITY_WEAK_PRAGMA 00358 #endif 00359 00360 00361 /*------------------------------------------------------- 00362 * Internal Structs Needed 00363 *-------------------------------------------------------*/ 00364 00365 typedef void (*UnityTestFunction)(void); 00366 00367 #define UNITY_DISPLAY_RANGE_INT (0x10) 00368 #define UNITY_DISPLAY_RANGE_UINT (0x20) 00369 #define UNITY_DISPLAY_RANGE_HEX (0x40) 00370 #define UNITY_DISPLAY_RANGE_AUTO (0x80) 00371 00372 typedef enum 00373 { 00374 #if (UNITY_INT_WIDTH == 16) 00375 UNITY_DISPLAY_STYLE_INT = 2 + UNITY_DISPLAY_RANGE_INT + UNITY_DISPLAY_RANGE_AUTO, 00376 #elif (UNITY_INT_WIDTH == 32) 00377 UNITY_DISPLAY_STYLE_INT = 4 + UNITY_DISPLAY_RANGE_INT + UNITY_DISPLAY_RANGE_AUTO, 00378 #elif (UNITY_INT_WIDTH == 64) 00379 UNITY_DISPLAY_STYLE_INT = 8 + UNITY_DISPLAY_RANGE_INT + UNITY_DISPLAY_RANGE_AUTO, 00380 #endif 00381 UNITY_DISPLAY_STYLE_INT8 = 1 + UNITY_DISPLAY_RANGE_INT, 00382 UNITY_DISPLAY_STYLE_INT16 = 2 + UNITY_DISPLAY_RANGE_INT, 00383 UNITY_DISPLAY_STYLE_INT32 = 4 + UNITY_DISPLAY_RANGE_INT, 00384 #ifdef UNITY_SUPPORT_64 00385 UNITY_DISPLAY_STYLE_INT64 = 8 + UNITY_DISPLAY_RANGE_INT, 00386 #endif 00387 00388 #if (UNITY_INT_WIDTH == 16) 00389 UNITY_DISPLAY_STYLE_UINT = 2 + UNITY_DISPLAY_RANGE_UINT + UNITY_DISPLAY_RANGE_AUTO, 00390 #elif (UNITY_INT_WIDTH == 32) 00391 UNITY_DISPLAY_STYLE_UINT = 4 + UNITY_DISPLAY_RANGE_UINT + UNITY_DISPLAY_RANGE_AUTO, 00392 #elif (UNITY_INT_WIDTH == 64) 00393 UNITY_DISPLAY_STYLE_UINT = 8 + UNITY_DISPLAY_RANGE_UINT + UNITY_DISPLAY_RANGE_AUTO, 00394 #endif 00395 UNITY_DISPLAY_STYLE_UINT8 = 1 + UNITY_DISPLAY_RANGE_UINT, 00396 UNITY_DISPLAY_STYLE_UINT16 = 2 + UNITY_DISPLAY_RANGE_UINT, 00397 UNITY_DISPLAY_STYLE_UINT32 = 4 + UNITY_DISPLAY_RANGE_UINT, 00398 #ifdef UNITY_SUPPORT_64 00399 UNITY_DISPLAY_STYLE_UINT64 = 8 + UNITY_DISPLAY_RANGE_UINT, 00400 #endif 00401 UNITY_DISPLAY_STYLE_HEX8 = 1 + UNITY_DISPLAY_RANGE_HEX, 00402 UNITY_DISPLAY_STYLE_HEX16 = 2 + UNITY_DISPLAY_RANGE_HEX, 00403 UNITY_DISPLAY_STYLE_HEX32 = 4 + UNITY_DISPLAY_RANGE_HEX, 00404 #ifdef UNITY_SUPPORT_64 00405 UNITY_DISPLAY_STYLE_HEX64 = 8 + UNITY_DISPLAY_RANGE_HEX, 00406 #endif 00407 UNITY_DISPLAY_STYLE_UNKNOWN 00408 } UNITY_DISPLAY_STYLE_T; 00409 00410 #ifndef UNITY_EXCLUDE_FLOAT 00411 typedef enum _UNITY_FLOAT_TRAIT_T 00412 { 00413 UNITY_FLOAT_IS_NOT_INF = 0, 00414 UNITY_FLOAT_IS_INF, 00415 UNITY_FLOAT_IS_NOT_NEG_INF, 00416 UNITY_FLOAT_IS_NEG_INF, 00417 UNITY_FLOAT_IS_NOT_NAN, 00418 UNITY_FLOAT_IS_NAN, 00419 UNITY_FLOAT_IS_NOT_DET, 00420 UNITY_FLOAT_IS_DET, 00421 UNITY_FLOAT_INVALID_TRAIT 00422 } UNITY_FLOAT_TRAIT_T; 00423 #endif 00424 00425 struct _Unity 00426 { 00427 const char* TestFile; 00428 const char* CurrentTestName; 00429 #ifndef UNITY_EXCLUDE_DETAILS 00430 const char* CurrentDetail1; 00431 const char* CurrentDetail2; 00432 #endif 00433 UNITY_LINE_TYPE CurrentTestLineNumber; 00434 UNITY_COUNTER_TYPE NumberOfTests; 00435 UNITY_COUNTER_TYPE TestFailures; 00436 UNITY_COUNTER_TYPE TestIgnores; 00437 UNITY_COUNTER_TYPE CurrentTestFailed; 00438 UNITY_COUNTER_TYPE CurrentTestIgnored; 00439 jmp_buf AbortFrame; 00440 }; 00441 00442 extern struct _Unity Unity; 00443 00444 #ifdef __cplusplus 00445 extern "C" { 00446 #endif 00447 00448 /*------------------------------------------------------- 00449 * Test Suite Management 00450 *-------------------------------------------------------*/ 00451 00452 00453 void UnityBegin(const char* filename); 00454 int UnityEnd(void); 00455 void UnityConcludeTest(void); 00456 void UnityDefaultTestRun(UnityTestFunction Func, const char* FuncName, const int FuncLineNum); 00457 00458 /*------------------------------------------------------- 00459 * Details Support 00460 *-------------------------------------------------------*/ 00461 00462 #ifdef UNITY_EXCLUDE_DETAILS 00463 #define UNITY_CLR_DETAILS() 00464 #define UNITY_SET_DETAIL(d1) 00465 #define UNITY_SET_DETAILS(d1,d2) 00466 #else 00467 #define UNITY_CLR_DETAILS() { Unity.CurrentDetail1 = 0; Unity.CurrentDetail2 = 0; } 00468 #define UNITY_SET_DETAIL(d1) { Unity.CurrentDetail1 = d1; Unity.CurrentDetail2 = 0; } 00469 #define UNITY_SET_DETAILS(d1,d2) { Unity.CurrentDetail1 = d1; Unity.CurrentDetail2 = d2; } 00470 00471 #ifndef UNITY_DETAIL1_NAME 00472 #define UNITY_DETAIL1_NAME "Function" 00473 #endif 00474 00475 #ifndef UNITY_DETAIL2_NAME 00476 #define UNITY_DETAIL2_NAME "Argument" 00477 #endif 00478 #endif 00479 00480 /*------------------------------------------------------- 00481 * Test Output 00482 *-------------------------------------------------------*/ 00483 00484 void UnityPrint(const char* string); 00485 void UnityPrintMask(const _U_UINT mask, const _U_UINT number); 00486 void UnityPrintNumberByStyle(const _U_SINT number, const UNITY_DISPLAY_STYLE_T style); 00487 void UnityPrintNumber(const _U_SINT number); 00488 void UnityPrintNumberUnsigned(const _U_UINT number); 00489 void UnityPrintNumberHex(const _U_UINT number, const char nibbles); 00490 00491 #ifdef UNITY_FLOAT_VERBOSE 00492 void UnityPrintFloat(const _UF number); 00493 #endif 00494 00495 /*------------------------------------------------------- 00496 * Test Assertion Fuctions 00497 *------------------------------------------------------- 00498 * Use the macros below this section instead of calling 00499 * these directly. The macros have a consistent naming 00500 * convention and will pull in file and line information 00501 * for you. */ 00502 00503 void UnityAssertEqualNumber(const _U_SINT expected, 00504 const _U_SINT actual, 00505 const char* msg, 00506 const UNITY_LINE_TYPE lineNumber, 00507 const UNITY_DISPLAY_STYLE_T style); 00508 00509 void UnityAssertEqualIntArray(UNITY_INTERNAL_PTR expected, 00510 UNITY_INTERNAL_PTR actual, 00511 const _UU32 num_elements, 00512 const char* msg, 00513 const UNITY_LINE_TYPE lineNumber, 00514 const UNITY_DISPLAY_STYLE_T style); 00515 00516 void UnityAssertBits(const _U_SINT mask, 00517 const _U_SINT expected, 00518 const _U_SINT actual, 00519 const char* msg, 00520 const UNITY_LINE_TYPE lineNumber); 00521 00522 void UnityAssertEqualString(const char* expected, 00523 const char* actual, 00524 const char* msg, 00525 const UNITY_LINE_TYPE lineNumber); 00526 00527 void UnityAssertEqualStringLen(const char* expected, 00528 const char* actual, 00529 const _UU32 length, 00530 const char* msg, 00531 const UNITY_LINE_TYPE lineNumber); 00532 00533 void UnityAssertEqualStringArray( const char** expected, 00534 const char** actual, 00535 const _UU32 num_elements, 00536 const char* msg, 00537 const UNITY_LINE_TYPE lineNumber); 00538 00539 void UnityAssertEqualMemory( UNITY_INTERNAL_PTR expected, 00540 UNITY_INTERNAL_PTR actual, 00541 const _UU32 length, 00542 const _UU32 num_elements, 00543 const char* msg, 00544 const UNITY_LINE_TYPE lineNumber); 00545 00546 void UnityAssertNumbersWithin(const _U_UINT delta, 00547 const _U_SINT expected, 00548 const _U_SINT actual, 00549 const char* msg, 00550 const UNITY_LINE_TYPE lineNumber, 00551 const UNITY_DISPLAY_STYLE_T style); 00552 00553 void UnityFail(const char* message, const UNITY_LINE_TYPE line); 00554 00555 void UnityIgnore(const char* message, const UNITY_LINE_TYPE line); 00556 00557 #ifndef UNITY_EXCLUDE_FLOAT 00558 void UnityAssertFloatsWithin(const _UF delta, 00559 const _UF expected, 00560 const _UF actual, 00561 const char* msg, 00562 const UNITY_LINE_TYPE lineNumber); 00563 00564 void UnityAssertEqualFloatArray(UNITY_PTR_ATTRIBUTE const _UF* expected, 00565 UNITY_PTR_ATTRIBUTE const _UF* actual, 00566 const _UU32 num_elements, 00567 const char* msg, 00568 const UNITY_LINE_TYPE lineNumber); 00569 00570 void UnityAssertFloatSpecial(const _UF actual, 00571 const char* msg, 00572 const UNITY_LINE_TYPE lineNumber, 00573 const UNITY_FLOAT_TRAIT_T style); 00574 #endif 00575 00576 #ifndef UNITY_EXCLUDE_DOUBLE 00577 void UnityAssertDoublesWithin(const _UD delta, 00578 const _UD expected, 00579 const _UD actual, 00580 const char* msg, 00581 const UNITY_LINE_TYPE lineNumber); 00582 00583 void UnityAssertEqualDoubleArray(UNITY_PTR_ATTRIBUTE const _UD* expected, 00584 UNITY_PTR_ATTRIBUTE const _UD* actual, 00585 const _UU32 num_elements, 00586 const char* msg, 00587 const UNITY_LINE_TYPE lineNumber); 00588 00589 void UnityAssertDoubleSpecial(const _UD actual, 00590 const char* msg, 00591 const UNITY_LINE_TYPE lineNumber, 00592 const UNITY_FLOAT_TRAIT_T style); 00593 #endif 00594 00595 #ifdef __cplusplus 00596 } 00597 #endif // __cplusplus 00598 00599 /*------------------------------------------------------- 00600 * Error Strings We Might Need 00601 *-------------------------------------------------------*/ 00602 00603 extern const char UnityStrErrFloat[]; 00604 extern const char UnityStrErrDouble[]; 00605 extern const char UnityStrErr64[]; 00606 00607 /*------------------------------------------------------- 00608 * Test Running Macros 00609 *-------------------------------------------------------*/ 00610 00611 #define TEST_PROTECT() (setjmp(Unity.AbortFrame) == 0) 00612 00613 #define TEST_ABORT() {longjmp(Unity.AbortFrame, 1);} 00614 00615 /* This tricky series of macros gives us an optional line argument to treat it as RUN_TEST(func, num=__LINE__) */ 00616 #ifndef RUN_TEST 00617 #ifdef __STDC_VERSION__ 00618 #if __STDC_VERSION__ >= 199901L 00619 #define RUN_TEST(...) UnityDefaultTestRun(RUN_TEST_FIRST(__VA_ARGS__), RUN_TEST_SECOND(__VA_ARGS__)) 00620 #define RUN_TEST_FIRST(...) RUN_TEST_FIRST_HELPER(__VA_ARGS__, throwaway) 00621 #define RUN_TEST_FIRST_HELPER(first, ...) (first), #first 00622 #define RUN_TEST_SECOND(...) RUN_TEST_SECOND_HELPER(__VA_ARGS__, __LINE__, throwaway) 00623 #define RUN_TEST_SECOND_HELPER(first, second, ...) (second) 00624 #endif 00625 #endif 00626 #endif 00627 00628 /* If we can't do the tricky version, we'll just have to require them to always include the line number */ 00629 #ifndef RUN_TEST 00630 #ifdef CMOCK 00631 #define RUN_TEST(func, num) UnityDefaultTestRun(func, #func, num) 00632 #else 00633 #define RUN_TEST(func) UnityDefaultTestRun(func, #func, __LINE__) 00634 #endif 00635 #endif 00636 00637 #define TEST_LINE_NUM (Unity.CurrentTestLineNumber) 00638 #define TEST_IS_IGNORED (Unity.CurrentTestIgnored) 00639 #define UNITY_NEW_TEST(a) \ 00640 Unity.CurrentTestName = (a); \ 00641 Unity.CurrentTestLineNumber = (UNITY_LINE_TYPE)(__LINE__); \ 00642 Unity.NumberOfTests++; 00643 00644 #ifndef UNITY_BEGIN 00645 #define UNITY_BEGIN() UnityBegin(__FILE__) 00646 #endif 00647 00648 #ifndef UNITY_END 00649 #define UNITY_END() UnityEnd() 00650 #endif 00651 00652 #define UNITY_UNUSED(x) (void)(sizeof(x)) 00653 00654 /*------------------------------------------------------- 00655 * Basic Fail and Ignore 00656 *-------------------------------------------------------*/ 00657 00658 #define UNITY_TEST_FAIL(line, message) UnityFail( (message), (UNITY_LINE_TYPE)(line)) 00659 #define UNITY_TEST_IGNORE(line, message) UnityIgnore( (message), (UNITY_LINE_TYPE)(line)) 00660 00661 /*------------------------------------------------------- 00662 * Test Asserts 00663 *-------------------------------------------------------*/ 00664 00665 #define UNITY_TEST_ASSERT(condition, line, message) if (condition) {} else {UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), (message));} 00666 #define UNITY_TEST_ASSERT_NULL(pointer, line, message) UNITY_TEST_ASSERT(((pointer) == NULL), (UNITY_LINE_TYPE)(line), (message)) 00667 #define UNITY_TEST_ASSERT_NOT_NULL(pointer, line, message) UNITY_TEST_ASSERT(((pointer) != NULL), (UNITY_LINE_TYPE)(line), (message)) 00668 00669 #define UNITY_TEST_ASSERT_EQUAL_INT(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(expected), (_U_SINT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT) 00670 #define UNITY_TEST_ASSERT_EQUAL_INT8(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(_US8 )(expected), (_U_SINT)(_US8 )(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8) 00671 #define UNITY_TEST_ASSERT_EQUAL_INT16(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(_US16)(expected), (_U_SINT)(_US16)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16) 00672 #define UNITY_TEST_ASSERT_EQUAL_INT32(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(_US32)(expected), (_U_SINT)(_US32)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32) 00673 #define UNITY_TEST_ASSERT_EQUAL_UINT(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(expected), (_U_SINT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT) 00674 #define UNITY_TEST_ASSERT_EQUAL_UINT8(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(_UU8 )(expected), (_U_SINT)(_UU8 )(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8) 00675 #define UNITY_TEST_ASSERT_EQUAL_UINT16(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(_UU16)(expected), (_U_SINT)(_UU16)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16) 00676 #define UNITY_TEST_ASSERT_EQUAL_UINT32(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(_UU32)(expected), (_U_SINT)(_UU32)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32) 00677 #define UNITY_TEST_ASSERT_EQUAL_HEX8(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(_US8 )(expected), (_U_SINT)(_US8 )(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8) 00678 #define UNITY_TEST_ASSERT_EQUAL_HEX16(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(_US16)(expected), (_U_SINT)(_US16)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16) 00679 #define UNITY_TEST_ASSERT_EQUAL_HEX32(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(_US32)(expected), (_U_SINT)(_US32)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32) 00680 #define UNITY_TEST_ASSERT_BITS(mask, expected, actual, line, message) UnityAssertBits((_U_SINT)(mask), (_U_SINT)(expected), (_U_SINT)(actual), (message), (UNITY_LINE_TYPE)(line)) 00681 00682 #define UNITY_TEST_ASSERT_INT_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((delta), (_U_SINT)(expected), (_U_SINT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT) 00683 #define UNITY_TEST_ASSERT_INT8_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((_UU8 )(delta), (_U_SINT)(_US8 )(expected), (_U_SINT)(_US8 )(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8) 00684 #define UNITY_TEST_ASSERT_INT16_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((_UU16)(delta), (_U_SINT)(_US16)(expected), (_U_SINT)(_US16)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16) 00685 #define UNITY_TEST_ASSERT_INT32_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((_UU32)(delta), (_U_SINT)(_US32)(expected), (_U_SINT)(_US32)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32) 00686 #define UNITY_TEST_ASSERT_UINT_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((delta), (_U_SINT)(expected), (_U_SINT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT) 00687 #define UNITY_TEST_ASSERT_UINT8_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((_UU8 )(delta), (_U_SINT)(_U_UINT)(_UU8 )(expected), (_U_SINT)(_U_UINT)(_UU8 )(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8) 00688 #define UNITY_TEST_ASSERT_UINT16_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((_UU16)(delta), (_U_SINT)(_U_UINT)(_UU16)(expected), (_U_SINT)(_U_UINT)(_UU16)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16) 00689 #define UNITY_TEST_ASSERT_UINT32_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((_UU32)(delta), (_U_SINT)(_U_UINT)(_UU32)(expected), (_U_SINT)(_U_UINT)(_UU32)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32) 00690 #define UNITY_TEST_ASSERT_HEX8_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((_UU8 )(delta), (_U_SINT)(_U_UINT)(_UU8 )(expected), (_U_SINT)(_U_UINT)(_UU8 )(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8) 00691 #define UNITY_TEST_ASSERT_HEX16_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((_UU16)(delta), (_U_SINT)(_U_UINT)(_UU16)(expected), (_U_SINT)(_U_UINT)(_UU16)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16) 00692 #define UNITY_TEST_ASSERT_HEX32_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((_UU32)(delta), (_U_SINT)(_U_UINT)(_UU32)(expected), (_U_SINT)(_U_UINT)(_UU32)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32) 00693 00694 #define UNITY_TEST_ASSERT_EQUAL_PTR(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(_UP)(expected), (_U_SINT)(_UP)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_POINTER) 00695 #define UNITY_TEST_ASSERT_EQUAL_STRING(expected, actual, line, message) UnityAssertEqualString((const char*)(expected), (const char*)(actual), (message), (UNITY_LINE_TYPE)(line)) 00696 #define UNITY_TEST_ASSERT_EQUAL_STRING_LEN(expected, actual, len, line, message) UnityAssertEqualStringLen((const char*)(expected), (const char*)(actual), (_UU32)(len), (message), (UNITY_LINE_TYPE)(line)) 00697 #define UNITY_TEST_ASSERT_EQUAL_MEMORY(expected, actual, len, line, message) UnityAssertEqualMemory((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (_UU32)(len), 1, (message), (UNITY_LINE_TYPE)(line)) 00698 00699 #define UNITY_TEST_ASSERT_EQUAL_INT_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT) 00700 #define UNITY_TEST_ASSERT_EQUAL_INT8_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8) 00701 #define UNITY_TEST_ASSERT_EQUAL_INT16_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16) 00702 #define UNITY_TEST_ASSERT_EQUAL_INT32_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32) 00703 #define UNITY_TEST_ASSERT_EQUAL_UINT_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT) 00704 #define UNITY_TEST_ASSERT_EQUAL_UINT8_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8) 00705 #define UNITY_TEST_ASSERT_EQUAL_UINT16_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16) 00706 #define UNITY_TEST_ASSERT_EQUAL_UINT32_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32) 00707 #define UNITY_TEST_ASSERT_EQUAL_HEX8_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8) 00708 #define UNITY_TEST_ASSERT_EQUAL_HEX16_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16) 00709 #define UNITY_TEST_ASSERT_EQUAL_HEX32_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32) 00710 #define UNITY_TEST_ASSERT_EQUAL_PTR_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(_UP*)(expected), (UNITY_INTERNAL_PTR)(_UP*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_POINTER) 00711 #define UNITY_TEST_ASSERT_EQUAL_STRING_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualStringArray((const char**)(expected), (const char**)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)(line)) 00712 #define UNITY_TEST_ASSERT_EQUAL_MEMORY_ARRAY(expected, actual, len, num_elements, line, message) UnityAssertEqualMemory((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (_UU32)(len), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)(line)) 00713 00714 #ifdef UNITY_SUPPORT_64 00715 #define UNITY_TEST_ASSERT_EQUAL_INT64(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(expected), (_U_SINT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64) 00716 #define UNITY_TEST_ASSERT_EQUAL_UINT64(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(expected), (_U_SINT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64) 00717 #define UNITY_TEST_ASSERT_EQUAL_HEX64(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(expected), (_U_SINT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64) 00718 #define UNITY_TEST_ASSERT_EQUAL_INT64_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64) 00719 #define UNITY_TEST_ASSERT_EQUAL_UINT64_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64) 00720 #define UNITY_TEST_ASSERT_EQUAL_HEX64_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64) 00721 #define UNITY_TEST_ASSERT_INT64_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((delta), (_U_SINT)(expected), (_U_SINT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64) 00722 #define UNITY_TEST_ASSERT_UINT64_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((delta), (_U_SINT)(expected), (_U_SINT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64) 00723 #define UNITY_TEST_ASSERT_HEX64_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((delta), (_U_SINT)(expected), (_U_SINT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64) 00724 #else 00725 #define UNITY_TEST_ASSERT_EQUAL_INT64(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) 00726 #define UNITY_TEST_ASSERT_EQUAL_UINT64(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) 00727 #define UNITY_TEST_ASSERT_EQUAL_HEX64(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) 00728 #define UNITY_TEST_ASSERT_EQUAL_INT64_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) 00729 #define UNITY_TEST_ASSERT_EQUAL_UINT64_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) 00730 #define UNITY_TEST_ASSERT_EQUAL_HEX64_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) 00731 #define UNITY_TEST_ASSERT_INT64_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) 00732 #define UNITY_TEST_ASSERT_UINT64_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) 00733 #define UNITY_TEST_ASSERT_HEX64_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) 00734 #endif 00735 00736 #ifdef UNITY_EXCLUDE_FLOAT 00737 #define UNITY_TEST_ASSERT_FLOAT_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) 00738 #define UNITY_TEST_ASSERT_EQUAL_FLOAT(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) 00739 #define UNITY_TEST_ASSERT_EQUAL_FLOAT_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) 00740 #define UNITY_TEST_ASSERT_FLOAT_IS_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) 00741 #define UNITY_TEST_ASSERT_FLOAT_IS_NEG_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) 00742 #define UNITY_TEST_ASSERT_FLOAT_IS_NAN(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) 00743 #define UNITY_TEST_ASSERT_FLOAT_IS_DETERMINATE(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) 00744 #define UNITY_TEST_ASSERT_FLOAT_IS_NOT_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) 00745 #define UNITY_TEST_ASSERT_FLOAT_IS_NOT_NEG_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) 00746 #define UNITY_TEST_ASSERT_FLOAT_IS_NOT_NAN(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) 00747 #define UNITY_TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) 00748 #else 00749 #define UNITY_TEST_ASSERT_FLOAT_WITHIN(delta, expected, actual, line, message) UnityAssertFloatsWithin((_UF)(delta), (_UF)(expected), (_UF)(actual), (message), (UNITY_LINE_TYPE)(line)) 00750 #define UNITY_TEST_ASSERT_EQUAL_FLOAT(expected, actual, line, message) UNITY_TEST_ASSERT_FLOAT_WITHIN((_UF)(expected) * (_UF)UNITY_FLOAT_PRECISION, (_UF)(expected), (_UF)(actual), (UNITY_LINE_TYPE)(line), (message)) 00751 #define UNITY_TEST_ASSERT_EQUAL_FLOAT_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualFloatArray((_UF*)(expected), (_UF*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)(line)) 00752 #define UNITY_TEST_ASSERT_FLOAT_IS_INF(actual, line, message) UnityAssertFloatSpecial((_UF)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_INF) 00753 #define UNITY_TEST_ASSERT_FLOAT_IS_NEG_INF(actual, line, message) UnityAssertFloatSpecial((_UF)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NEG_INF) 00754 #define UNITY_TEST_ASSERT_FLOAT_IS_NAN(actual, line, message) UnityAssertFloatSpecial((_UF)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NAN) 00755 #define UNITY_TEST_ASSERT_FLOAT_IS_DETERMINATE(actual, line, message) UnityAssertFloatSpecial((_UF)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_DET) 00756 #define UNITY_TEST_ASSERT_FLOAT_IS_NOT_INF(actual, line, message) UnityAssertFloatSpecial((_UF)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_INF) 00757 #define UNITY_TEST_ASSERT_FLOAT_IS_NOT_NEG_INF(actual, line, message) UnityAssertFloatSpecial((_UF)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_NEG_INF) 00758 #define UNITY_TEST_ASSERT_FLOAT_IS_NOT_NAN(actual, line, message) UnityAssertFloatSpecial((_UF)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_NAN) 00759 #define UNITY_TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE(actual, line, message) UnityAssertFloatSpecial((_UF)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_DET) 00760 #endif 00761 00762 #ifdef UNITY_EXCLUDE_DOUBLE 00763 #define UNITY_TEST_ASSERT_DOUBLE_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) 00764 #define UNITY_TEST_ASSERT_EQUAL_DOUBLE(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) 00765 #define UNITY_TEST_ASSERT_EQUAL_DOUBLE_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) 00766 #define UNITY_TEST_ASSERT_DOUBLE_IS_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) 00767 #define UNITY_TEST_ASSERT_DOUBLE_IS_NEG_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) 00768 #define UNITY_TEST_ASSERT_DOUBLE_IS_NAN(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) 00769 #define UNITY_TEST_ASSERT_DOUBLE_IS_DETERMINATE(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) 00770 #define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) 00771 #define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NEG_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) 00772 #define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NAN(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) 00773 #define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) 00774 #else 00775 #define UNITY_TEST_ASSERT_DOUBLE_WITHIN(delta, expected, actual, line, message) UnityAssertDoublesWithin((_UD)(delta), (_UD)(expected), (_UD)(actual), (message), (UNITY_LINE_TYPE)line) 00776 #define UNITY_TEST_ASSERT_EQUAL_DOUBLE(expected, actual, line, message) UNITY_TEST_ASSERT_DOUBLE_WITHIN((_UD)(expected) * (_UD)UNITY_DOUBLE_PRECISION, (_UD)expected, (_UD)actual, (UNITY_LINE_TYPE)(line), message) 00777 #define UNITY_TEST_ASSERT_EQUAL_DOUBLE_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualDoubleArray((_UD*)(expected), (_UD*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line) 00778 #define UNITY_TEST_ASSERT_DOUBLE_IS_INF(actual, line, message) UnityAssertDoubleSpecial((_UD)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_INF) 00779 #define UNITY_TEST_ASSERT_DOUBLE_IS_NEG_INF(actual, line, message) UnityAssertDoubleSpecial((_UD)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NEG_INF) 00780 #define UNITY_TEST_ASSERT_DOUBLE_IS_NAN(actual, line, message) UnityAssertDoubleSpecial((_UD)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NAN) 00781 #define UNITY_TEST_ASSERT_DOUBLE_IS_DETERMINATE(actual, line, message) UnityAssertDoubleSpecial((_UD)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_DET) 00782 #define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_INF(actual, line, message) UnityAssertDoubleSpecial((_UD)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_INF) 00783 #define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NEG_INF(actual, line, message) UnityAssertDoubleSpecial((_UD)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_NEG_INF) 00784 #define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NAN(actual, line, message) UnityAssertDoubleSpecial((_UD)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_NAN) 00785 #define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE(actual, line, message) UnityAssertDoubleSpecial((_UD)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_DET) 00786 #endif 00787 00788 /* End of UNITY_INTERNALS_H */ 00789 #endif 00790 00791 /** @}*/
Generated on Sun Jul 17 2022 08:25:32 by 1.7.2