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

61 Commits

Author SHA1 Message Date
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
Mark VanderVoord
3399bba27b - merged in changes by TheGreenDroid to reduce Lint and Compiler warnings 2013-09-22 12:10:42 -04:00
Antony Male
6dd44f23c9 Allow pointer types to have an attribute
Microchip's XC16 and friends, when used with dsPICs, require that all pointers
to memory which could possibly be in EDS space by adorned with __eds__, e.g.

    __eds__ int* p_int

Adding the macro UNITY_PTR_ATTRIBUTE allows Unity's pointers to be decorated
with whatever ridiculous attributes the compiler requires.
2013-09-17 10:10:43 +01:00
Bryan A. Jones
5b1e9818e2 Fix: Clean up UINTY_xxx_WIDTH detection.
Document failing approach (sizeof).
2012-11-29 15:34:09 -06:00
Ross Ryles
b9b18bf547 Added new asserts to check for plus/minus infinity and NaN. 2012-10-30 17:08:43 +00:00
Alex Rodriguez
e95f662683 Fix issue \#7 INTx_WITHIN_MESSAGE() macro
The reason that TEST_ASSERT_xyz_WITHIN_MESSAGE() family of functions
doesn't print any message is because is calling a re-use macro from the
TEST_ASSERT_xyz_WITHIN() family of functions. Due this two functions in
unity.h calls the same function from unity_internals.h, the message is
nullified at this point. The issue is fix by passing _message_ arg to
the 4th argument of *UnityAssertNumbersWithin()* function.
2012-08-28 15:06:09 -07:00
John Van Enk
b7d9d007ce Merge branch 'master' of github.com:ThrowTheSwitch/Unity
Conflicts:
	src/unity_internals.h
2012-06-20 20:03:36 -04:00
mvandervoord
91ea65ca12 - I've decided to automatically turn on 64-bit support if the pointers, ints, or longs require it.
git-svn-id: http://unity.svn.sourceforge.net/svnroot/unity/trunk@142 e7d17a6e-8845-0410-bbbc-c8efb4fdad7e
2012-05-28 01:07:35 +00:00
mvandervoord
c4f0537c0c - changed the default handling to always include stdint unless told to exclude it.
git-svn-id: http://unity.svn.sourceforge.net/svnroot/unity/trunk@140 e7d17a6e-8845-0410-bbbc-c8efb4fdad7e
2012-05-27 21:54:53 +00:00
mvandervoord
dbdc603024 - further fixes to pointer auto-detect
git-svn-id: http://unity.svn.sourceforge.net/svnroot/unity/trunk@139 e7d17a6e-8845-0410-bbbc-c8efb4fdad7e
2012-05-27 21:48:49 +00:00
mvandervoord
c1b954eb9d - added size auto-detection support from limits.h
- fixed error in _INT macro size guessing

git-svn-id: http://unity.svn.sourceforge.net/svnroot/unity/trunk@138 e7d17a6e-8845-0410-bbbc-c8efb4fdad7e
2012-05-27 20:29:33 +00:00
Scott Vokes
4742b5d77a Change gcc.yml default to gcc_32.yml (explicitly compile for 32-bit target) 2012-04-27 11:53:12 -04:00
Scott Vokes
d0c3f24f4d If using UNITY_SUPPORT_64, UNITY_POINTER_WIDTH should default to 64 (not 32).
Fixes failing test cases on 64-bit OSX: pointers to local variables were
being converted to U32s before comparison.
2012-04-27 10:31:54 -04:00
mvandervoord
d0d5ec5d75 - unity_test_summary script callable from command line again
- fixed obj_file sorting in rakefiles
- gave better anchors for gcc to grab on test pass/fail by breaking them out as functions
- fixed minor type issues

git-svn-id: http://unity.svn.sourceforge.net/svnroot/unity/trunk@137 e7d17a6e-8845-0410-bbbc-c8efb4fdad7e
2012-01-02 21:38:36 +00:00
mvandervoord
3a82e1eeab - fixed summarizer to handle more generic input
- ignore comments in test parser
- fixed a couple bugs in 16-bit support
- fixed minor compiler errors for less lenient compilers
- fixed error in docs.
- renamed link to link_it in rakefiles to avoid collision in new versions of rake

git-svn-id: http://unity.svn.sourceforge.net/svnroot/unity/trunk@136 e7d17a6e-8845-0410-bbbc-c8efb4fdad7e
2011-10-11 02:40:04 +00:00
mvandervoord
152e78a4a8 - cleaned up pointer support to handle arrays and to give error when you have an illegal configuration
git-svn-id: http://unity.svn.sourceforge.net/svnroot/unity/trunk@135 e7d17a6e-8845-0410-bbbc-c8efb4fdad7e
2011-05-14 15:52:52 +00:00
mvandervoord
504bf2edee - fixed conditional self-tests
- rolled in DOUBLE support from Mark Vismer (thanks!)

git-svn-id: http://unity.svn.sourceforge.net/svnroot/unity/trunk@134 e7d17a6e-8845-0410-bbbc-c8efb4fdad7e
2011-05-03 11:05:56 +00:00
mvandervoord
43b4c94f7b - protect against ints that only have differences in higher nibbles that shouldn't be part of comparison
git-svn-id: http://unity.svn.sourceforge.net/svnroot/unity/trunk@130 e7d17a6e-8845-0410-bbbc-c8efb4fdad7e
2011-04-20 11:56:56 +00:00
mvandervoord
4b8d521247 - version file is just going to have major and minor... leave build for the other file (which will hopefully be automatic someday).
- only extern the output function when it's custom.

git-svn-id: http://unity.svn.sourceforge.net/svnroot/unity/trunk@113 e7d17a6e-8845-0410-bbbc-c8efb4fdad7e
2011-01-14 00:54:12 +00:00
mvandervoord
57178b9295 - tweaked parameterized tests to be C99 standards compliant
- fixed a few bugs in fixtures to get it to pass against our standard compilers
- added extern of OUTPUT_CHAR method to keep compilers from complaining

git-svn-id: http://unity.svn.sourceforge.net/svnroot/unity/trunk@107 e7d17a6e-8845-0410-bbbc-c8efb4fdad7e
2010-12-01 01:56:24 +00:00
mvandervoord
f2ce354f99 - cleaned up test runner problems. again getting ready to support parameterized tests
git-svn-id: http://unity.svn.sourceforge.net/svnroot/unity/trunk@103 e7d17a6e-8845-0410-bbbc-c8efb4fdad7e
2010-11-10 16:15:09 +00:00
mvandervoord
7ecafcbe5c - revert last change until I figure out what I screwed up
git-svn-id: http://unity.svn.sourceforge.net/svnroot/unity/trunk@102 e7d17a6e-8845-0410-bbbc-c8efb4fdad7e
2010-11-10 15:35:57 +00:00