This is an example of BLE GATT Client, which receives broadcast data from BLE_Server_BME280 ( a GATT server) , then transfers values up to mbed Device Connector (cloud).

Please refer details about BLEClient_mbedDevConn below. https://github.com/soramame21/BLEClient_mbedDevConn

The location of required BLE GATT server, BLE_Server_BME280, is at here. https://developer.mbed.org/users/edamame22/code/BLE_Server_BME280/

Committer:
edamame22
Date:
Thu Apr 13 04:48:11 2017 +0000
Revision:
0:29983394c6b6
Initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
edamame22 0:29983394c6b6 1 /* ==========================================
edamame22 0:29983394c6b6 2 Unity Project - A Test Framework for C
edamame22 0:29983394c6b6 3 Copyright (c) 2007-14 Mike Karlesky, Mark VanderVoord, Greg Williams
edamame22 0:29983394c6b6 4 [Released under MIT License. Please refer to license.txt for details]
edamame22 0:29983394c6b6 5 ========================================== */
edamame22 0:29983394c6b6 6
edamame22 0:29983394c6b6 7 #ifndef UNITY_INTERNALS_H
edamame22 0:29983394c6b6 8 #define UNITY_INTERNALS_H
edamame22 0:29983394c6b6 9
edamame22 0:29983394c6b6 10 #ifdef UNITY_INCLUDE_CONFIG_H
edamame22 0:29983394c6b6 11 //#include "unity_config.h"
edamame22 0:29983394c6b6 12 #endif
edamame22 0:29983394c6b6 13
edamame22 0:29983394c6b6 14 #include <setjmp.h>
edamame22 0:29983394c6b6 15
edamame22 0:29983394c6b6 16 /* Unity Attempts to Auto-Detect Integer Types
edamame22 0:29983394c6b6 17 * Attempt 1: UINT_MAX, ULONG_MAX, etc in <stdint.h>
edamame22 0:29983394c6b6 18 * Attempt 2: UINT_MAX, ULONG_MAX, etc in <limits.h>
edamame22 0:29983394c6b6 19 * Attempt 3: Deduced from sizeof() macros */
edamame22 0:29983394c6b6 20 #ifndef UNITY_EXCLUDE_STDINT_H
edamame22 0:29983394c6b6 21 #include <stdint.h>
edamame22 0:29983394c6b6 22 #endif
edamame22 0:29983394c6b6 23
edamame22 0:29983394c6b6 24 #ifndef UNITY_EXCLUDE_LIMITS_H
edamame22 0:29983394c6b6 25 #include <limits.h>
edamame22 0:29983394c6b6 26 #endif
edamame22 0:29983394c6b6 27
edamame22 0:29983394c6b6 28 #ifndef UNITY_EXCLUDE_SIZEOF
edamame22 0:29983394c6b6 29 #ifndef UINT_MAX
edamame22 0:29983394c6b6 30 #define UINT_MAX (sizeof(unsigned int) * 256 - 1)
edamame22 0:29983394c6b6 31 #endif
edamame22 0:29983394c6b6 32 #ifndef ULONG_MAX
edamame22 0:29983394c6b6 33 #define ULONG_MAX (sizeof(unsigned long) * 256 - 1)
edamame22 0:29983394c6b6 34 #endif
edamame22 0:29983394c6b6 35 #ifndef UINTPTR_MAX
edamame22 0:29983394c6b6 36 /* apparently this is not a constant expression: (sizeof(unsigned int *) * 256 - 1) so we have to just let this fall through */
edamame22 0:29983394c6b6 37 #endif
edamame22 0:29983394c6b6 38 #endif
edamame22 0:29983394c6b6 39
edamame22 0:29983394c6b6 40 #ifndef UNITY_EXCLUDE_MATH_H
edamame22 0:29983394c6b6 41 #include <math.h>
edamame22 0:29983394c6b6 42 #endif
edamame22 0:29983394c6b6 43
edamame22 0:29983394c6b6 44 /*-------------------------------------------------------
edamame22 0:29983394c6b6 45 * Guess Widths If Not Specified
edamame22 0:29983394c6b6 46 *-------------------------------------------------------*/
edamame22 0:29983394c6b6 47
edamame22 0:29983394c6b6 48 /* Determine the size of an int, if not already specificied.
edamame22 0:29983394c6b6 49 * We cannot use sizeof(int), because it is not yet defined
edamame22 0:29983394c6b6 50 * at this stage in the trnslation of the C program.
edamame22 0:29983394c6b6 51 * Therefore, infer it from UINT_MAX if possible. */
edamame22 0:29983394c6b6 52 #ifndef UNITY_INT_WIDTH
edamame22 0:29983394c6b6 53 #ifdef UINT_MAX
edamame22 0:29983394c6b6 54 #if (UINT_MAX == 0xFFFF)
edamame22 0:29983394c6b6 55 #define UNITY_INT_WIDTH (16)
edamame22 0:29983394c6b6 56 #elif (UINT_MAX == 0xFFFFFFFF)
edamame22 0:29983394c6b6 57 #define UNITY_INT_WIDTH (32)
edamame22 0:29983394c6b6 58 #elif (UINT_MAX == 0xFFFFFFFFFFFFFFFF)
edamame22 0:29983394c6b6 59 #define UNITY_INT_WIDTH (64)
edamame22 0:29983394c6b6 60 #endif
edamame22 0:29983394c6b6 61 #endif
edamame22 0:29983394c6b6 62 #endif
edamame22 0:29983394c6b6 63 #ifndef UNITY_INT_WIDTH
edamame22 0:29983394c6b6 64 #define UNITY_INT_WIDTH (32)
edamame22 0:29983394c6b6 65 #endif
edamame22 0:29983394c6b6 66
edamame22 0:29983394c6b6 67 /* Determine the size of a long, if not already specified,
edamame22 0:29983394c6b6 68 * by following the process used above to define
edamame22 0:29983394c6b6 69 * UNITY_INT_WIDTH. */
edamame22 0:29983394c6b6 70 #ifndef UNITY_LONG_WIDTH
edamame22 0:29983394c6b6 71 #ifdef ULONG_MAX
edamame22 0:29983394c6b6 72 #if (ULONG_MAX == 0xFFFF)
edamame22 0:29983394c6b6 73 #define UNITY_LONG_WIDTH (16)
edamame22 0:29983394c6b6 74 #elif (ULONG_MAX == 0xFFFFFFFF)
edamame22 0:29983394c6b6 75 #define UNITY_LONG_WIDTH (32)
edamame22 0:29983394c6b6 76 #elif (ULONG_MAX == 0xFFFFFFFFFFFFFFFF)
edamame22 0:29983394c6b6 77 #define UNITY_LONG_WIDTH (64)
edamame22 0:29983394c6b6 78 #endif
edamame22 0:29983394c6b6 79 #endif
edamame22 0:29983394c6b6 80 #endif
edamame22 0:29983394c6b6 81 #ifndef UNITY_LONG_WIDTH
edamame22 0:29983394c6b6 82 #define UNITY_LONG_WIDTH (32)
edamame22 0:29983394c6b6 83 #endif
edamame22 0:29983394c6b6 84
edamame22 0:29983394c6b6 85 /* Determine the size of a pointer, if not already specified,
edamame22 0:29983394c6b6 86 * by following the process used above to define
edamame22 0:29983394c6b6 87 * UNITY_INT_WIDTH. */
edamame22 0:29983394c6b6 88 #ifndef UNITY_POINTER_WIDTH
edamame22 0:29983394c6b6 89 #ifdef UINTPTR_MAX
edamame22 0:29983394c6b6 90 #if (UINTPTR_MAX+0 <= 0xFFFF)
edamame22 0:29983394c6b6 91 #define UNITY_POINTER_WIDTH (16)
edamame22 0:29983394c6b6 92 #elif (UINTPTR_MAX+0 <= 0xFFFFFFFF)
edamame22 0:29983394c6b6 93 #define UNITY_POINTER_WIDTH (32)
edamame22 0:29983394c6b6 94 #elif (UINTPTR_MAX+0 <= 0xFFFFFFFFFFFFFFFF)
edamame22 0:29983394c6b6 95 #define UNITY_POINTER_WIDTH (64)
edamame22 0:29983394c6b6 96 #endif
edamame22 0:29983394c6b6 97 #endif
edamame22 0:29983394c6b6 98 #endif
edamame22 0:29983394c6b6 99 #ifndef UNITY_POINTER_WIDTH
edamame22 0:29983394c6b6 100 #ifdef INTPTR_MAX
edamame22 0:29983394c6b6 101 #if (INTPTR_MAX+0 <= 0x7FFF)
edamame22 0:29983394c6b6 102 #define UNITY_POINTER_WIDTH (16)
edamame22 0:29983394c6b6 103 #elif (INTPTR_MAX+0 <= 0x7FFFFFFF)
edamame22 0:29983394c6b6 104 #define UNITY_POINTER_WIDTH (32)
edamame22 0:29983394c6b6 105 #elif (INTPTR_MAX+0 <= 0x7FFFFFFFFFFFFFFF)
edamame22 0:29983394c6b6 106 #define UNITY_POINTER_WIDTH (64)
edamame22 0:29983394c6b6 107 #endif
edamame22 0:29983394c6b6 108 #endif
edamame22 0:29983394c6b6 109 #endif
edamame22 0:29983394c6b6 110 #ifndef UNITY_POINTER_WIDTH
edamame22 0:29983394c6b6 111 #define UNITY_POINTER_WIDTH UNITY_LONG_WIDTH
edamame22 0:29983394c6b6 112 #endif
edamame22 0:29983394c6b6 113
edamame22 0:29983394c6b6 114 /*-------------------------------------------------------
edamame22 0:29983394c6b6 115 * Int Support (Define types based on detected sizes)
edamame22 0:29983394c6b6 116 *-------------------------------------------------------*/
edamame22 0:29983394c6b6 117
edamame22 0:29983394c6b6 118 #if (UNITY_INT_WIDTH == 32)
edamame22 0:29983394c6b6 119 typedef unsigned char _UU8;
edamame22 0:29983394c6b6 120 typedef unsigned short _UU16;
edamame22 0:29983394c6b6 121 typedef unsigned int _UU32;
edamame22 0:29983394c6b6 122 typedef signed char _US8;
edamame22 0:29983394c6b6 123 typedef signed short _US16;
edamame22 0:29983394c6b6 124 typedef signed int _US32;
edamame22 0:29983394c6b6 125 #elif (UNITY_INT_WIDTH == 16)
edamame22 0:29983394c6b6 126 typedef unsigned char _UU8;
edamame22 0:29983394c6b6 127 typedef unsigned int _UU16;
edamame22 0:29983394c6b6 128 typedef unsigned long _UU32;
edamame22 0:29983394c6b6 129 typedef signed char _US8;
edamame22 0:29983394c6b6 130 typedef signed int _US16;
edamame22 0:29983394c6b6 131 typedef signed long _US32;
edamame22 0:29983394c6b6 132 #else
edamame22 0:29983394c6b6 133 #error Invalid UNITY_INT_WIDTH specified! (16 or 32 are supported)
edamame22 0:29983394c6b6 134 #endif
edamame22 0:29983394c6b6 135
edamame22 0:29983394c6b6 136 /*-------------------------------------------------------
edamame22 0:29983394c6b6 137 * 64-bit Support
edamame22 0:29983394c6b6 138 *-------------------------------------------------------*/
edamame22 0:29983394c6b6 139
edamame22 0:29983394c6b6 140 #ifndef UNITY_SUPPORT_64
edamame22 0:29983394c6b6 141 #if UNITY_LONG_WIDTH > 32
edamame22 0:29983394c6b6 142 #define UNITY_SUPPORT_64
edamame22 0:29983394c6b6 143 #endif
edamame22 0:29983394c6b6 144 #endif
edamame22 0:29983394c6b6 145 #ifndef UNITY_SUPPORT_64
edamame22 0:29983394c6b6 146 #if UNITY_POINTER_WIDTH > 32
edamame22 0:29983394c6b6 147 #define UNITY_SUPPORT_64
edamame22 0:29983394c6b6 148 #endif
edamame22 0:29983394c6b6 149 #endif
edamame22 0:29983394c6b6 150
edamame22 0:29983394c6b6 151 #ifndef UNITY_SUPPORT_64
edamame22 0:29983394c6b6 152
edamame22 0:29983394c6b6 153 /* No 64-bit Support */
edamame22 0:29983394c6b6 154 typedef _UU32 _U_UINT;
edamame22 0:29983394c6b6 155 typedef _US32 _U_SINT;
edamame22 0:29983394c6b6 156
edamame22 0:29983394c6b6 157 #else
edamame22 0:29983394c6b6 158
edamame22 0:29983394c6b6 159 /* 64-bit Support */
edamame22 0:29983394c6b6 160 #if (UNITY_LONG_WIDTH == 32)
edamame22 0:29983394c6b6 161 typedef unsigned long long _UU64;
edamame22 0:29983394c6b6 162 typedef signed long long _US64;
edamame22 0:29983394c6b6 163 #elif (UNITY_LONG_WIDTH == 64)
edamame22 0:29983394c6b6 164 typedef unsigned long _UU64;
edamame22 0:29983394c6b6 165 typedef signed long _US64;
edamame22 0:29983394c6b6 166 #else
edamame22 0:29983394c6b6 167 #error Invalid UNITY_LONG_WIDTH specified! (32 or 64 are supported)
edamame22 0:29983394c6b6 168 #endif
edamame22 0:29983394c6b6 169 typedef _UU64 _U_UINT;
edamame22 0:29983394c6b6 170 typedef _US64 _U_SINT;
edamame22 0:29983394c6b6 171
edamame22 0:29983394c6b6 172 #endif
edamame22 0:29983394c6b6 173
edamame22 0:29983394c6b6 174 /*-------------------------------------------------------
edamame22 0:29983394c6b6 175 * Pointer Support
edamame22 0:29983394c6b6 176 *-------------------------------------------------------*/
edamame22 0:29983394c6b6 177
edamame22 0:29983394c6b6 178 #if (UNITY_POINTER_WIDTH == 32)
edamame22 0:29983394c6b6 179 typedef _UU32 _UP;
edamame22 0:29983394c6b6 180 #define UNITY_DISPLAY_STYLE_POINTER UNITY_DISPLAY_STYLE_HEX32
edamame22 0:29983394c6b6 181 #elif (UNITY_POINTER_WIDTH == 64)
edamame22 0:29983394c6b6 182 typedef _UU64 _UP;
edamame22 0:29983394c6b6 183 #define UNITY_DISPLAY_STYLE_POINTER UNITY_DISPLAY_STYLE_HEX64
edamame22 0:29983394c6b6 184 #elif (UNITY_POINTER_WIDTH == 16)
edamame22 0:29983394c6b6 185 typedef _UU16 _UP;
edamame22 0:29983394c6b6 186 #define UNITY_DISPLAY_STYLE_POINTER UNITY_DISPLAY_STYLE_HEX16
edamame22 0:29983394c6b6 187 #else
edamame22 0:29983394c6b6 188 #error Invalid UNITY_POINTER_WIDTH specified! (16, 32 or 64 are supported)
edamame22 0:29983394c6b6 189 #endif
edamame22 0:29983394c6b6 190
edamame22 0:29983394c6b6 191 #ifndef UNITY_PTR_ATTRIBUTE
edamame22 0:29983394c6b6 192 #define UNITY_PTR_ATTRIBUTE
edamame22 0:29983394c6b6 193 #endif
edamame22 0:29983394c6b6 194
edamame22 0:29983394c6b6 195 #ifndef UNITY_INTERNAL_PTR
edamame22 0:29983394c6b6 196 #define UNITY_INTERNAL_PTR UNITY_PTR_ATTRIBUTE const void*
edamame22 0:29983394c6b6 197 /* #define UNITY_INTERNAL_PTR UNITY_PTR_ATTRIBUTE const _UU8* */
edamame22 0:29983394c6b6 198 #endif
edamame22 0:29983394c6b6 199
edamame22 0:29983394c6b6 200 /*-------------------------------------------------------
edamame22 0:29983394c6b6 201 * Float Support
edamame22 0:29983394c6b6 202 *-------------------------------------------------------*/
edamame22 0:29983394c6b6 203
edamame22 0:29983394c6b6 204 #ifdef UNITY_EXCLUDE_FLOAT
edamame22 0:29983394c6b6 205
edamame22 0:29983394c6b6 206 /* No Floating Point Support */
edamame22 0:29983394c6b6 207 #undef UNITY_INCLUDE_FLOAT
edamame22 0:29983394c6b6 208 #undef UNITY_FLOAT_PRECISION
edamame22 0:29983394c6b6 209 #undef UNITY_FLOAT_TYPE
edamame22 0:29983394c6b6 210 #undef UNITY_FLOAT_VERBOSE
edamame22 0:29983394c6b6 211
edamame22 0:29983394c6b6 212 #else
edamame22 0:29983394c6b6 213
edamame22 0:29983394c6b6 214 #ifndef UNITY_INCLUDE_FLOAT
edamame22 0:29983394c6b6 215 #define UNITY_INCLUDE_FLOAT
edamame22 0:29983394c6b6 216 #endif
edamame22 0:29983394c6b6 217
edamame22 0:29983394c6b6 218 /* Floating Point Support */
edamame22 0:29983394c6b6 219 #ifndef UNITY_FLOAT_PRECISION
edamame22 0:29983394c6b6 220 #define UNITY_FLOAT_PRECISION (0.00001f)
edamame22 0:29983394c6b6 221 #endif
edamame22 0:29983394c6b6 222 #ifndef UNITY_FLOAT_TYPE
edamame22 0:29983394c6b6 223 #define UNITY_FLOAT_TYPE float
edamame22 0:29983394c6b6 224 #endif
edamame22 0:29983394c6b6 225 typedef UNITY_FLOAT_TYPE _UF;
edamame22 0:29983394c6b6 226
edamame22 0:29983394c6b6 227 #ifndef isinf
edamame22 0:29983394c6b6 228 #define isinf(n) (((1.0f / f_zero) == n) ? 1 : 0) || (((-1.0f / f_zero) == n) ? 1 : 0)
edamame22 0:29983394c6b6 229 #define UNITY_FLOAT_NEEDS_ZERO
edamame22 0:29983394c6b6 230 #endif
edamame22 0:29983394c6b6 231
edamame22 0:29983394c6b6 232 #ifndef isnan
edamame22 0:29983394c6b6 233 #define isnan(n) ((n != n) ? 1 : 0)
edamame22 0:29983394c6b6 234 #endif
edamame22 0:29983394c6b6 235
edamame22 0:29983394c6b6 236 #ifndef isneg
edamame22 0:29983394c6b6 237 #define isneg(n) ((n < 0.0f) ? 1 : 0)
edamame22 0:29983394c6b6 238 #endif
edamame22 0:29983394c6b6 239
edamame22 0:29983394c6b6 240 #ifndef ispos
edamame22 0:29983394c6b6 241 #define ispos(n) ((n > 0.0f) ? 1 : 0)
edamame22 0:29983394c6b6 242 #endif
edamame22 0:29983394c6b6 243
edamame22 0:29983394c6b6 244 #endif
edamame22 0:29983394c6b6 245
edamame22 0:29983394c6b6 246 /*-------------------------------------------------------
edamame22 0:29983394c6b6 247 * Double Float Support
edamame22 0:29983394c6b6 248 *-------------------------------------------------------*/
edamame22 0:29983394c6b6 249
edamame22 0:29983394c6b6 250 /* unlike FLOAT, we DON'T include by default */
edamame22 0:29983394c6b6 251 #ifndef UNITY_EXCLUDE_DOUBLE
edamame22 0:29983394c6b6 252 #ifndef UNITY_INCLUDE_DOUBLE
edamame22 0:29983394c6b6 253 #define UNITY_EXCLUDE_DOUBLE
edamame22 0:29983394c6b6 254 #endif
edamame22 0:29983394c6b6 255 #endif
edamame22 0:29983394c6b6 256
edamame22 0:29983394c6b6 257 #ifdef UNITY_EXCLUDE_DOUBLE
edamame22 0:29983394c6b6 258
edamame22 0:29983394c6b6 259 /* No Floating Point Support */
edamame22 0:29983394c6b6 260 #undef UNITY_DOUBLE_PRECISION
edamame22 0:29983394c6b6 261 #undef UNITY_DOUBLE_TYPE
edamame22 0:29983394c6b6 262 #undef UNITY_DOUBLE_VERBOSE
edamame22 0:29983394c6b6 263
edamame22 0:29983394c6b6 264 #ifdef UNITY_INCLUDE_DOUBLE
edamame22 0:29983394c6b6 265 #undef UNITY_INCLUDE_DOUBLE
edamame22 0:29983394c6b6 266 #endif
edamame22 0:29983394c6b6 267
edamame22 0:29983394c6b6 268 #else
edamame22 0:29983394c6b6 269
edamame22 0:29983394c6b6 270 /* Double Floating Point Support */
edamame22 0:29983394c6b6 271 #ifndef UNITY_DOUBLE_PRECISION
edamame22 0:29983394c6b6 272 #define UNITY_DOUBLE_PRECISION (1e-12f)
edamame22 0:29983394c6b6 273 #endif
edamame22 0:29983394c6b6 274 #ifndef UNITY_DOUBLE_TYPE
edamame22 0:29983394c6b6 275 #define UNITY_DOUBLE_TYPE double
edamame22 0:29983394c6b6 276 #endif
edamame22 0:29983394c6b6 277 typedef UNITY_DOUBLE_TYPE _UD;
edamame22 0:29983394c6b6 278
edamame22 0:29983394c6b6 279 #endif
edamame22 0:29983394c6b6 280
edamame22 0:29983394c6b6 281 #ifdef UNITY_DOUBLE_VERBOSE
edamame22 0:29983394c6b6 282 #ifndef UNITY_FLOAT_VERBOSE
edamame22 0:29983394c6b6 283 #define UNITY_FLOAT_VERBOSE
edamame22 0:29983394c6b6 284 #endif
edamame22 0:29983394c6b6 285 #endif
edamame22 0:29983394c6b6 286
edamame22 0:29983394c6b6 287 /*-------------------------------------------------------
edamame22 0:29983394c6b6 288 * Output Method: stdout (DEFAULT)
edamame22 0:29983394c6b6 289 *-------------------------------------------------------*/
edamame22 0:29983394c6b6 290 #ifndef UNITY_OUTPUT_CHAR
edamame22 0:29983394c6b6 291 /* Default to using putchar, which is defined in stdio.h */
edamame22 0:29983394c6b6 292 #include <stdio.h>
edamame22 0:29983394c6b6 293 #define UNITY_OUTPUT_CHAR(a) (void)putchar(a)
edamame22 0:29983394c6b6 294 #else
edamame22 0:29983394c6b6 295 /* If defined as something else, make sure we declare it here so it's ready for use */
edamame22 0:29983394c6b6 296 #ifndef UNITY_OMIT_OUTPUT_CHAR_HEADER_DECLARATION
edamame22 0:29983394c6b6 297 extern void UNITY_OUTPUT_CHAR(int);
edamame22 0:29983394c6b6 298 #endif
edamame22 0:29983394c6b6 299 #endif
edamame22 0:29983394c6b6 300
edamame22 0:29983394c6b6 301 #ifndef UNITY_OUTPUT_FLUSH
edamame22 0:29983394c6b6 302 /* Default to using fflush, which is defined in stdio.h */
edamame22 0:29983394c6b6 303 #include <stdio.h>
edamame22 0:29983394c6b6 304 #define UNITY_OUTPUT_FLUSH (void)fflush(stdout)
edamame22 0:29983394c6b6 305 #else
edamame22 0:29983394c6b6 306 /* If defined as something else, make sure we declare it here so it's ready for use */
edamame22 0:29983394c6b6 307 #ifndef UNITY_OMIT_OUTPUT_FLUSH_HEADER_DECLARATION
edamame22 0:29983394c6b6 308 extern void UNITY_OUTPUT_FLUSH(void);
edamame22 0:29983394c6b6 309 #endif
edamame22 0:29983394c6b6 310 #endif
edamame22 0:29983394c6b6 311
edamame22 0:29983394c6b6 312 #ifndef UNITY_OUTPUT_FLUSH
edamame22 0:29983394c6b6 313 #define UNITY_FLUSH_CALL()
edamame22 0:29983394c6b6 314 #else
edamame22 0:29983394c6b6 315 #define UNITY_FLUSH_CALL() UNITY_OUTPUT_FLUSH
edamame22 0:29983394c6b6 316 #endif
edamame22 0:29983394c6b6 317
edamame22 0:29983394c6b6 318 #ifndef UNITY_PRINT_EOL
edamame22 0:29983394c6b6 319 #define UNITY_PRINT_EOL() UNITY_OUTPUT_CHAR('\n')
edamame22 0:29983394c6b6 320 #endif
edamame22 0:29983394c6b6 321
edamame22 0:29983394c6b6 322 #ifndef UNITY_OUTPUT_START
edamame22 0:29983394c6b6 323 #define UNITY_OUTPUT_START()
edamame22 0:29983394c6b6 324 #endif
edamame22 0:29983394c6b6 325
edamame22 0:29983394c6b6 326 #ifndef UNITY_OUTPUT_COMPLETE
edamame22 0:29983394c6b6 327 #define UNITY_OUTPUT_COMPLETE()
edamame22 0:29983394c6b6 328 #endif
edamame22 0:29983394c6b6 329
edamame22 0:29983394c6b6 330 /*-------------------------------------------------------
edamame22 0:29983394c6b6 331 * Footprint
edamame22 0:29983394c6b6 332 *-------------------------------------------------------*/
edamame22 0:29983394c6b6 333
edamame22 0:29983394c6b6 334 #ifndef UNITY_LINE_TYPE
edamame22 0:29983394c6b6 335 #define UNITY_LINE_TYPE _U_UINT
edamame22 0:29983394c6b6 336 #endif
edamame22 0:29983394c6b6 337
edamame22 0:29983394c6b6 338 #ifndef UNITY_COUNTER_TYPE
edamame22 0:29983394c6b6 339 #define UNITY_COUNTER_TYPE _U_UINT
edamame22 0:29983394c6b6 340 #endif
edamame22 0:29983394c6b6 341
edamame22 0:29983394c6b6 342 /*-------------------------------------------------------
edamame22 0:29983394c6b6 343 * Language Features Available
edamame22 0:29983394c6b6 344 *-------------------------------------------------------*/
edamame22 0:29983394c6b6 345 #if !defined(UNITY_WEAK_ATTRIBUTE) && !defined(UNITY_WEAK_PRAGMA)
edamame22 0:29983394c6b6 346 # ifdef __GNUC__ /* includes clang */
edamame22 0:29983394c6b6 347 # if !(defined(__WIN32__) && defined(__clang__))
edamame22 0:29983394c6b6 348 # define UNITY_WEAK_ATTRIBUTE __attribute__((weak))
edamame22 0:29983394c6b6 349 # endif
edamame22 0:29983394c6b6 350 # endif
edamame22 0:29983394c6b6 351 #endif
edamame22 0:29983394c6b6 352
edamame22 0:29983394c6b6 353 #ifdef UNITY_NO_WEAK
edamame22 0:29983394c6b6 354 # undef UNITY_WEAK_ATTRIBUTE
edamame22 0:29983394c6b6 355 # undef UNITY_WEAK_PRAGMA
edamame22 0:29983394c6b6 356 #endif
edamame22 0:29983394c6b6 357
edamame22 0:29983394c6b6 358
edamame22 0:29983394c6b6 359 /*-------------------------------------------------------
edamame22 0:29983394c6b6 360 * Internal Structs Needed
edamame22 0:29983394c6b6 361 *-------------------------------------------------------*/
edamame22 0:29983394c6b6 362
edamame22 0:29983394c6b6 363 typedef void (*UnityTestFunction)(void);
edamame22 0:29983394c6b6 364
edamame22 0:29983394c6b6 365 #define UNITY_DISPLAY_RANGE_INT (0x10)
edamame22 0:29983394c6b6 366 #define UNITY_DISPLAY_RANGE_UINT (0x20)
edamame22 0:29983394c6b6 367 #define UNITY_DISPLAY_RANGE_HEX (0x40)
edamame22 0:29983394c6b6 368 #define UNITY_DISPLAY_RANGE_AUTO (0x80)
edamame22 0:29983394c6b6 369
edamame22 0:29983394c6b6 370 typedef enum
edamame22 0:29983394c6b6 371 {
edamame22 0:29983394c6b6 372 #if (UNITY_INT_WIDTH == 16)
edamame22 0:29983394c6b6 373 UNITY_DISPLAY_STYLE_INT = 2 + UNITY_DISPLAY_RANGE_INT + UNITY_DISPLAY_RANGE_AUTO,
edamame22 0:29983394c6b6 374 #elif (UNITY_INT_WIDTH == 32)
edamame22 0:29983394c6b6 375 UNITY_DISPLAY_STYLE_INT = 4 + UNITY_DISPLAY_RANGE_INT + UNITY_DISPLAY_RANGE_AUTO,
edamame22 0:29983394c6b6 376 #elif (UNITY_INT_WIDTH == 64)
edamame22 0:29983394c6b6 377 UNITY_DISPLAY_STYLE_INT = 8 + UNITY_DISPLAY_RANGE_INT + UNITY_DISPLAY_RANGE_AUTO,
edamame22 0:29983394c6b6 378 #endif
edamame22 0:29983394c6b6 379 UNITY_DISPLAY_STYLE_INT8 = 1 + UNITY_DISPLAY_RANGE_INT,
edamame22 0:29983394c6b6 380 UNITY_DISPLAY_STYLE_INT16 = 2 + UNITY_DISPLAY_RANGE_INT,
edamame22 0:29983394c6b6 381 UNITY_DISPLAY_STYLE_INT32 = 4 + UNITY_DISPLAY_RANGE_INT,
edamame22 0:29983394c6b6 382 #ifdef UNITY_SUPPORT_64
edamame22 0:29983394c6b6 383 UNITY_DISPLAY_STYLE_INT64 = 8 + UNITY_DISPLAY_RANGE_INT,
edamame22 0:29983394c6b6 384 #endif
edamame22 0:29983394c6b6 385
edamame22 0:29983394c6b6 386 #if (UNITY_INT_WIDTH == 16)
edamame22 0:29983394c6b6 387 UNITY_DISPLAY_STYLE_UINT = 2 + UNITY_DISPLAY_RANGE_UINT + UNITY_DISPLAY_RANGE_AUTO,
edamame22 0:29983394c6b6 388 #elif (UNITY_INT_WIDTH == 32)
edamame22 0:29983394c6b6 389 UNITY_DISPLAY_STYLE_UINT = 4 + UNITY_DISPLAY_RANGE_UINT + UNITY_DISPLAY_RANGE_AUTO,
edamame22 0:29983394c6b6 390 #elif (UNITY_INT_WIDTH == 64)
edamame22 0:29983394c6b6 391 UNITY_DISPLAY_STYLE_UINT = 8 + UNITY_DISPLAY_RANGE_UINT + UNITY_DISPLAY_RANGE_AUTO,
edamame22 0:29983394c6b6 392 #endif
edamame22 0:29983394c6b6 393 UNITY_DISPLAY_STYLE_UINT8 = 1 + UNITY_DISPLAY_RANGE_UINT,
edamame22 0:29983394c6b6 394 UNITY_DISPLAY_STYLE_UINT16 = 2 + UNITY_DISPLAY_RANGE_UINT,
edamame22 0:29983394c6b6 395 UNITY_DISPLAY_STYLE_UINT32 = 4 + UNITY_DISPLAY_RANGE_UINT,
edamame22 0:29983394c6b6 396 #ifdef UNITY_SUPPORT_64
edamame22 0:29983394c6b6 397 UNITY_DISPLAY_STYLE_UINT64 = 8 + UNITY_DISPLAY_RANGE_UINT,
edamame22 0:29983394c6b6 398 #endif
edamame22 0:29983394c6b6 399 UNITY_DISPLAY_STYLE_HEX8 = 1 + UNITY_DISPLAY_RANGE_HEX,
edamame22 0:29983394c6b6 400 UNITY_DISPLAY_STYLE_HEX16 = 2 + UNITY_DISPLAY_RANGE_HEX,
edamame22 0:29983394c6b6 401 UNITY_DISPLAY_STYLE_HEX32 = 4 + UNITY_DISPLAY_RANGE_HEX,
edamame22 0:29983394c6b6 402 #ifdef UNITY_SUPPORT_64
edamame22 0:29983394c6b6 403 UNITY_DISPLAY_STYLE_HEX64 = 8 + UNITY_DISPLAY_RANGE_HEX,
edamame22 0:29983394c6b6 404 #endif
edamame22 0:29983394c6b6 405 UNITY_DISPLAY_STYLE_UNKNOWN
edamame22 0:29983394c6b6 406 } UNITY_DISPLAY_STYLE_T;
edamame22 0:29983394c6b6 407
edamame22 0:29983394c6b6 408 #ifndef UNITY_EXCLUDE_FLOAT
edamame22 0:29983394c6b6 409 typedef enum _UNITY_FLOAT_TRAIT_T
edamame22 0:29983394c6b6 410 {
edamame22 0:29983394c6b6 411 UNITY_FLOAT_IS_NOT_INF = 0,
edamame22 0:29983394c6b6 412 UNITY_FLOAT_IS_INF,
edamame22 0:29983394c6b6 413 UNITY_FLOAT_IS_NOT_NEG_INF,
edamame22 0:29983394c6b6 414 UNITY_FLOAT_IS_NEG_INF,
edamame22 0:29983394c6b6 415 UNITY_FLOAT_IS_NOT_NAN,
edamame22 0:29983394c6b6 416 UNITY_FLOAT_IS_NAN,
edamame22 0:29983394c6b6 417 UNITY_FLOAT_IS_NOT_DET,
edamame22 0:29983394c6b6 418 UNITY_FLOAT_IS_DET,
edamame22 0:29983394c6b6 419 UNITY_FLOAT_INVALID_TRAIT
edamame22 0:29983394c6b6 420 } UNITY_FLOAT_TRAIT_T;
edamame22 0:29983394c6b6 421 #endif
edamame22 0:29983394c6b6 422
edamame22 0:29983394c6b6 423 struct _Unity
edamame22 0:29983394c6b6 424 {
edamame22 0:29983394c6b6 425 const char* TestFile;
edamame22 0:29983394c6b6 426 const char* CurrentTestName;
edamame22 0:29983394c6b6 427 #ifndef UNITY_EXCLUDE_DETAILS
edamame22 0:29983394c6b6 428 const char* CurrentDetail1;
edamame22 0:29983394c6b6 429 const char* CurrentDetail2;
edamame22 0:29983394c6b6 430 #endif
edamame22 0:29983394c6b6 431 UNITY_LINE_TYPE CurrentTestLineNumber;
edamame22 0:29983394c6b6 432 UNITY_COUNTER_TYPE NumberOfTests;
edamame22 0:29983394c6b6 433 UNITY_COUNTER_TYPE TestFailures;
edamame22 0:29983394c6b6 434 UNITY_COUNTER_TYPE TestIgnores;
edamame22 0:29983394c6b6 435 UNITY_COUNTER_TYPE CurrentTestFailed;
edamame22 0:29983394c6b6 436 UNITY_COUNTER_TYPE CurrentTestIgnored;
edamame22 0:29983394c6b6 437 jmp_buf AbortFrame;
edamame22 0:29983394c6b6 438 };
edamame22 0:29983394c6b6 439
edamame22 0:29983394c6b6 440 extern struct _Unity Unity;
edamame22 0:29983394c6b6 441
edamame22 0:29983394c6b6 442 /*-------------------------------------------------------
edamame22 0:29983394c6b6 443 * Test Suite Management
edamame22 0:29983394c6b6 444 *-------------------------------------------------------*/
edamame22 0:29983394c6b6 445
edamame22 0:29983394c6b6 446 void UnityBegin(const char* filename);
edamame22 0:29983394c6b6 447 int UnityEnd(void);
edamame22 0:29983394c6b6 448 void UnityConcludeTest(void);
edamame22 0:29983394c6b6 449 void UnityDefaultTestRun(UnityTestFunction Func, const char* FuncName, const int FuncLineNum);
edamame22 0:29983394c6b6 450
edamame22 0:29983394c6b6 451 /*-------------------------------------------------------
edamame22 0:29983394c6b6 452 * Details Support
edamame22 0:29983394c6b6 453 *-------------------------------------------------------*/
edamame22 0:29983394c6b6 454
edamame22 0:29983394c6b6 455 #ifdef UNITY_EXCLUDE_DETAILS
edamame22 0:29983394c6b6 456 #define UNITY_CLR_DETAILS()
edamame22 0:29983394c6b6 457 #define UNITY_SET_DETAIL(d1)
edamame22 0:29983394c6b6 458 #define UNITY_SET_DETAILS(d1,d2)
edamame22 0:29983394c6b6 459 #else
edamame22 0:29983394c6b6 460 #define UNITY_CLR_DETAILS() { Unity.CurrentDetail1 = 0; Unity.CurrentDetail2 = 0; }
edamame22 0:29983394c6b6 461 #define UNITY_SET_DETAIL(d1) { Unity.CurrentDetail1 = d1; Unity.CurrentDetail2 = 0; }
edamame22 0:29983394c6b6 462 #define UNITY_SET_DETAILS(d1,d2) { Unity.CurrentDetail1 = d1; Unity.CurrentDetail2 = d2; }
edamame22 0:29983394c6b6 463
edamame22 0:29983394c6b6 464 #ifndef UNITY_DETAIL1_NAME
edamame22 0:29983394c6b6 465 #define UNITY_DETAIL1_NAME "Function"
edamame22 0:29983394c6b6 466 #endif
edamame22 0:29983394c6b6 467
edamame22 0:29983394c6b6 468 #ifndef UNITY_DETAIL2_NAME
edamame22 0:29983394c6b6 469 #define UNITY_DETAIL2_NAME "Argument"
edamame22 0:29983394c6b6 470 #endif
edamame22 0:29983394c6b6 471 #endif
edamame22 0:29983394c6b6 472
edamame22 0:29983394c6b6 473 /*-------------------------------------------------------
edamame22 0:29983394c6b6 474 * Test Output
edamame22 0:29983394c6b6 475 *-------------------------------------------------------*/
edamame22 0:29983394c6b6 476
edamame22 0:29983394c6b6 477 void UnityPrint(const char* string);
edamame22 0:29983394c6b6 478 void UnityPrintMask(const _U_UINT mask, const _U_UINT number);
edamame22 0:29983394c6b6 479 void UnityPrintNumberByStyle(const _U_SINT number, const UNITY_DISPLAY_STYLE_T style);
edamame22 0:29983394c6b6 480 void UnityPrintNumber(const _U_SINT number);
edamame22 0:29983394c6b6 481 void UnityPrintNumberUnsigned(const _U_UINT number);
edamame22 0:29983394c6b6 482 void UnityPrintNumberHex(const _U_UINT number, const char nibbles);
edamame22 0:29983394c6b6 483
edamame22 0:29983394c6b6 484 #ifdef UNITY_FLOAT_VERBOSE
edamame22 0:29983394c6b6 485 void UnityPrintFloat(const _UF number);
edamame22 0:29983394c6b6 486 #endif
edamame22 0:29983394c6b6 487
edamame22 0:29983394c6b6 488 /*-------------------------------------------------------
edamame22 0:29983394c6b6 489 * Test Assertion Fuctions
edamame22 0:29983394c6b6 490 *-------------------------------------------------------
edamame22 0:29983394c6b6 491 * Use the macros below this section instead of calling
edamame22 0:29983394c6b6 492 * these directly. The macros have a consistent naming
edamame22 0:29983394c6b6 493 * convention and will pull in file and line information
edamame22 0:29983394c6b6 494 * for you. */
edamame22 0:29983394c6b6 495
edamame22 0:29983394c6b6 496 void UnityAssertEqualNumber(const _U_SINT expected,
edamame22 0:29983394c6b6 497 const _U_SINT actual,
edamame22 0:29983394c6b6 498 const char* msg,
edamame22 0:29983394c6b6 499 const UNITY_LINE_TYPE lineNumber,
edamame22 0:29983394c6b6 500 const UNITY_DISPLAY_STYLE_T style);
edamame22 0:29983394c6b6 501
edamame22 0:29983394c6b6 502 void UnityAssertEqualIntArray(UNITY_INTERNAL_PTR expected,
edamame22 0:29983394c6b6 503 UNITY_INTERNAL_PTR actual,
edamame22 0:29983394c6b6 504 const _UU32 num_elements,
edamame22 0:29983394c6b6 505 const char* msg,
edamame22 0:29983394c6b6 506 const UNITY_LINE_TYPE lineNumber,
edamame22 0:29983394c6b6 507 const UNITY_DISPLAY_STYLE_T style);
edamame22 0:29983394c6b6 508
edamame22 0:29983394c6b6 509 void UnityAssertBits(const _U_SINT mask,
edamame22 0:29983394c6b6 510 const _U_SINT expected,
edamame22 0:29983394c6b6 511 const _U_SINT actual,
edamame22 0:29983394c6b6 512 const char* msg,
edamame22 0:29983394c6b6 513 const UNITY_LINE_TYPE lineNumber);
edamame22 0:29983394c6b6 514
edamame22 0:29983394c6b6 515 void UnityAssertEqualString(const char* expected,
edamame22 0:29983394c6b6 516 const char* actual,
edamame22 0:29983394c6b6 517 const char* msg,
edamame22 0:29983394c6b6 518 const UNITY_LINE_TYPE lineNumber);
edamame22 0:29983394c6b6 519
edamame22 0:29983394c6b6 520 void UnityAssertEqualStringLen(const char* expected,
edamame22 0:29983394c6b6 521 const char* actual,
edamame22 0:29983394c6b6 522 const _UU32 length,
edamame22 0:29983394c6b6 523 const char* msg,
edamame22 0:29983394c6b6 524 const UNITY_LINE_TYPE lineNumber);
edamame22 0:29983394c6b6 525
edamame22 0:29983394c6b6 526 void UnityAssertEqualStringArray( const char** expected,
edamame22 0:29983394c6b6 527 const char** actual,
edamame22 0:29983394c6b6 528 const _UU32 num_elements,
edamame22 0:29983394c6b6 529 const char* msg,
edamame22 0:29983394c6b6 530 const UNITY_LINE_TYPE lineNumber);
edamame22 0:29983394c6b6 531
edamame22 0:29983394c6b6 532 void UnityAssertEqualMemory( UNITY_INTERNAL_PTR expected,
edamame22 0:29983394c6b6 533 UNITY_INTERNAL_PTR actual,
edamame22 0:29983394c6b6 534 const _UU32 length,
edamame22 0:29983394c6b6 535 const _UU32 num_elements,
edamame22 0:29983394c6b6 536 const char* msg,
edamame22 0:29983394c6b6 537 const UNITY_LINE_TYPE lineNumber);
edamame22 0:29983394c6b6 538
edamame22 0:29983394c6b6 539 void UnityAssertNumbersWithin(const _U_UINT delta,
edamame22 0:29983394c6b6 540 const _U_SINT expected,
edamame22 0:29983394c6b6 541 const _U_SINT actual,
edamame22 0:29983394c6b6 542 const char* msg,
edamame22 0:29983394c6b6 543 const UNITY_LINE_TYPE lineNumber,
edamame22 0:29983394c6b6 544 const UNITY_DISPLAY_STYLE_T style);
edamame22 0:29983394c6b6 545
edamame22 0:29983394c6b6 546 void UnityFail(const char* message, const UNITY_LINE_TYPE line);
edamame22 0:29983394c6b6 547
edamame22 0:29983394c6b6 548 void UnityIgnore(const char* message, const UNITY_LINE_TYPE line);
edamame22 0:29983394c6b6 549
edamame22 0:29983394c6b6 550 #ifndef UNITY_EXCLUDE_FLOAT
edamame22 0:29983394c6b6 551 void UnityAssertFloatsWithin(const _UF delta,
edamame22 0:29983394c6b6 552 const _UF expected,
edamame22 0:29983394c6b6 553 const _UF actual,
edamame22 0:29983394c6b6 554 const char* msg,
edamame22 0:29983394c6b6 555 const UNITY_LINE_TYPE lineNumber);
edamame22 0:29983394c6b6 556
edamame22 0:29983394c6b6 557 void UnityAssertEqualFloatArray(UNITY_PTR_ATTRIBUTE const _UF* expected,
edamame22 0:29983394c6b6 558 UNITY_PTR_ATTRIBUTE const _UF* actual,
edamame22 0:29983394c6b6 559 const _UU32 num_elements,
edamame22 0:29983394c6b6 560 const char* msg,
edamame22 0:29983394c6b6 561 const UNITY_LINE_TYPE lineNumber);
edamame22 0:29983394c6b6 562
edamame22 0:29983394c6b6 563 void UnityAssertFloatSpecial(const _UF actual,
edamame22 0:29983394c6b6 564 const char* msg,
edamame22 0:29983394c6b6 565 const UNITY_LINE_TYPE lineNumber,
edamame22 0:29983394c6b6 566 const UNITY_FLOAT_TRAIT_T style);
edamame22 0:29983394c6b6 567 #endif
edamame22 0:29983394c6b6 568
edamame22 0:29983394c6b6 569 #ifndef UNITY_EXCLUDE_DOUBLE
edamame22 0:29983394c6b6 570 void UnityAssertDoublesWithin(const _UD delta,
edamame22 0:29983394c6b6 571 const _UD expected,
edamame22 0:29983394c6b6 572 const _UD actual,
edamame22 0:29983394c6b6 573 const char* msg,
edamame22 0:29983394c6b6 574 const UNITY_LINE_TYPE lineNumber);
edamame22 0:29983394c6b6 575
edamame22 0:29983394c6b6 576 void UnityAssertEqualDoubleArray(UNITY_PTR_ATTRIBUTE const _UD* expected,
edamame22 0:29983394c6b6 577 UNITY_PTR_ATTRIBUTE const _UD* actual,
edamame22 0:29983394c6b6 578 const _UU32 num_elements,
edamame22 0:29983394c6b6 579 const char* msg,
edamame22 0:29983394c6b6 580 const UNITY_LINE_TYPE lineNumber);
edamame22 0:29983394c6b6 581
edamame22 0:29983394c6b6 582 void UnityAssertDoubleSpecial(const _UD actual,
edamame22 0:29983394c6b6 583 const char* msg,
edamame22 0:29983394c6b6 584 const UNITY_LINE_TYPE lineNumber,
edamame22 0:29983394c6b6 585 const UNITY_FLOAT_TRAIT_T style);
edamame22 0:29983394c6b6 586 #endif
edamame22 0:29983394c6b6 587
edamame22 0:29983394c6b6 588 /*-------------------------------------------------------
edamame22 0:29983394c6b6 589 * Error Strings We Might Need
edamame22 0:29983394c6b6 590 *-------------------------------------------------------*/
edamame22 0:29983394c6b6 591
edamame22 0:29983394c6b6 592 extern const char UnityStrErrFloat[];
edamame22 0:29983394c6b6 593 extern const char UnityStrErrDouble[];
edamame22 0:29983394c6b6 594 extern const char UnityStrErr64[];
edamame22 0:29983394c6b6 595
edamame22 0:29983394c6b6 596 /*-------------------------------------------------------
edamame22 0:29983394c6b6 597 * Test Running Macros
edamame22 0:29983394c6b6 598 *-------------------------------------------------------*/
edamame22 0:29983394c6b6 599
edamame22 0:29983394c6b6 600 #define TEST_PROTECT() (setjmp(Unity.AbortFrame) == 0)
edamame22 0:29983394c6b6 601
edamame22 0:29983394c6b6 602 #define TEST_ABORT() {longjmp(Unity.AbortFrame, 1);}
edamame22 0:29983394c6b6 603
edamame22 0:29983394c6b6 604 /* This tricky series of macros gives us an optional line argument to treat it as RUN_TEST(func, num=__LINE__) */
edamame22 0:29983394c6b6 605 #ifndef RUN_TEST
edamame22 0:29983394c6b6 606 #ifdef __STDC_VERSION__
edamame22 0:29983394c6b6 607 #if __STDC_VERSION__ >= 199901L
edamame22 0:29983394c6b6 608 #define RUN_TEST(...) UnityDefaultTestRun(RUN_TEST_FIRST(__VA_ARGS__), RUN_TEST_SECOND(__VA_ARGS__))
edamame22 0:29983394c6b6 609 #define RUN_TEST_FIRST(...) RUN_TEST_FIRST_HELPER(__VA_ARGS__, throwaway)
edamame22 0:29983394c6b6 610 #define RUN_TEST_FIRST_HELPER(first, ...) (first), #first
edamame22 0:29983394c6b6 611 #define RUN_TEST_SECOND(...) RUN_TEST_SECOND_HELPER(__VA_ARGS__, __LINE__, throwaway)
edamame22 0:29983394c6b6 612 #define RUN_TEST_SECOND_HELPER(first, second, ...) (second)
edamame22 0:29983394c6b6 613 #endif
edamame22 0:29983394c6b6 614 #endif
edamame22 0:29983394c6b6 615 #endif
edamame22 0:29983394c6b6 616
edamame22 0:29983394c6b6 617 /* If we can't do the tricky version, we'll just have to require them to always include the line number */
edamame22 0:29983394c6b6 618 #ifndef RUN_TEST
edamame22 0:29983394c6b6 619 #ifdef CMOCK
edamame22 0:29983394c6b6 620 #define RUN_TEST(func, num) UnityDefaultTestRun(func, #func, num)
edamame22 0:29983394c6b6 621 #else
edamame22 0:29983394c6b6 622 #define RUN_TEST(func) UnityDefaultTestRun(func, #func, __LINE__)
edamame22 0:29983394c6b6 623 #endif
edamame22 0:29983394c6b6 624 #endif
edamame22 0:29983394c6b6 625
edamame22 0:29983394c6b6 626 #define TEST_LINE_NUM (Unity.CurrentTestLineNumber)
edamame22 0:29983394c6b6 627 #define TEST_IS_IGNORED (Unity.CurrentTestIgnored)
edamame22 0:29983394c6b6 628 #define UNITY_NEW_TEST(a) \
edamame22 0:29983394c6b6 629 Unity.CurrentTestName = (a); \
edamame22 0:29983394c6b6 630 Unity.CurrentTestLineNumber = (UNITY_LINE_TYPE)(__LINE__); \
edamame22 0:29983394c6b6 631 Unity.NumberOfTests++;
edamame22 0:29983394c6b6 632
edamame22 0:29983394c6b6 633 #ifndef UNITY_BEGIN
edamame22 0:29983394c6b6 634 #define UNITY_BEGIN() UnityBegin(__FILE__)
edamame22 0:29983394c6b6 635 #endif
edamame22 0:29983394c6b6 636
edamame22 0:29983394c6b6 637 #ifndef UNITY_END
edamame22 0:29983394c6b6 638 #define UNITY_END() UnityEnd()
edamame22 0:29983394c6b6 639 #endif
edamame22 0:29983394c6b6 640
edamame22 0:29983394c6b6 641 #define UNITY_UNUSED(x) (void)(sizeof(x))
edamame22 0:29983394c6b6 642
edamame22 0:29983394c6b6 643 /*-------------------------------------------------------
edamame22 0:29983394c6b6 644 * Basic Fail and Ignore
edamame22 0:29983394c6b6 645 *-------------------------------------------------------*/
edamame22 0:29983394c6b6 646
edamame22 0:29983394c6b6 647 #define UNITY_TEST_FAIL(line, message) UnityFail( (message), (UNITY_LINE_TYPE)(line))
edamame22 0:29983394c6b6 648 #define UNITY_TEST_IGNORE(line, message) UnityIgnore( (message), (UNITY_LINE_TYPE)(line))
edamame22 0:29983394c6b6 649
edamame22 0:29983394c6b6 650 /*-------------------------------------------------------
edamame22 0:29983394c6b6 651 * Test Asserts
edamame22 0:29983394c6b6 652 *-------------------------------------------------------*/
edamame22 0:29983394c6b6 653
edamame22 0:29983394c6b6 654 #define UNITY_TEST_ASSERT(condition, line, message) if (condition) {} else {UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), (message));}
edamame22 0:29983394c6b6 655 #define UNITY_TEST_ASSERT_NULL(pointer, line, message) UNITY_TEST_ASSERT(((pointer) == NULL), (UNITY_LINE_TYPE)(line), (message))
edamame22 0:29983394c6b6 656 #define UNITY_TEST_ASSERT_NOT_NULL(pointer, line, message) UNITY_TEST_ASSERT(((pointer) != NULL), (UNITY_LINE_TYPE)(line), (message))
edamame22 0:29983394c6b6 657
edamame22 0:29983394c6b6 658 #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)
edamame22 0:29983394c6b6 659 #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)
edamame22 0:29983394c6b6 660 #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)
edamame22 0:29983394c6b6 661 #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)
edamame22 0:29983394c6b6 662 #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)
edamame22 0:29983394c6b6 663 #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)
edamame22 0:29983394c6b6 664 #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)
edamame22 0:29983394c6b6 665 #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)
edamame22 0:29983394c6b6 666 #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)
edamame22 0:29983394c6b6 667 #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)
edamame22 0:29983394c6b6 668 #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)
edamame22 0:29983394c6b6 669 #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))
edamame22 0:29983394c6b6 670
edamame22 0:29983394c6b6 671 #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)
edamame22 0:29983394c6b6 672 #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)
edamame22 0:29983394c6b6 673 #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)
edamame22 0:29983394c6b6 674 #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)
edamame22 0:29983394c6b6 675 #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)
edamame22 0:29983394c6b6 676 #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)
edamame22 0:29983394c6b6 677 #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)
edamame22 0:29983394c6b6 678 #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)
edamame22 0:29983394c6b6 679 #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)
edamame22 0:29983394c6b6 680 #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)
edamame22 0:29983394c6b6 681 #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)
edamame22 0:29983394c6b6 682
edamame22 0:29983394c6b6 683 #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)
edamame22 0:29983394c6b6 684 #define UNITY_TEST_ASSERT_EQUAL_STRING(expected, actual, line, message) UnityAssertEqualString((const char*)(expected), (const char*)(actual), (message), (UNITY_LINE_TYPE)(line))
edamame22 0:29983394c6b6 685 #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))
edamame22 0:29983394c6b6 686 #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))
edamame22 0:29983394c6b6 687
edamame22 0:29983394c6b6 688 #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)
edamame22 0:29983394c6b6 689 #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)
edamame22 0:29983394c6b6 690 #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)
edamame22 0:29983394c6b6 691 #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)
edamame22 0:29983394c6b6 692 #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)
edamame22 0:29983394c6b6 693 #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)
edamame22 0:29983394c6b6 694 #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)
edamame22 0:29983394c6b6 695 #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)
edamame22 0:29983394c6b6 696 #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)
edamame22 0:29983394c6b6 697 #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)
edamame22 0:29983394c6b6 698 #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)
edamame22 0:29983394c6b6 699 #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)
edamame22 0:29983394c6b6 700 #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))
edamame22 0:29983394c6b6 701 #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))
edamame22 0:29983394c6b6 702
edamame22 0:29983394c6b6 703 #ifdef UNITY_SUPPORT_64
edamame22 0:29983394c6b6 704 #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)
edamame22 0:29983394c6b6 705 #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)
edamame22 0:29983394c6b6 706 #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)
edamame22 0:29983394c6b6 707 #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)
edamame22 0:29983394c6b6 708 #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)
edamame22 0:29983394c6b6 709 #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)
edamame22 0:29983394c6b6 710 #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)
edamame22 0:29983394c6b6 711 #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)
edamame22 0:29983394c6b6 712 #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)
edamame22 0:29983394c6b6 713 #else
edamame22 0:29983394c6b6 714 #define UNITY_TEST_ASSERT_EQUAL_INT64(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64)
edamame22 0:29983394c6b6 715 #define UNITY_TEST_ASSERT_EQUAL_UINT64(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64)
edamame22 0:29983394c6b6 716 #define UNITY_TEST_ASSERT_EQUAL_HEX64(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64)
edamame22 0:29983394c6b6 717 #define UNITY_TEST_ASSERT_EQUAL_INT64_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64)
edamame22 0:29983394c6b6 718 #define UNITY_TEST_ASSERT_EQUAL_UINT64_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64)
edamame22 0:29983394c6b6 719 #define UNITY_TEST_ASSERT_EQUAL_HEX64_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64)
edamame22 0:29983394c6b6 720 #define UNITY_TEST_ASSERT_INT64_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64)
edamame22 0:29983394c6b6 721 #define UNITY_TEST_ASSERT_UINT64_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64)
edamame22 0:29983394c6b6 722 #define UNITY_TEST_ASSERT_HEX64_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64)
edamame22 0:29983394c6b6 723 #endif
edamame22 0:29983394c6b6 724
edamame22 0:29983394c6b6 725 #ifdef UNITY_EXCLUDE_FLOAT
edamame22 0:29983394c6b6 726 #define UNITY_TEST_ASSERT_FLOAT_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat)
edamame22 0:29983394c6b6 727 #define UNITY_TEST_ASSERT_EQUAL_FLOAT(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat)
edamame22 0:29983394c6b6 728 #define UNITY_TEST_ASSERT_EQUAL_FLOAT_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat)
edamame22 0:29983394c6b6 729 #define UNITY_TEST_ASSERT_FLOAT_IS_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat)
edamame22 0:29983394c6b6 730 #define UNITY_TEST_ASSERT_FLOAT_IS_NEG_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat)
edamame22 0:29983394c6b6 731 #define UNITY_TEST_ASSERT_FLOAT_IS_NAN(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat)
edamame22 0:29983394c6b6 732 #define UNITY_TEST_ASSERT_FLOAT_IS_DETERMINATE(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat)
edamame22 0:29983394c6b6 733 #define UNITY_TEST_ASSERT_FLOAT_IS_NOT_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat)
edamame22 0:29983394c6b6 734 #define UNITY_TEST_ASSERT_FLOAT_IS_NOT_NEG_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat)
edamame22 0:29983394c6b6 735 #define UNITY_TEST_ASSERT_FLOAT_IS_NOT_NAN(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat)
edamame22 0:29983394c6b6 736 #define UNITY_TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat)
edamame22 0:29983394c6b6 737 #else
edamame22 0:29983394c6b6 738 #define UNITY_TEST_ASSERT_FLOAT_WITHIN(delta, expected, actual, line, message) UnityAssertFloatsWithin((_UF)(delta), (_UF)(expected), (_UF)(actual), (message), (UNITY_LINE_TYPE)(line))
edamame22 0:29983394c6b6 739 #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))
edamame22 0:29983394c6b6 740 #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))
edamame22 0:29983394c6b6 741 #define UNITY_TEST_ASSERT_FLOAT_IS_INF(actual, line, message) UnityAssertFloatSpecial((_UF)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_INF)
edamame22 0:29983394c6b6 742 #define UNITY_TEST_ASSERT_FLOAT_IS_NEG_INF(actual, line, message) UnityAssertFloatSpecial((_UF)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NEG_INF)
edamame22 0:29983394c6b6 743 #define UNITY_TEST_ASSERT_FLOAT_IS_NAN(actual, line, message) UnityAssertFloatSpecial((_UF)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NAN)
edamame22 0:29983394c6b6 744 #define UNITY_TEST_ASSERT_FLOAT_IS_DETERMINATE(actual, line, message) UnityAssertFloatSpecial((_UF)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_DET)
edamame22 0:29983394c6b6 745 #define UNITY_TEST_ASSERT_FLOAT_IS_NOT_INF(actual, line, message) UnityAssertFloatSpecial((_UF)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_INF)
edamame22 0:29983394c6b6 746 #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)
edamame22 0:29983394c6b6 747 #define UNITY_TEST_ASSERT_FLOAT_IS_NOT_NAN(actual, line, message) UnityAssertFloatSpecial((_UF)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_NAN)
edamame22 0:29983394c6b6 748 #define UNITY_TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE(actual, line, message) UnityAssertFloatSpecial((_UF)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_DET)
edamame22 0:29983394c6b6 749 #endif
edamame22 0:29983394c6b6 750
edamame22 0:29983394c6b6 751 #ifdef UNITY_EXCLUDE_DOUBLE
edamame22 0:29983394c6b6 752 #define UNITY_TEST_ASSERT_DOUBLE_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble)
edamame22 0:29983394c6b6 753 #define UNITY_TEST_ASSERT_EQUAL_DOUBLE(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble)
edamame22 0:29983394c6b6 754 #define UNITY_TEST_ASSERT_EQUAL_DOUBLE_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble)
edamame22 0:29983394c6b6 755 #define UNITY_TEST_ASSERT_DOUBLE_IS_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble)
edamame22 0:29983394c6b6 756 #define UNITY_TEST_ASSERT_DOUBLE_IS_NEG_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble)
edamame22 0:29983394c6b6 757 #define UNITY_TEST_ASSERT_DOUBLE_IS_NAN(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble)
edamame22 0:29983394c6b6 758 #define UNITY_TEST_ASSERT_DOUBLE_IS_DETERMINATE(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble)
edamame22 0:29983394c6b6 759 #define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble)
edamame22 0:29983394c6b6 760 #define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NEG_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble)
edamame22 0:29983394c6b6 761 #define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NAN(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble)
edamame22 0:29983394c6b6 762 #define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble)
edamame22 0:29983394c6b6 763 #else
edamame22 0:29983394c6b6 764 #define UNITY_TEST_ASSERT_DOUBLE_WITHIN(delta, expected, actual, line, message) UnityAssertDoublesWithin((_UD)(delta), (_UD)(expected), (_UD)(actual), (message), (UNITY_LINE_TYPE)line)
edamame22 0:29983394c6b6 765 #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)
edamame22 0:29983394c6b6 766 #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)
edamame22 0:29983394c6b6 767 #define UNITY_TEST_ASSERT_DOUBLE_IS_INF(actual, line, message) UnityAssertDoubleSpecial((_UD)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_INF)
edamame22 0:29983394c6b6 768 #define UNITY_TEST_ASSERT_DOUBLE_IS_NEG_INF(actual, line, message) UnityAssertDoubleSpecial((_UD)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NEG_INF)
edamame22 0:29983394c6b6 769 #define UNITY_TEST_ASSERT_DOUBLE_IS_NAN(actual, line, message) UnityAssertDoubleSpecial((_UD)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NAN)
edamame22 0:29983394c6b6 770 #define UNITY_TEST_ASSERT_DOUBLE_IS_DETERMINATE(actual, line, message) UnityAssertDoubleSpecial((_UD)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_DET)
edamame22 0:29983394c6b6 771 #define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_INF(actual, line, message) UnityAssertDoubleSpecial((_UD)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_INF)
edamame22 0:29983394c6b6 772 #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)
edamame22 0:29983394c6b6 773 #define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NAN(actual, line, message) UnityAssertDoubleSpecial((_UD)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_NAN)
edamame22 0:29983394c6b6 774 #define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE(actual, line, message) UnityAssertDoubleSpecial((_UD)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_DET)
edamame22 0:29983394c6b6 775 #endif
edamame22 0:29983394c6b6 776
edamame22 0:29983394c6b6 777 /*
edamame22 0:29983394c6b6 778 * SA_PATCH: Output results using easy to parse tags.
edamame22 0:29983394c6b6 779 * These tags are used when sending out verbose Unity output ("-v").
edamame22 0:29983394c6b6 780 * They wrap each of the important data pieces, and allow parsing of the results by an
edamame22 0:29983394c6b6 781 * external tool.
edamame22 0:29983394c6b6 782 * The tags are always printed - this isn't configurable.
edamame22 0:29983394c6b6 783 */
edamame22 0:29983394c6b6 784
edamame22 0:29983394c6b6 785 #define UNITY_RESULTS_TAGS_TEST_START "<***UnityTest***>"
edamame22 0:29983394c6b6 786 #define UNITY_RESULTS_TAGS_TEST_END "</***UnityTest***>"
edamame22 0:29983394c6b6 787
edamame22 0:29983394c6b6 788 #define UNITY_RESULTS_TAGS_RESULT_START "<***UnityResult***>"
edamame22 0:29983394c6b6 789 #define UNITY_RESULTS_TAGS_RESULT_END "</***UnityResult***>"
edamame22 0:29983394c6b6 790
edamame22 0:29983394c6b6 791 #define UNITY_RESULTS_TAGS_IGNORE_START "<***UnityIgnoredTest***>"
edamame22 0:29983394c6b6 792 #define UNITY_RESULTS_TAGS_IGNORE_END "</***UnityIgnoredTest***>"
edamame22 0:29983394c6b6 793
edamame22 0:29983394c6b6 794 /* End of UNITY_INTERNALS_H */
edamame22 0:29983394c6b6 795 #endif