takashi kadono / Mbed OS Nucleo_446

Dependencies:   ssd1331

Committer:
kadonotakashi
Date:
Wed Oct 10 00:33:53 2018 +0000
Revision:
0:8fdf9a60065b
how to make mbed librry

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kadonotakashi 0:8fdf9a60065b 1 # UNITY: Unit Testing for C
kadonotakashi 0:8fdf9a60065b 2
kadonotakashi 0:8fdf9a60065b 3 This yotta module is a fork of the [UNITY test framework](http://www.throwtheswitch.org/unity/) with minor modifications to be able to use it with the [utest harness](https://github.com/ARMmbed/utest) for mbed OS.
kadonotakashi 0:8fdf9a60065b 4
kadonotakashi 0:8fdf9a60065b 5 Please note that this module only contains the unity test macros, and no additions such as the unity fixtures.
kadonotakashi 0:8fdf9a60065b 6 Furthermore the failure macros have been modified to integrate with `utest` failure handlers, as `setjmp` and `longjmp` are not supported by `utest`.
kadonotakashi 0:8fdf9a60065b 7
kadonotakashi 0:8fdf9a60065b 8 Specifically
kadonotakashi 0:8fdf9a60065b 9 - `UNITY_FAIL_AND_BAIL` calls `utest_unity_assert_failure()`, and
kadonotakashi 0:8fdf9a60065b 10 - `UNITY_IGNORE_AND_BAIL` calls `utest_unity_ignore_failure()`
kadonotakashi 0:8fdf9a60065b 11
kadonotakashi 0:8fdf9a60065b 12 which then invoke the appropriate action in `utest`.
kadonotakashi 0:8fdf9a60065b 13
kadonotakashi 0:8fdf9a60065b 14 **To use these macros you need to depend on both `unity` and `utest`!**
kadonotakashi 0:8fdf9a60065b 15
kadonotakashi 0:8fdf9a60065b 16 For the original documentation of UNITY, please [visit the project's homepage](http://www.throwtheswitch.org/unity/).
kadonotakashi 0:8fdf9a60065b 17
kadonotakashi 0:8fdf9a60065b 18 ## Macros
kadonotakashi 0:8fdf9a60065b 19
kadonotakashi 0:8fdf9a60065b 20 UNITY provides a lot of test macros.
kadonotakashi 0:8fdf9a60065b 21
kadonotakashi 0:8fdf9a60065b 22 **Be aware of the macro argument order**: (EXPECTED VALUE, ACTUAL VALUE).
kadonotakashi 0:8fdf9a60065b 23 So `TEST_ASSERT_EQUAL(4, value);` is the right way around.
kadonotakashi 0:8fdf9a60065b 24
kadonotakashi 0:8fdf9a60065b 25 Note, that you can provide a custom failure message by appending `_MESSAGE` to any macro and passing the message string as the _last argument_.
kadonotakashi 0:8fdf9a60065b 26
kadonotakashi 0:8fdf9a60065b 27 #### Generic:
kadonotakashi 0:8fdf9a60065b 28
kadonotakashi 0:8fdf9a60065b 29 - `TEST_FAIL()`
kadonotakashi 0:8fdf9a60065b 30 - `TEST_IGNORE()`
kadonotakashi 0:8fdf9a60065b 31 - `TEST_ONLY()`
kadonotakashi 0:8fdf9a60065b 32
kadonotakashi 0:8fdf9a60065b 33 #### Boolean:
kadonotakashi 0:8fdf9a60065b 34
kadonotakashi 0:8fdf9a60065b 35 - `TEST_ASSERT(condition)`
kadonotakashi 0:8fdf9a60065b 36 - `TEST_ASSERT_TRUE(condition)`
kadonotakashi 0:8fdf9a60065b 37 - `TEST_ASSERT_UNLESS(condition)`
kadonotakashi 0:8fdf9a60065b 38 - `TEST_ASSERT_FALSE(condition)`
kadonotakashi 0:8fdf9a60065b 39
kadonotakashi 0:8fdf9a60065b 40 #### Pointer:
kadonotakashi 0:8fdf9a60065b 41
kadonotakashi 0:8fdf9a60065b 42 - `TEST_ASSERT_NULL(pointer)`
kadonotakashi 0:8fdf9a60065b 43 - `TEST_ASSERT_NOT_NULL(pointer)`
kadonotakashi 0:8fdf9a60065b 44
kadonotakashi 0:8fdf9a60065b 45 #### Equality:
kadonotakashi 0:8fdf9a60065b 46
kadonotakashi 0:8fdf9a60065b 47 - `TEST_ASSERT_EQUAL(expected, actual)`
kadonotakashi 0:8fdf9a60065b 48 - `TEST_ASSERT_NOT_EQUAL(expected, actual)`
kadonotakashi 0:8fdf9a60065b 49 - `TEST_ASSERT_EQUAL_INT(expected, actual)`
kadonotakashi 0:8fdf9a60065b 50 - `TEST_ASSERT_EQUAL_INT8(expected, actual)`
kadonotakashi 0:8fdf9a60065b 51 - `TEST_ASSERT_EQUAL_INT16(expected, actual)`
kadonotakashi 0:8fdf9a60065b 52 - `TEST_ASSERT_EQUAL_INT32(expected, actual)`
kadonotakashi 0:8fdf9a60065b 53 - `TEST_ASSERT_EQUAL_INT64(expected, actual)`
kadonotakashi 0:8fdf9a60065b 54 - `TEST_ASSERT_EQUAL_UINT(expected, actual)`
kadonotakashi 0:8fdf9a60065b 55 - `TEST_ASSERT_EQUAL_UINT8(expected, actual)`
kadonotakashi 0:8fdf9a60065b 56 - `TEST_ASSERT_EQUAL_UINT16(expected, actual)`
kadonotakashi 0:8fdf9a60065b 57 - `TEST_ASSERT_EQUAL_UINT32(expected, actual)`
kadonotakashi 0:8fdf9a60065b 58 - `TEST_ASSERT_EQUAL_UINT64(expected, actual)`
kadonotakashi 0:8fdf9a60065b 59 - `TEST_ASSERT_EQUAL_HEX(expected, actual)`
kadonotakashi 0:8fdf9a60065b 60 - `TEST_ASSERT_EQUAL_HEX8(expected, actual)`
kadonotakashi 0:8fdf9a60065b 61 - `TEST_ASSERT_EQUAL_HEX16(expected, actual)`
kadonotakashi 0:8fdf9a60065b 62 - `TEST_ASSERT_EQUAL_HEX32(expected, actual)`
kadonotakashi 0:8fdf9a60065b 63 - `TEST_ASSERT_EQUAL_HEX64(expected, actual)`
kadonotakashi 0:8fdf9a60065b 64
kadonotakashi 0:8fdf9a60065b 65 #### Bit Masks:
kadonotakashi 0:8fdf9a60065b 66
kadonotakashi 0:8fdf9a60065b 67 - `TEST_ASSERT_BITS(mask, expected, actual)`
kadonotakashi 0:8fdf9a60065b 68 - `TEST_ASSERT_BITS_HIGH(mask, actual)`
kadonotakashi 0:8fdf9a60065b 69 - `TEST_ASSERT_BITS_LOW(mask, actual)`
kadonotakashi 0:8fdf9a60065b 70 - `TEST_ASSERT_BIT_HIGH(bit, actual)`
kadonotakashi 0:8fdf9a60065b 71 - `TEST_ASSERT_BIT_LOW(bit, actual)`
kadonotakashi 0:8fdf9a60065b 72
kadonotakashi 0:8fdf9a60065b 73 #### Deltas:
kadonotakashi 0:8fdf9a60065b 74
kadonotakashi 0:8fdf9a60065b 75 - `TEST_ASSERT_INT_WITHIN(delta, expected, actual)`
kadonotakashi 0:8fdf9a60065b 76 - `TEST_ASSERT_INT8_WITHIN(delta, expected, actual)`
kadonotakashi 0:8fdf9a60065b 77 - `TEST_ASSERT_INT16_WITHIN(delta, expected, actual)`
kadonotakashi 0:8fdf9a60065b 78 - `TEST_ASSERT_INT32_WITHIN(delta, expected, actual)`
kadonotakashi 0:8fdf9a60065b 79 - `TEST_ASSERT_INT64_WITHIN(delta, expected, actual)`
kadonotakashi 0:8fdf9a60065b 80 - `TEST_ASSERT_UINT_WITHIN(delta, expected, actual)`
kadonotakashi 0:8fdf9a60065b 81 - `TEST_ASSERT_UINT8_WITHIN(delta, expected, actual)`
kadonotakashi 0:8fdf9a60065b 82 - `TEST_ASSERT_UINT16_WITHIN(delta, expected, actual)`
kadonotakashi 0:8fdf9a60065b 83 - `TEST_ASSERT_UINT32_WITHIN(delta, expected, actual)`
kadonotakashi 0:8fdf9a60065b 84 - `TEST_ASSERT_UINT64_WITHIN(delta, expected, actual)`
kadonotakashi 0:8fdf9a60065b 85 - `TEST_ASSERT_HEX_WITHIN(delta, expected, actual)`
kadonotakashi 0:8fdf9a60065b 86 - `TEST_ASSERT_HEX8_WITHIN(delta, expected, actual)`
kadonotakashi 0:8fdf9a60065b 87 - `TEST_ASSERT_HEX16_WITHIN(delta, expected, actual)`
kadonotakashi 0:8fdf9a60065b 88 - `TEST_ASSERT_HEX32_WITHIN(delta, expected, actual)`
kadonotakashi 0:8fdf9a60065b 89 - `TEST_ASSERT_HEX64_WITHIN(delta, expected, actual)`
kadonotakashi 0:8fdf9a60065b 90
kadonotakashi 0:8fdf9a60065b 91 #### Memory:
kadonotakashi 0:8fdf9a60065b 92
kadonotakashi 0:8fdf9a60065b 93 - `TEST_ASSERT_EQUAL_PTR(expected, actual)`
kadonotakashi 0:8fdf9a60065b 94 - `TEST_ASSERT_EQUAL_STRING(expected, actual)`
kadonotakashi 0:8fdf9a60065b 95 - `TEST_ASSERT_EQUAL_STRING_LEN(expected, actual, len)`
kadonotakashi 0:8fdf9a60065b 96 - `TEST_ASSERT_EQUAL_MEMORY(expected, actual, len)`
kadonotakashi 0:8fdf9a60065b 97
kadonotakashi 0:8fdf9a60065b 98 #### Array:
kadonotakashi 0:8fdf9a60065b 99
kadonotakashi 0:8fdf9a60065b 100 - `TEST_ASSERT_EQUAL_INT_ARRAY(expected, actual, num_elements)`
kadonotakashi 0:8fdf9a60065b 101 - `TEST_ASSERT_EQUAL_INT8_ARRAY(expected, actual, num_elements)`
kadonotakashi 0:8fdf9a60065b 102 - `TEST_ASSERT_EQUAL_INT16_ARRAY(expected, actual, num_elements)`
kadonotakashi 0:8fdf9a60065b 103 - `TEST_ASSERT_EQUAL_INT32_ARRAY(expected, actual, num_elements)`
kadonotakashi 0:8fdf9a60065b 104 - `TEST_ASSERT_EQUAL_INT64_ARRAY(expected, actual, num_elements)`
kadonotakashi 0:8fdf9a60065b 105 - `TEST_ASSERT_EQUAL_UINT_ARRAY(expected, actual, num_elements)`
kadonotakashi 0:8fdf9a60065b 106 - `TEST_ASSERT_EQUAL_UINT8_ARRAY(expected, actual, num_elements)`
kadonotakashi 0:8fdf9a60065b 107 - `TEST_ASSERT_EQUAL_UINT16_ARRAY(expected, actual, num_elements)`
kadonotakashi 0:8fdf9a60065b 108 - `TEST_ASSERT_EQUAL_UINT32_ARRAY(expected, actual, num_elements)`
kadonotakashi 0:8fdf9a60065b 109 - `TEST_ASSERT_EQUAL_UINT64_ARRAY(expected, actual, num_elements)`
kadonotakashi 0:8fdf9a60065b 110 - `TEST_ASSERT_EQUAL_HEX_ARRAY(expected, actual, num_elements)`
kadonotakashi 0:8fdf9a60065b 111 - `TEST_ASSERT_EQUAL_HEX8_ARRAY(expected, actual, num_elements)`
kadonotakashi 0:8fdf9a60065b 112 - `TEST_ASSERT_EQUAL_HEX16_ARRAY(expected, actual, num_elements)`
kadonotakashi 0:8fdf9a60065b 113 - `TEST_ASSERT_EQUAL_HEX32_ARRAY(expected, actual, num_elements)`
kadonotakashi 0:8fdf9a60065b 114 - `TEST_ASSERT_EQUAL_HEX64_ARRAY(expected, actual, num_elements)`
kadonotakashi 0:8fdf9a60065b 115 - `TEST_ASSERT_EQUAL_PTR_ARRAY(expected, actual, num_elements)`
kadonotakashi 0:8fdf9a60065b 116 - `TEST_ASSERT_EQUAL_STRING_ARRAY(expected, actual, num_elements)`
kadonotakashi 0:8fdf9a60065b 117 - `TEST_ASSERT_EQUAL_MEMORY_ARRAY(expected, actual, len, num_elements)`
kadonotakashi 0:8fdf9a60065b 118
kadonotakashi 0:8fdf9a60065b 119 #### Single Precision Floating Point:
kadonotakashi 0:8fdf9a60065b 120
kadonotakashi 0:8fdf9a60065b 121 - `TEST_ASSERT_FLOAT_WITHIN(delta, expected, actual)`
kadonotakashi 0:8fdf9a60065b 122 - `TEST_ASSERT_EQUAL_FLOAT(expected, actual)`
kadonotakashi 0:8fdf9a60065b 123 - `TEST_ASSERT_EQUAL_FLOAT_ARRAY(expected, actual, num_elements)`
kadonotakashi 0:8fdf9a60065b 124 - `TEST_ASSERT_FLOAT_IS_INF(actual)`
kadonotakashi 0:8fdf9a60065b 125 - `TEST_ASSERT_FLOAT_IS_NEG_INF(actual)`
kadonotakashi 0:8fdf9a60065b 126 - `TEST_ASSERT_FLOAT_IS_NAN(actual)`
kadonotakashi 0:8fdf9a60065b 127 - `TEST_ASSERT_FLOAT_IS_DETERMINATE(actual)`
kadonotakashi 0:8fdf9a60065b 128 - `TEST_ASSERT_FLOAT_IS_NOT_INF(actual)`
kadonotakashi 0:8fdf9a60065b 129 - `TEST_ASSERT_FLOAT_IS_NOT_NEG_INF(actual)`
kadonotakashi 0:8fdf9a60065b 130 - `TEST_ASSERT_FLOAT_IS_NOT_NAN(actual)`
kadonotakashi 0:8fdf9a60065b 131 - `TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE(actual)`
kadonotakashi 0:8fdf9a60065b 132
kadonotakashi 0:8fdf9a60065b 133 #### Double Precision Floating Point:
kadonotakashi 0:8fdf9a60065b 134
kadonotakashi 0:8fdf9a60065b 135 - `TEST_ASSERT_DOUBLE_WITHIN(delta, expected, actual)`
kadonotakashi 0:8fdf9a60065b 136 - `TEST_ASSERT_EQUAL_DOUBLE(expected, actual)`
kadonotakashi 0:8fdf9a60065b 137 - `TEST_ASSERT_EQUAL_DOUBLE_ARRAY(expected, actual, num_elements)`
kadonotakashi 0:8fdf9a60065b 138 - `TEST_ASSERT_DOUBLE_IS_INF(actual)`
kadonotakashi 0:8fdf9a60065b 139 - `TEST_ASSERT_DOUBLE_IS_NEG_INF(actual)`
kadonotakashi 0:8fdf9a60065b 140 - `TEST_ASSERT_DOUBLE_IS_NAN(actual)`
kadonotakashi 0:8fdf9a60065b 141 - `TEST_ASSERT_DOUBLE_IS_DETERMINATE(actual)`
kadonotakashi 0:8fdf9a60065b 142 - `TEST_ASSERT_DOUBLE_IS_NOT_INF(actual)`
kadonotakashi 0:8fdf9a60065b 143 - `TEST_ASSERT_DOUBLE_IS_NOT_NEG_INF(actual)`
kadonotakashi 0:8fdf9a60065b 144 - `TEST_ASSERT_DOUBLE_IS_NOT_NAN(actual)`
kadonotakashi 0:8fdf9a60065b 145 - `TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE(actual)`