Preliminary main mbed library for nexpaq development
Diff: features/frameworks/unity/README.md
- Revision:
- 0:6c56fb4bc5f0
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/features/frameworks/unity/README.md Fri Nov 04 20:27:58 2016 +0000 @@ -0,0 +1,145 @@ +# UNITY: Unit Testing for C + +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. + +Please note that this module only contains the unity test macros, and no additions such as the unity fixtures. +Furthermore the failure macros have been modified to integrate with `utest` failure handlers, as `setjmp` and `longjmp` are not supported by `utest`. + +Specifically +- `UNITY_FAIL_AND_BAIL` calls `utest_unity_assert_failure()`, and +- `UNITY_IGNORE_AND_BAIL` calls `utest_unity_ignore_failure()` + +which then invoke the appropriate action in `utest`. + +**To use these macros you need to depend on both `unity` and `utest`!** + +For the original documentation of UNITY, please [visit the project's homepage](http://www.throwtheswitch.org/unity/). + +## Macros + +UNITY provides a lot of test macros. + +**Be aware of the macro argument order**: (EXPECTED VALUE, ACTUAL VALUE). +So `TEST_ASSERT_EQUAL(4, value);` is the right way around. + +Note, that you can provide a custom failure message by appending `_MESSAGE` to any macro and passing the message string as the _last argument_. + +#### Generic: + +- `TEST_FAIL()` +- `TEST_IGNORE()` +- `TEST_ONLY()` + +#### Boolean: + +- `TEST_ASSERT(condition)` +- `TEST_ASSERT_TRUE(condition)` +- `TEST_ASSERT_UNLESS(condition)` +- `TEST_ASSERT_FALSE(condition)` + +#### Pointer: + +- `TEST_ASSERT_NULL(pointer)` +- `TEST_ASSERT_NOT_NULL(pointer)` + +#### Equality: + +- `TEST_ASSERT_EQUAL(expected, actual)` +- `TEST_ASSERT_NOT_EQUAL(expected, actual)` +- `TEST_ASSERT_EQUAL_INT(expected, actual)` +- `TEST_ASSERT_EQUAL_INT8(expected, actual)` +- `TEST_ASSERT_EQUAL_INT16(expected, actual)` +- `TEST_ASSERT_EQUAL_INT32(expected, actual)` +- `TEST_ASSERT_EQUAL_INT64(expected, actual)` +- `TEST_ASSERT_EQUAL_UINT(expected, actual)` +- `TEST_ASSERT_EQUAL_UINT8(expected, actual)` +- `TEST_ASSERT_EQUAL_UINT16(expected, actual)` +- `TEST_ASSERT_EQUAL_UINT32(expected, actual)` +- `TEST_ASSERT_EQUAL_UINT64(expected, actual)` +- `TEST_ASSERT_EQUAL_HEX(expected, actual)` +- `TEST_ASSERT_EQUAL_HEX8(expected, actual)` +- `TEST_ASSERT_EQUAL_HEX16(expected, actual)` +- `TEST_ASSERT_EQUAL_HEX32(expected, actual)` +- `TEST_ASSERT_EQUAL_HEX64(expected, actual)` + +#### Bit Masks: + +- `TEST_ASSERT_BITS(mask, expected, actual)` +- `TEST_ASSERT_BITS_HIGH(mask, actual)` +- `TEST_ASSERT_BITS_LOW(mask, actual)` +- `TEST_ASSERT_BIT_HIGH(bit, actual)` +- `TEST_ASSERT_BIT_LOW(bit, actual)` + +#### Deltas: + +- `TEST_ASSERT_INT_WITHIN(delta, expected, actual)` +- `TEST_ASSERT_INT8_WITHIN(delta, expected, actual)` +- `TEST_ASSERT_INT16_WITHIN(delta, expected, actual)` +- `TEST_ASSERT_INT32_WITHIN(delta, expected, actual)` +- `TEST_ASSERT_INT64_WITHIN(delta, expected, actual)` +- `TEST_ASSERT_UINT_WITHIN(delta, expected, actual)` +- `TEST_ASSERT_UINT8_WITHIN(delta, expected, actual)` +- `TEST_ASSERT_UINT16_WITHIN(delta, expected, actual)` +- `TEST_ASSERT_UINT32_WITHIN(delta, expected, actual)` +- `TEST_ASSERT_UINT64_WITHIN(delta, expected, actual)` +- `TEST_ASSERT_HEX_WITHIN(delta, expected, actual)` +- `TEST_ASSERT_HEX8_WITHIN(delta, expected, actual)` +- `TEST_ASSERT_HEX16_WITHIN(delta, expected, actual)` +- `TEST_ASSERT_HEX32_WITHIN(delta, expected, actual)` +- `TEST_ASSERT_HEX64_WITHIN(delta, expected, actual)` + +#### Memory: + +- `TEST_ASSERT_EQUAL_PTR(expected, actual)` +- `TEST_ASSERT_EQUAL_STRING(expected, actual)` +- `TEST_ASSERT_EQUAL_STRING_LEN(expected, actual, len)` +- `TEST_ASSERT_EQUAL_MEMORY(expected, actual, len)` + +#### Array: + +- `TEST_ASSERT_EQUAL_INT_ARRAY(expected, actual, num_elements)` +- `TEST_ASSERT_EQUAL_INT8_ARRAY(expected, actual, num_elements)` +- `TEST_ASSERT_EQUAL_INT16_ARRAY(expected, actual, num_elements)` +- `TEST_ASSERT_EQUAL_INT32_ARRAY(expected, actual, num_elements)` +- `TEST_ASSERT_EQUAL_INT64_ARRAY(expected, actual, num_elements)` +- `TEST_ASSERT_EQUAL_UINT_ARRAY(expected, actual, num_elements)` +- `TEST_ASSERT_EQUAL_UINT8_ARRAY(expected, actual, num_elements)` +- `TEST_ASSERT_EQUAL_UINT16_ARRAY(expected, actual, num_elements)` +- `TEST_ASSERT_EQUAL_UINT32_ARRAY(expected, actual, num_elements)` +- `TEST_ASSERT_EQUAL_UINT64_ARRAY(expected, actual, num_elements)` +- `TEST_ASSERT_EQUAL_HEX_ARRAY(expected, actual, num_elements)` +- `TEST_ASSERT_EQUAL_HEX8_ARRAY(expected, actual, num_elements)` +- `TEST_ASSERT_EQUAL_HEX16_ARRAY(expected, actual, num_elements)` +- `TEST_ASSERT_EQUAL_HEX32_ARRAY(expected, actual, num_elements)` +- `TEST_ASSERT_EQUAL_HEX64_ARRAY(expected, actual, num_elements)` +- `TEST_ASSERT_EQUAL_PTR_ARRAY(expected, actual, num_elements)` +- `TEST_ASSERT_EQUAL_STRING_ARRAY(expected, actual, num_elements)` +- `TEST_ASSERT_EQUAL_MEMORY_ARRAY(expected, actual, len, num_elements)` + +#### Single Precision Floating Point: + +- `TEST_ASSERT_FLOAT_WITHIN(delta, expected, actual)` +- `TEST_ASSERT_EQUAL_FLOAT(expected, actual)` +- `TEST_ASSERT_EQUAL_FLOAT_ARRAY(expected, actual, num_elements)` +- `TEST_ASSERT_FLOAT_IS_INF(actual)` +- `TEST_ASSERT_FLOAT_IS_NEG_INF(actual)` +- `TEST_ASSERT_FLOAT_IS_NAN(actual)` +- `TEST_ASSERT_FLOAT_IS_DETERMINATE(actual)` +- `TEST_ASSERT_FLOAT_IS_NOT_INF(actual)` +- `TEST_ASSERT_FLOAT_IS_NOT_NEG_INF(actual)` +- `TEST_ASSERT_FLOAT_IS_NOT_NAN(actual)` +- `TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE(actual)` + +#### Double Precision Floating Point: + +- `TEST_ASSERT_DOUBLE_WITHIN(delta, expected, actual)` +- `TEST_ASSERT_EQUAL_DOUBLE(expected, actual)` +- `TEST_ASSERT_EQUAL_DOUBLE_ARRAY(expected, actual, num_elements)` +- `TEST_ASSERT_DOUBLE_IS_INF(actual)` +- `TEST_ASSERT_DOUBLE_IS_NEG_INF(actual)` +- `TEST_ASSERT_DOUBLE_IS_NAN(actual)` +- `TEST_ASSERT_DOUBLE_IS_DETERMINATE(actual)` +- `TEST_ASSERT_DOUBLE_IS_NOT_INF(actual)` +- `TEST_ASSERT_DOUBLE_IS_NOT_NEG_INF(actual)` +- `TEST_ASSERT_DOUBLE_IS_NOT_NAN(actual)` +- `TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE(actual)`