1
0
mirror of https://github.com/ThrowTheSwitch/Unity.git synced 2026-01-24 08:51:36 +01:00
Commit Graph

167 Commits

Author SHA1 Message Date
Alessio Centazzo
8bbfe1f5ac Fix warning from issue #507
UnityFail() and UnityIgnore had the noreturn attribute with long jumps disabled
2020-06-06 08:07:57 -07:00
André Draszik
a6a4e9766d unity: annotate noreturn APIs (fix Wsuggest-attribute=noreturn warnings)
GCC (& Clang) have the notion of pure and const functions [1],
where those attributes are intended to help the optimiser.

Annotate a few APIs here with the appropriate key words, which
also fixes Wsuggest-attribute=noreturn warning, which a
source base might have enabled:
Compiling unity.c...
.../src/unity.c: In function ‘UnityFail’:
.../src/unity.c:1759:6: warning: function might be candidate for attribute ‘noreturn’ [-Wsuggest-attribute=noreturn]
 1759 | void UnityFail(const char* msg, const UNITY_LINE_TYPE line)
      |      ^~~~~~~~~
.../src/unity.c: In function ‘UnityIgnore’:
.../src/unity.c:1796:6: warning: function might be candidate for attribute ‘noreturn’ [-Wsuggest-attribute=noreturn]
 1796 | void UnityIgnore(const char* msg, const UNITY_LINE_TYPE line)
      |      ^~~~~~~~~~~

[1] https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html

Signed-off-by: André Draszik <git@andred.net>
2020-05-25 15:49:47 +01:00
Alari Õis
97f6d55256 c99 support for new RUN_TEST macro 2020-05-04 08:20:19 +03:00
Alari Õis
cdfb7e092c More elegant RUN_TEST macro 2020-05-01 08:18:09 +03:00
John Lindgren
2485d49d13 Wrap UNITY_TEST_ASSERT in a do ... while(0) block
This ensures that constructions like the following work correctly:

  if(condition)
    TEST_ASSERT(a);
  else
    TEST_ASSERT(b);
2020-04-09 13:03:16 -04:00
mvandervoord
99199515fd Update documentation.
Add UNITY_PRINT_TEST_CONTEXT (thanks @jlindgren90 !)
Replaces PR #473
2020-03-17 15:01:46 -04:00
mvandervoord
71e77ce6fb Added NOT-EQUAL int variants.
Organized Unit Tests
2020-03-16 18:45:40 -04:00
mvandervoord
bad429428d Add assertion for checking empty null-terminated arrays. This is particularly useful for check c strings. 2020-03-16 15:04:40 -04:00
Jørn Villesen Christensen
3da0b4652c Implement macro TEST_PRINTF: Works like TEST_MESSAGE, but with a format-string.
Depends on UnityPrintFormatted (define UNITY_INCLUDE_PRINT_FORMATTED).
UnityPrintFormatted has been renamed to UnityPrintF due to changes below.

API of UnityPrintFormatted has been changed (hence the rename), but end users
(developers) can use the TEST_PRINTF as an almost-drop-in replacement TEST_PRINTF
is compatible with the old UnityPrintFormatted API (see below).

The behaviour of UnityPrintF has also been changed:
  - Now it prefixes the outout with test location information Output is marked
    as INFO.
  - It adds an EOL.

Both behaviours adopted from other output functions.
2020-02-14 22:43:51 +01:00
mvandervoord
ef0cf704d9 Centralize all testing to the test folder instead of each subproject.
Trigger ALL tests when calling `rake test:all` instead of that being just the core tests.
2019-12-14 22:24:30 -05:00
mvandervoord
e3132cdddd Change the way we ignore the default runner. 2019-12-05 13:51:55 -05:00
mvandervoord
c5c36ab29f Do NOT include the default test runner if a custom runner has been defined.
Cleanup some style issues.
2019-12-05 13:19:43 -05:00
Mark VanderVoord
37a0f7184c Merge pull request #459 from elliot-gawthrop/combined_suite
Option to omit UnityBegin/UnityEnd calls in generate_test_runner
2019-10-30 09:33:18 -04:00
John Lindgren
32e6d93ab0 Fix TEST_ASSERT_HEX64_ARRAY_WITHIN truncating delta to 32 bits. 2019-10-29 16:59:59 -04:00
anon
a303e08859 Option to omit UnityBegin/UnityEnd calls in generate_test_runner
By passing --omit_begin_end=1 to generate_test_runner.rb, the script
will now omit calls to UnityBegin and UnityEnd when running tests in a
suite.

This allows multiple suites to be executed in a row, and then have an overall
summary of the tests which were executed across all suites.
2019-10-29 20:32:06 +00:00
mvandervoord
354e2b4da6 Added set of assertions for checking CHAR's and CHAR arrays (not as strings) 2019-10-28 16:54:32 -04:00
mvandervoord
368a7d8970 Fixed a couple of mistakes in last commit 2019-10-25 11:20:25 -04:00
mvandervoord
d16c27b085 - added target for checking ANSI compliance
- fixed ANSI (C89) issues, including #418
2019-10-25 10:17:12 -04:00
Mark VanderVoord
d9b0edf282 Switch from the inconsistent use of weak symbols to handling setup, etc in script generators 2019-10-21 14:21:52 -04:00
Mark VanderVoord
0000f1e6d2 Add TEST_MESSAGE for outputting messages without aborting a test and _MESSAGE variant to TEST_PASS collection. 2019-07-06 11:02:32 -04:00
Mark VanderVoord
bc72eeb211 Merge pull request #425 from farrrb/fix-ti-c55-sizeof
TI C55x compatibility patches - removal of sizeof operator from the interfaces
2019-07-05 15:41:41 -04:00
Mark VanderVoord
c30730faf6 cleanup warning. 2019-07-03 15:07:44 -04:00
Mark VanderVoord
f2d826c7c5 - Added options for how to handle TEST_ASSERT_EQUAL shorthand
- Tweak a couple style problems with Ruby scripts.
2019-07-03 15:03:03 -04:00
Fabian Zahn
2b250055bc Add indentation for type autodetection macros 2019-05-12 19:57:54 +02:00
Fabian Zahn
ae3aad7b89 Remove the remaining sizeof() operators from internal interface
sizeof() is a hell of an operator and returns the size of a data type in terms of "addressable units" which is not necessarily the size in bytes. To circumvent this problem and in order to keep the API clean we try to remove all sizeof() from the API.
2019-05-12 09:24:49 +02:00
Mark VanderVoord
d70047881e Merge pull request #377 from elliot-gawthrop/execution-time-embedded
Execution time improvements
2019-05-04 07:53:37 -04:00
Mark VanderVoord
94446cdb5e Merge pull request #404 from farrrb/fix-nibbles-UnityPrintNumberHex
Fixed maximum number of nibbles for processor where sizeof() operator…
2019-05-04 07:39:59 -04:00
Mark VanderVoord
2b0d093837 Merge pull request #403 from farrrb/fix-issue-392
Used sizeof operator for pointer increments in UnityAssertEqualIntArray().
2019-05-04 07:39:22 -04:00
Dom Postorivo
9340582797 ARRAY_WITHIN in unity 2019-04-20 14:10:56 -04:00
Dom Postorivo
0bd6bf7b2b Use Pass string from unity.c in unity_fixture.c to garuntee colour behavior 2019-04-13 14:29:06 -04:00
Fabian Zahn
d01e32299e Used sizeof() operator for pointer increments and substituted sizeof() operator for the unsigned int mask calculation to "UNITY_INT_WIDTH / 8" in function "UnityAssertEqualIntArray". 2019-04-07 18:34:25 +02:00
Fabian Zahn
52ff8613a2 Fixed maximum number of nibbles for processor where sizeof() operator doesn't return the size of a type in 8-bit bytes (e.g. the TI C2000 series). 2019-04-07 12:09:00 +02:00
elliot
076f0fff56 Improvements to the execution time feature
- Running time macros have been made more portable, previously it was not
  possible to override all macros
- Running time macros will be executed by default test runner, and auto test
  runners
- Adds a default execution time implementation for unix. (Previous default
  implementation only worked on Windows)
- For embedded platforms there is a simple method of getting a default
  implementation by defining a single macro UNITY_CLOCK_MS()
- Removed need for UNITY_EXEC_TIME_RESET. This was not being used for the default
  implementations, if anything ever did need reset-like functionality it could
  simply be wrapped up with the start or stop macros for that platform
2019-01-31 22:01:20 +00:00
Fabian Zahn
b723c9f250 Added braces to avoid implementation solely based on operator precedence. 2019-01-30 21:26:35 +01:00
Fabian Zahn
95ccc6edc1 Changed the compiler switch behaviour for printf (default: disabled).
Macro UNITY_EXCLUDE_PRINT_FORMATTED changed to UNITY_INCLUDE_PRINT_FORMATTED.
Enable printf via "-DUNITY_INCLUDE_PRINT_FORMATTED" compiler option.
2019-01-24 18:42:51 +01:00
Fabian Zahn
5918ee0cdf Merge branch 'master' into feature-printf
# Conflicts:
#	src/unity.c
2019-01-24 18:32:07 +01:00
Kochise
be765649f1 Some cleanup 2018-10-31 11:24:37 +01:00
Fabian Zahn
f1100dd19a Added support for %b (bits / binary), %f (float) and %g (double). 2018-10-27 18:21:01 +02:00
Fabian Zahn
b4ab81bbe9 Added first working implementation. 2018-10-27 16:06:38 +02:00
Levin Messing
7cc3cf478b fixed compile error UNITY_PRINT_EXEC_TIME() 2018-10-18 23:55:38 +02:00
Fabian Zahn
e2e549a22f Added include of 'stddef.h' to 'unity_internals.h' if 'UNITY_EXCLUDE_STDDEF_H' is not defined. This adds compiler independent support for the 'NULL' macro. 2018-10-14 14:11:22 +02:00
elliot
fb4b139043 Fixed UNITY_EXEC_TIME_STOP macro ifdef 2018-07-28 20:14:00 +01:00
elliot
f0e4571c96 Merge branch 'master' into unit-test-execution-time 2018-07-28 20:01:50 +01:00
Fabian Zahn
8efa8ffc62 Removed UNITY_OMIT_OUTPUT_FLUSH_HEADER_DECLARATION to simplify the behaviour 2018-02-18 13:57:34 +01:00
Jeremy Hannon
9bada282f4 MISRA 19.10: parentheses around macro params
MISRA 2004 rule 19.10: inside macros, surround each parameter usage with parentheses.
2018-02-10 14:27:03 -06:00
Jeremy Hannon
91a2353526 MISRA 16.4: param names match func decl & defn
parameter names should match between declaration and definition.
(MISRA 2004 rule 16.4)
2018-02-10 13:15:34 -06:00
Mark VanderVoord
774da10e00 Merge pull request #296 from jlindgren90/master
Allow suiteSetUp() and suiteTearDown() to be provided as normal C functions (Thanks @jlindgren90 )
2017-11-04 09:04:53 -04:00
John Lindgren
df78aade4b Make weak symbol usage more portable:
- Enable support for Green Hills Software compiler
- Define weak implementations only once except on Windows
2017-10-09 11:39:48 -04:00
jsalling
b119919c4f Add 64-bit comparison asserts 2017-09-20 18:26:17 -05:00
jsalling
91bcbe186d Add 'greater/less or equal to' asserts on integers
Make all comparison operators on integers available
2017-09-20 18:24:23 -05:00