618 Commits

Author SHA1 Message Date
55a75ded7a Improved header file generation.
Changed the guard syntax as it was cumbersome for header files in deep
sub-directories. Added framework/mock includes to make the header file
stand alone. Made sure that a valid prototype was generated in the case of
no arguments (void).
2016-01-20 13:48:15 +00:00
2e4799111c Added a command line option to change the name of main.
This allows alternative entry points. This is intended for the
integration of the unit test into a larger system or for it to be used with
a platform/OS which requires an application entry point other than main. At
the moment there is no way to change the type signature.
2016-01-20 13:45:25 +00:00
cd472439bf Fixture rakefile has a conflict defining UNITY_OUTPUT_CHAR
Make core Unity rakefile helper follow Fixture define procedure.
 This commit reverts parts of 36e2ca1.
2016-01-19 23:47:32 -06:00
34a30f8e98 Delete dangling function prototype in Fixture internals 2016-01-19 21:47:40 -06:00
a7b60dfc88 Consistent use of * in types in the Fixture, whitespace only 2016-01-19 21:47:32 -06:00
693417847b Remove unnecessary stdio.h dependency and clean up Fixture
Delete unused variables and empty functions
 Make setUp & tearDown (used in Unity core) optionally defined
  if 'weak' linking is present
2016-01-15 22:35:43 -06:00
10146392c8 Merge pull request #154 from jsalling/bugfix/AssertNumbersWithin-overflow
Bugfix for UnityAssertNumbersWithin()
2016-01-07 20:45:35 -05:00
33325f4a0b More fixes to line endings 2016-01-07 14:20:59 -05:00
d1111d92af Merge pull request #152 from jsalling/feature/fixture-ignore-tests-require-spy
Fixture - require spy or else ignore tests
2016-01-07 07:56:47 -05:00
716f88caca Merge pull request #153 from jsalling/refactor/trailing-whitespace
Fix trailing whitespace CRLF, no code changes
2016-01-06 20:41:34 -05:00
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
8ca3062ad4 Adding tests for overflow when calling UnityAssertNumbersWithin()
32 or 64 bit test will fail if compiled with -m32 or -m64, repectively
  on clang or gcc
 Fixes to the failures will follow
2016-01-06 17:41:02 -06:00
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
edfba3793e Merge pull request #151 from jsalling/bugfix/add-tests-for-printing-numbers
Add tests for printing numbers, interface for spying on output strings (Thanks! I like this idea!)
2016-01-05 19:17:52 -05:00
f52538d401 - fix whitespace
- tweak docs
2016-01-04 19:30:38 -05:00
0decf21b9d Merge pull request #149 from jsalling/refactor/fixture-cleanup
Refactor Fixture, no EOL with ignored tests, add a Makefile for Fixture tests
2016-01-04 18:46:22 -05:00
eac0943f53 Merge pull request #148 from jsalling/master
Fix printing of largest negative number
2016-01-04 18:42:24 -05:00
a61ba9d43f Merge pull request #150 from pacheco017/unity-float-verbose-includes
Include <stdio.h> (for sprintf) when using UNITY_FLOAT_VERBOSE (thanks pacheco017!)
2015-12-28 13:17:28 -05:00
fe4001f876 Include <stdio.h> (for sprintf) when using UNITY_FLOAT_VERBOSE 2015-12-28 15:04:27 -03:00
c5bfe0e100 Fixture C99 compliance on tricky macros for Spy & match core Unity version
Add CFLAGS in Fixture Makefile to catch C99 rules with '-pedantic'
2015-12-22 12:40:31 -06:00
5cc5e3473d Add MACROs to check if tests are built using the Output Spy
Ignore tests that need the Spy if we are not building with it
2015-12-21 14:37:23 -06:00
36e2ca192b Adding -D UNITY_OUTPUT_CHAR=putcharSpy to testing build targets
Updated clang and gcc targets. Fixed spelling of LIMITS, which breaks the
  gcc_auto_sizeof.yml build.
 Commented -Wunreachable-code, Unity won't build on OSX clang with it,
  error in unity.c:769 & 932: 'default: break;' case.
2015-12-21 11:39:50 -06:00
a3d81dfa41 Add tests for printing numbers using a compile time replacement spy
If Unity core is compiled with UNITY_OUTPUT_CHAR = putcharSpy, these tests
  will run, otherwise they are ignored and print a message
 Includes an implementation of putcharSpy, which allows checking the I/O
  from Unity during a test. Follows closely from the Fixture spy
 Tricky macros determine if putcharSpy is injected
2015-12-20 22:00:02 -06:00
caa3f6663d Add Makefile to fixture/test to make building tests easier
No rake and ruby required to build existing tests
2015-12-18 17:48:35 -06:00
c629e120e1 Fix Leak Detection always passing, but printing a fail message
Don't set CurrentTestFailed = 0 at end, move before last check
 These tests now fail if the output_Spy is not used instead of putchar()
2015-12-16 17:21:09 -06:00
81cf5eb626 Do not add EOL after every ignored test using Unity Fixture
Revert part of commit 77af37ad, code looked like a temporary change
 The behavior is back to the original, printing "....!..." in quiet mode
 Added an ignored test to Fixture for visual inspection
2015-12-15 20:57:22 -06:00
1703bd1a5e Reduce stack usage by removing unnecessary call from group runner in Fixture
Defining a group_runner which calls group_runner_runAll() is redundant
2015-12-15 12:05:38 -06:00
f75f489b6e Get rid of magic numbers and strlen call for 'end' string in Fixture
Using sizeof() instead of constant 4, makes code less fragile to change
 Change name of 'guard' in Guard struct to 'guard_space'
2015-12-15 12:05:38 -06:00
e966a079a4 Fix printing of largest negative number, MIN 64-bits, -9223372036854775808
'divisor' ranges from 1 to 1e18, representable by a long or unsigned long
 'number' becomes negative when cast as signed, so remove the cast and
  keep conversion warnings quiet by turning 'divisor' unsigned
2015-12-14 15:15:09 -06:00
e8662ae1cc - Get these pointers all straightened out! Allow us to override them 2015-12-10 21:47:03 -05:00
86b0d628fd - Applied details to FAIL messages as well 2015-12-10 18:42:45 -05:00
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
dfbf21c2a3 - Added ability to tack on details to a Unity failure message. 2015-12-10 13:06:41 -05:00
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
90813a3e78 ignore more stuff we don't care about 2015-12-03 16:01:39 -05:00
535fe43c2a Merge pull request #146 from jsalling/unity-eol
Move UNITY_PRINT_EOL to internals, change to function macro (Thanks, jsalling!)
2015-11-24 06:43:27 -05:00
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
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
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
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
e4a99b5f96 Merge pull request #141 from adiorion/cpp-fixes
Fix some C++ compatibility issues
2015-11-13 08:15:03 -05:00
16e535c9f8 Merge pull request #142 from paul-wilkinson/docs-typo
docs: fix some typos
2015-11-10 12:05:41 -05:00
1c080665aa docs: fix some typos 2015-11-09 19:53:06 +00:00
d4b83f180b define setUp and tearDown under UNITY_WEAK_PRAGMA
The intent of UNITY_WEAK_PRAGMA is that we have weak symbols for setUp
and tearDown in unity.o, so that developers can override these symbols
if needed but the link works right if they are not defined.

In order to do this using #pragma, the pragma and the definition of the
function (not the declaration) need to be present in the same translation
unit (source code file).

Previously, the UNITY_WEAK_PRAGMA code was just declaring the setUp
function, but not defining it, which means that developers had to add an
empty setUp function to their tests in order to link.
2015-10-28 18:04:43 -07:00
0c9fc9bb33 add prototypes for setUp and tearDown to unity.h 2015-10-27 18:47:31 -07:00
bc8533836b add C++ guards in unity.h 2015-10-27 18:46:59 -07:00
e896830484 Merge pull request #139 from jeremyhannon/master
MISRA rule 19.10: parentheses around macro params
2015-10-15 06:29:11 -04:00
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
6621bc81c4 Merge pull request #136 from algernon/h/fixture/unity_free-NULL-safety
unity_fixture: Make unity_free() NULL-safe
2015-10-06 06:50:52 -04:00
1affe544d2 unity_fixture: Make unity_free() NULL-safe
At the start of unity_free(), check mem for NULL, and return immediately
if it is, so we don't crash in this case. This mimics the behaviour of
most free() implementations. Closes #135.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2015-10-06 10:44:44 +02:00