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