59 Commits

Author SHA1 Message Date
0dddf498c2 also update strings to support each element of an array. 2017-03-21 23:57:15 -04:00
a11a13750d Added memory each equal assertion 2017-03-21 18:28:49 -04:00
d8d67a708c Added each_equal assertions for float and double 2017-03-21 17:05:19 -04:00
b7956ea988 Added more tests for all the numerical types when performing each_equal assertions 2017-03-21 16:24:16 -04:00
7fe31915d0 Added some tests to prove this works. Still work in progress 2017-03-21 14:37:52 -04:00
b4f6afa4cf Test for printing max width of a hex number, back to 100% test coverage
Correct clean target and print test fails during coverage in Makefile
2017-01-23 23:05:06 -06:00
ef1e2ad58c Option to exclude setjump/longjmp, setjmp.h
Using this option changes the control flow of Unity, but is useful on
constrained embedded systems. You can't fully simulate the power of
'longjmp' with just 'return', but Unity still works well, all tests pass.
2017-01-14 11:15:30 -06:00
9954d4f863 Merge pull request #244 from jsalling/cleanup/promotion-warnings
Remove promotion warnings on float constants, Inline the isneg/ispos macros
2017-01-13 15:46:07 -05:00
7b87a579d1 Merge pull request #245 from jsalling/feature/teardown-not-ignore
Always run the tearDown() even if test is ignored
2017-01-13 15:43:26 -05:00
9e8ab3df84 Merge pull request #241 from jsalling/cleanup/float-testing
Cleanup floating point print testing, update docs
2017-01-13 15:42:15 -05:00
f771f0b98f Finish cleaning up float options in testunity 2016-12-29 23:06:34 -06:00
bd4ac58486 Inline the isneg/ispos macros, remove promotion warnings on constants
Originated from commit c6dc96f3 but are rarely used and not in math.h
Removes float to double promotion warning and simplifies the code
'gcc -std=gnu99 -Wdouble-promotion' spits out these warnings
2016-12-29 20:47:03 -06:00
65e401f3de Always run the tearDown() even if test is ignored 2016-12-24 13:56:04 -06:00
64f90b1925 Fix test that failed when any other test failed, too distracting 2016-12-23 22:57:21 -06:00
b0870ec8b9 Merge branch 'feature/print-floats'
Fix new type name conflicts

Conflicts:
	src/unity.c
	src/unity_internals.h
2016-12-15 21:15:30 -06:00
8e31f5d869 Revised internal type naming scheme to better sandbox Unity away from everything else. Sure, short was nice, but not at the expense of naming collisions. 2016-11-29 08:38:51 -05:00
aa4d773df2 Tests for Printing All float values
Takes about 10 minutes to run all floats, so split into 3 tests for parallel
running later. This was useful during development for finding hard corner cases
and getting the routine to high quality. Off by default.
Note that all floats 16.0 and up can be represented uniquely (in this format) and will
round-trip back to the exact same float with sscanf(). This property is true for
UnityPrintFloat, despite a few rounding error cases, it will produce output identity.

Better comments and refactor on round ties to even
Add upper threshold value on round to even feature since numerical precision issues
start to give approximations when dividing one large double by another. When tested
on float values, using 1e22 gave the fewest rounding errors.

Fix warnings from gcc. Some float constants do not behave well in existing tests.
Add casts where conversions could be imprecise.
2016-11-19 13:59:19 -06:00
25f6417351 Refactor repeated code to print float expected and actual
Move double tests down in the file
2016-11-19 13:52:24 -06:00
9f4b1a332f Tests for Printing Floating Point numbers 2016-11-19 13:52:24 -06:00
47f6a85b8c Make UnityPrintFloat on by default
Remove UNITY_FLOAT_VERBOSE entirely, add option UNITY_EXCLUDE_FLOAT_PRINT
Remove some questionable float casts from doubles
Default to Round Ties to Even behavior, add option to Round Ties Away from Zero
2016-11-19 13:52:24 -06:00
54fe786fae Round ties to even by default, many C libraries follow this
Linux gcc & clang and OSX clang produce output with ties round to even
Windows mingw gcc does not
Example 0.0078125 prints '0.007812'
2016-11-19 13:52:24 -06:00
4a27d14734 Correct boundary conditions and add tests 2016-11-19 13:52:24 -06:00
1dfcb54491 Start adding tests. Add const and simplify code. 2016-11-19 13:52:24 -06:00
e48fe0a07c Reorganize NaN and Inf printing into if-else blocks 2016-11-19 13:51:59 -06:00
4faae4435d removed duplicated declaration of putcharSpy 2016-11-16 21:37:51 -02:00
933cc97364 Add option to set NaN != NaN for floating point assertions 2016-10-10 21:20:10 -05:00
dce6d329ff Finished fixing floating point comparisons. We have streamlined how floats and doubles are checked, but we still can't compare them for equality directly. So we're directly testing for infinite and NaN before checking diffs. Also, we've officially decided that for testing purposes NaN shall equal NaN, +Inf shall equal +Inf, and -Inf shall equal -Inf. It's what most people expect during a test. 2016-09-22 08:35:22 -04:00
7dc17efbb3 Merge pull request #215 from jsalling/bugfix/inf-equals-inf
Bugfix Inf equals Inf
2016-09-21 20:52:58 -04:00
95435afa4e Merge pull request #214 from jsalling/feature/c-strings
Print escapes for C strings
2016-09-07 07:48:09 -04:00
de39186187 Add test for C string escape sequences 2016-09-01 01:18:03 -05:00
af590028fa Unity to print C-style escaped strings as "\x16"
Changes from "\0x16" before, makes it easier to copy strings from output
2016-09-01 01:18:03 -05:00
0cc3e45a23 Suppress output of FAIL messages that are expected during testing
Works when using the putcharSpy, transparent without it
2016-08-31 20:43:21 -05:00
028ca953d7 Finish checking for equal floats in Arrays functions
Refactor to use the same code everywhere for FloatWithin check
 Rename and fix a few tests for new behavior, infinity == infinity
2016-08-27 15:12:45 -05:00
268c5b7e0b Make testunity.c printing uniform during failure, delete word "Previous" 2016-08-25 23:02:11 -05:00
3108aba5c7 If two floats happen to be equal, return right away
Covers the cases where infinity == infinity
2016-08-23 22:36:02 -05:00
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
c5238adab2 100% code coverage for Unity project
Add test for failure count and UnityEnd return value
 Cover printing escape codes with length parameter
 Full statement coverage
2016-05-03 21:58:29 -05:00
bff491c73c Test strings not equal to NULL when using length parameter 2016-05-03 20:47:00 -05:00
7c270e0541 Test that details are printed in a direct TEST_FAIL call 2016-05-03 20:31:37 -05:00
4164540333 Test number arrays for two NULL inputs, it should pass
More statement coverage on NULL input feature
2016-05-03 20:26:42 -05:00
213e47178c Test string arrays and memory comparison with length 0, it should fail 2016-05-03 20:17:38 -05:00
a6748f39cd Test number arrays comparison with length 0, it should fail
Get test coverage on this feature for int, float, & double
2016-05-03 20:14:30 -05:00
4f2cdb03fc Merge pull request #185 from jsalling/feature/output-declaration
Add Unity Fixture to the travisCI build and restore header declaration of UNITY_OUTPUT_CHAR
2016-04-26 22:53:41 -04:00
6a02f7e51c Fixup issues when compiling with clang -Wmissing-variable-declarations 2016-04-26 14:17:10 +02:00
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
720ea42a82 tests/testunity.c: Fix after redundant declarations fix 2016-04-13 12:59:31 +02:00
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
f55bed38a6 Delete function call syntax from Spy detect macros
This fixes #168. See that github.com issue for more discussion.
 Allows the tests to build when putchar() is defined as a macro
  with parenthesis around it, as in the ARM embedded gcc compiler.
2016-02-25 10:41:04 -06:00
433ee63575 Added ability to finish test immediately with a pass condition by using TEST_PASS 2016-02-24 16:00:55 -05:00
773c7f1770 Permissions changed to -x for testunity.c, reverts part of 51af84a7 2016-02-12 13:25:14 -06:00