1
0
mirror of https://github.com/ThrowTheSwitch/Unity.git synced 2026-01-23 08:25:58 +01:00
Commit Graph

82 Commits

Author SHA1 Message Date
jsalling
28c94bd403 Remove references to UNITY_EXCLUDE_SIZEOF, rework config header 2016-08-25 08:48:29 -05:00
jsalling
e4e2210eb6 Improving integer width detection
The C preprocessor cannot use sizeof in #if etc.
2016-08-25 08:32:42 -05:00
Mark VanderVoord
f276c79f9b Merge branch 'feature/cmd_line_args' 2016-08-11 13:37:51 -04:00
Daniel Murdin
f1a4a5e652 Weak attribute fix for TMS470 Compilers.
Change-Id: I901bf192d3c06457d67c6d3a64bdb9aea22c53c2
2016-07-13 10:36:43 +02:00
Mark VanderVoord
eba387fa3e - Add tests which prove command line arguments now work with runner. Fixed a few bugs in this area. 2016-06-27 08:41:58 -04:00
Mark VanderVoord
4d3d062b56 Adding command line support. Started with -n (test name matching) -x (test name exclusion).
Script verification hasn't been added yet.
2016-06-21 16:07:10 -04:00
Mark VanderVoord
b3bc196ab3 making new flush routines work under all defined conditions. 2016-06-21 10:01:34 -04:00
Andrzej Bieniek
61dd3f181b Change comments style in unity and test runner to compile with std=c89 2016-05-15 14:35:50 +01:00
Mark VanderVoord
c5c392b18a update UNITY_OUTPUT_CHAR to not return a value (because we never check it anyway).
add UNITY_OUTPUT_FLUSH to make sure we get the output we need on aborted tests and whatnot.
2016-05-06 10:47:39 -04:00
jsalling
593a03462e Add an option to omit UNITY_OUTPUT_CHAR declaration from the header
This solves the warnings from -Wredundant-decls when overriding the
  OUTPUT function with a function declared in another header.
 It's better this is the non-default option, since using it requires either
  a declaration of the new function OR a preprocessor guard on declaring
  UNITY_OUTPUT_CHAR (as in unity.c here), in every file using the function.
 See Pull Request #185 for more.
2016-04-24 23:30:19 -05:00
jsalling
573481729b Revert commits 720ea42 and a27b03c which broke the Fixture build
These were aimed at preventing the internals header from declaring
  a prototype for 'int UNITY_OUTPUT_CHAR(int);'. The second part fixed
  an omitted declaration in the tests caused by the first commit.
 Will replace the default behavior & add an option for this in next commit
2016-04-24 23:30:01 -05:00
Jerry Jacobs
a27b03c79a UNITY_OUTPUT_CHAR can emit a redundant declaration, we scope the extern declartion to the unity.c 2016-04-13 12:19:04 +02:00
jsalling
13c99601a7 Add a value to FLOAT_TRAIT enum to enforce use of default case in switches
Revert the previous commit. Add tests for extended enum cases.
 Fix crash due to accessing 'trait_names' array out of bounds.
 Adding an extra invalid value to the end of an enum causes '-Wswitch' flag
  to warn unless there is a switch default case - also enabled by '-Wall'.
2016-03-02 14:56:09 -06:00
jsalling
3bb51bd740 Fix C89 warnings about variables at top of scope, enums, variadic macros
Add extern UnityFixture in internals header. Add C89 target in Makefile
 clang will show these warnings but can suppress "//" with -Wno-comment.
2016-02-26 20:51:04 -06:00
jsalling
4108319007 Fix for overflow issue in UnityAssertNumbersWithin()
Make subtraction result unsigned, change prototype & casts in internals.
 If "actual - expected" overflowed, it wrapped to a negative number,
  but would fit in an unsigned type, example is INT_MAX - (-1) = INT_MIN
 For correctness, 'delta' should be unsigned too. Passing in a negative
  number always passed. The delta can be between INT_MAX & UINT_MAX.
2016-01-06 17:41:06 -06:00
jsalling
04adb2d2c9 Fix trailing whitespace CRLF, no code changes
Now that the project is using .gitattributes, get rid of CRLF in the repo.
2016-01-06 17:23:43 -06:00
Mark VanderVoord
e8662ae1cc - Get these pointers all straightened out! Allow us to override them 2015-12-10 21:47:03 -05:00
Mark VanderVoord
28195baaba - Made some tweaks to the way the new detail handling works (to make it look nicer, mostly)
- Fixed a big ugly error in the fancy RUN_TEST handler
2015-12-10 18:12:45 -05:00
Mark VanderVoord
dfbf21c2a3 - Added ability to tack on details to a Unity failure message. 2015-12-10 13:06:41 -05:00
Mark VanderVoord
9aeaee26c9 - Cleaned up UnitPointer_Set (thanks Eric)
- Cleaned up a casting warning error
- Removed a couple semicolons from the end of macros SHAME!
2015-12-07 21:41:44 -05:00
jsalling
de7cf8335e Transform plain macro into a function macro, UNITY_PRINT_EOL()
This helps clarity and is more obvious, it looks like a print function
2015-11-23 21:03:46 -06:00
jsalling
d4353166d2 Replace all hard-coded '\n' with UNITY_PRINT_EOL macro in fixture
Delete the { ;} braces and semicolon from UNITY_PRINT_EOL to give it expected
  behavior: 1) requires a semicolon 2) works in one-liner if-else statements
If you need "\r\n" for EOL, define as the following to get the same behavior:
  do{UNITY_OUTPUT_CHAR('\r'); UNITY_OUTPUT_CHAR('\n');}while(0)
2015-11-23 17:09:30 -06:00
jsalling
5fc2b092d3 Move UNITY_PRINT_EOL to internals to allow access to it.
Unity fixture needs access to this macro to be consistent.
Add #ifndef wrapper for easier redefinition on systems that use "\r\n".
2015-11-23 14:21:43 -06:00
Mark VanderVoord
c6dc96f387 We're going to use the C99 isinf() and isnan() macros wherever possible now. If your compiler doesn't support this, define UNITY_EXCLUDE_MATH_H and it will go back to the old method 2015-11-13 09:16:42 -05:00
Jeremy Hannon
1273112a05 MISRA rule 19.10: parentheses around macro params
Added parentheses around all macro parameters to resolve MISRA 2004
rule 19.10, "in the definition of a function-like macro, each instance
of a parameter shall be enclosed in parenthesis" as tested with the
IAR EW for 8051 compiler, version 9.20.2.

The only questionable change is in "unity_fixture.h" where the nested
macro DECLARE_TEST_CASE in RUN_TEST_CASE prevents surrounding params
"group" and "name" with parentheses.
However, it appears that macro DECLARE_TEST_CASE isn't used elsewhere,
so I eliminated DECLARE_TEST_CASE and put its expansion directly in
RUN_TEST_CASE.  Now the following header files pass rule 19.10:
* unity.h
* unity_internals.h
* unity_fixture.h

For my own project, this change to the Unity test framework allows me
to include my unit test code to be tested against MISRA rules as well,
instead of just production code, to help enforce style and team
guidelines.
2015-10-14 17:19:26 -05:00
Martyn Jago
70d6cb5780 Fix custom message for 64bit WITHIN_MESSAGE macros 2015-09-18 11:54:09 +01:00
Mark VanderVoord
16a7d30d5e INTPTR_MAX is defined as nothing on some targets (looking at you HP-UX) and therefore these lines would crash. Adding 0 to the check makes these lines always run. 2015-07-21 08:38:48 -04:00
Mark VanderVoord
08ffed33d4 Merge pull request #108 from eivindt/test-equal-string-len
New asserter: TEST_ASSERT_EQUAL_STRING_LEN
2015-06-19 13:38:10 -04:00
ThingamaByte, LLC
77af37add0 - catch optional fixtures plugin up to mainline unity (somewhat. like fixing line endings) 2015-06-18 17:16:01 -04:00
Eivind Tagseth
61c0b0b75c Added support for TEST_ASSERT_EQUAL_STRING_LEN*
Compares two strings until maximum n bytes (i.e. strncmp()).
2015-04-23 15:39:19 +02:00
Zane D. Purvis
cadee02e79 New macros for controlling use of weak linkage
- `UNITY_WEAK_ATTRIBUTE`, if defined, is placed before declarations of weakly
   linked symbols. If not manually defined, it will be automatically set to
   `__attribute__((weak))` on GCC and Clang, except for Clang for Win32.
 - `UNITY_WEAK_PRAGMA`, if defined, will cause preprocessor to emit
   `#pragma weak setUp`, etc. Ignored if `UNITY_WEAK_ATTRIBUTE` is defined.
 - `UNITY_NO_WEAK` undefines both of the above resulting in no weakly
   linked symbols.

Work around for ThrowTheSwitch/Unity#93
2014-12-15 16:18:49 -05:00
Mark VanderVoord
4a145c10b3 reworked character strings to be an array type so that storage classes are handled better for picky compilers. 2014-10-26 19:52:17 -04:00
Mark VanderVoord
09e23cea49 - added UNITY_NEW_TEST macro for simpler RUN_TEST creation 2014-10-24 21:12:15 -04:00
Mark VanderVoord
14b074336b reenable results summary.
support tests named spec as well.
clean up UnityBegin to make us not have to dig inside it to inject the filename.
Add UNITY_OUTPUT_START() and UNITY_OUTPUT_COMPLETE() for future use.
2014-07-30 22:12:49 -04:00
Mark VanderVoord
bff1fc68cb rearranged project to centralize all self-test stuff under test directory. only pull in includes when required. 2014-07-30 10:14:02 -04:00
Mark VanderVoord
3ca172edbb moved things that should be in internals into internals. 2014-07-29 15:08:49 -04:00
Mark VanderVoord
b5050c6ed3 redirect UNITY_POINTER_WIDTH to define at last catchable moment. Update older gcc targets to be fully explicit. 2014-07-29 13:42:15 -04:00
Mark VanderVoord
16e560147c further refinement of auto-detecting integer types 2014-07-29 11:56:59 -04:00
Mark VanderVoord
93db16b6dc - add the rest of the WITHIN integer options (why were those missing? laziness?)
- rename the custom FLOAT_TRAIT type because the old name was poor
2014-07-22 13:43:06 -04:00
Mark VanderVoord
a568862a0c centralize strings for easier maintenance. 2014-07-21 18:52:35 -04:00
Mark VanderVoord
9fe750ba89 finish cleaning up floating point support
added macros for IS_DETERMINATE and IS_NOT_DETERMINATE
2014-07-21 16:37:18 -04:00
Mark VanderVoord
a8bd7b5af2 continue to streamline floating point support 2014-07-21 14:38:25 -04:00
Mark VanderVoord
96155881ed - rework to not bother with any of the ever-changing test frameworks in Ruby (sigh) for self-testing
- started working on cleaner floating point support. more coming.
2014-07-21 14:00:53 -04:00
Mark VanderVoord
39cc60ce56 - support "weak" function definitions when available with compiler. 2014-07-08 12:14:26 -04:00
Mark VanderVoord
8f6f34f98a fixed format tags for u/int assertions 2014-03-07 15:31:52 -05:00
Mark VanderVoord
291c2980e0 Merge pull request #62 from anthonyboorsma/master
fixed casts in UNITY_TEST_ASSERT_EQUAL_UINT*.  (Thanks Anthony)
2014-03-07 14:47:26 -05:00
Anthony Boorsma
9ddfa74a7e fixed casts in UNITY_TEST_ASSERT_EQUAL_UINT*. Was previously casting to signed variables and then sign extending the value before casting to final uint and was causing errorneous test failures when executed on arm target 2014-03-06 09:35:32 -05:00
Mark VanderVoord
701ee5101d fixed another double-float issue: make sure doubles are not both included and excluded. 2014-02-28 15:57:37 -05:00
Mark VanderVoord
bd0d5ecf29 more tweaks (cast to the right type) 2014-02-28 15:47:11 -05:00
Mark VanderVoord
60f0c1a8ae fixed double calls to actually use double handler instead of float handler 2014-02-28 15:25:02 -05:00