Commit Graph

175 Commits

Author SHA1 Message Date
Mark VanderVoord 7b2ad10c92 Merge pull request #285 from dpostorivo/gt_lt_asserts
Cleanup Greater than and Less than asserts from other PR (#264) (Thanks @dpostorivo and @Dommar92 !)
2017-09-08 13:27:22 -04:00
John Lindgren dbdd168e46 Fix test link error. 2017-08-25 15:47:40 -04:00
John Lindgren 0e7eb545b9 Rewrite UnityPrintFloat to match printf("%.6g").
The existing implementation was not very good:
 - It printed all very small values as "0.000000..."
 - It did not distinguish positive and negative zero
 - In some cases it printed extra garbage digits for single-precision values
   (e.g. 3.9e+30 was printed as 3.90000013+30)

Tests have been updated to check that we now match printf("%.6g") for
1,000,000 randomly chosen values, except for rounding of the 6th digit.
2017-08-25 14:27:37 -04:00
Aviv Palivoda ad373024f2 Add UNITY_OUTPUT_CHAR_HEADER_DECLARATION to tests rakefile_helper.rb 2017-08-04 14:40:34 +03:00
Aviv Palivoda 59182c4ea9 Add UNITY_OUTPUT_CHAR_HEADER_DECLARATION to tests Makefile defines 2017-08-01 22:56:52 +03:00
Dom Postorivo f2fdf1a133 Added Greater than and Less than asserts from other PR 2017-05-13 15:59:51 -04:00
Mark VanderVoord b8bfb01edf Add support for AStyle in test makefile. It’s going to assume you have it installed. 2017-03-29 19:23:12 -04:00
Mark VanderVoord 2a5b24f7bf Finished updating all Ruby scripts to match our coding standard. Woo! 2017-03-28 20:02:53 -04:00
Mark VanderVoord 3e0a7121fb Started to flesh out rubocop settings for this project. Added rakefile tasks to do so. Updated first script to make it compliant. 2017-03-28 15:48:28 -04:00
Mark VanderVoord 3062c39725 Starting to enforce our coding style. The first step is that we’ve pulled in Rubocop to check out Ruby syntax. There is likely a bit of customization to do yet AND there is definitely that backlog of todo’s that we just told it to ignore. 2017-03-28 08:44:32 -04:00
Mark VanderVoord d6b350874b Clean up some const issues, particularly when moving between single and double pointers 2017-03-26 18:25:25 -04:00
Mark VanderVoord 0dddf498c2 also update strings to support each element of an array. 2017-03-21 23:57:15 -04:00
Mark VanderVoord a11a13750d Added memory each equal assertion 2017-03-21 18:28:49 -04:00
Mark VanderVoord d8d67a708c Added each_equal assertions for float and double 2017-03-21 17:05:19 -04:00
Mark VanderVoord b7956ea988 Added more tests for all the numerical types when performing each_equal assertions 2017-03-21 16:24:16 -04:00
Mark VanderVoord 7fe31915d0 Added some tests to prove this works. Still work in progress 2017-03-21 14:37:52 -04:00
Mark VanderVoord 8723d50f0e Turn UNITY_OUTPUT_FLUSH off by default. Added a quick-define for the most common case: UNITY_USE_FLUSH_STDOUT. Clarified documentation. Fixes issue #269 2017-03-14 23:23:19 -04:00
Mark VanderVoord c67a4ffcf3 - Add ability to detect TEST_FILE(“filename.c”) specifications in test files 2017-03-13 17:23:26 -04:00
jsalling 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
jsalling 185fb49380 Cleanup example Makefiles, update test runners
Delete clang flags that were disabled with -Wno-*
2017-01-18 08:13:41 -06:00
jsalling 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
Mark VanderVoord c5e9a93418 Merge pull request #243 from jsalling/feature/makefile-clang
Organize Makefile so clang works on all platforms, warnings are set
2017-01-13 15:47:50 -05:00
Mark VanderVoord 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
Mark VanderVoord 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
Mark VanderVoord 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
jsalling 41df8feaee Fix test for counting CMock_Verify calls 2016-12-31 13:59:07 -06:00
jsalling f771f0b98f Finish cleaning up float options in testunity 2016-12-29 23:06:34 -06:00
jsalling 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
jsalling a0cb138533 Organize Makefile so clang works on all platforms, warnings are set
Delete warning flags included by -Wall, -Wextra, or produce false postives
2016-12-29 20:46:06 -06:00
jsalling 65e401f3de Always run the tearDown() even if test is ignored 2016-12-24 13:56:04 -06:00
jsalling 64f90b1925 Fix test that failed when any other test failed, too distracting 2016-12-23 22:57:21 -06:00
Mark VanderVoord 0603c1cf1e Merge pull request #231 from jsalling/feature/print-floats
Unity prints float (and double) by default
2016-12-21 21:18:43 -05:00
jsalling 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
Matt Chernosky 7b51355e5a Module generator finishes for partially existing files
This resolves #219. When generating a new module, if all the files to
generate already exist then it fails as before. If some of the files
already exist, then the files that need to be created are created. Any
existing files are not changed.

Also added a bunch of tests for this feature via rspec. Run them from
the test folder with `rake spec`.
2016-12-02 13:49:07 -07:00
Mark VanderVoord 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
jsalling 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
jsalling 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
jsalling 9f4b1a332f Tests for Printing Floating Point numbers 2016-11-19 13:52:24 -06:00
jsalling 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
jsalling 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
jsalling 4a27d14734 Correct boundary conditions and add tests 2016-11-19 13:52:24 -06:00
jsalling 1dfcb54491 Start adding tests. Add const and simplify code. 2016-11-19 13:52:24 -06:00
jsalling e48fe0a07c Reorganize NaN and Inf printing into if-else blocks 2016-11-19 13:51:59 -06:00
Jean Carlo Machado 4faae4435d removed duplicated declaration of putcharSpy 2016-11-16 21:37:51 -02:00
jsalling 933cc97364 Add option to set NaN != NaN for floating point assertions 2016-10-10 21:20:10 -05:00
Mark VanderVoord 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
Mark VanderVoord 7dc17efbb3 Merge pull request #215 from jsalling/bugfix/inf-equals-inf
Bugfix Inf equals Inf
2016-09-21 20:52:58 -04:00
Mark VanderVoord 693169eddf Merge pull request #218 from 2trill2spill/master
Add OSX to travis-ci build.
2016-09-20 14:31:45 -04:00
Mark VanderVoord 95435afa4e Merge pull request #214 from jsalling/feature/c-strings
Print escapes for C strings
2016-09-07 07:48:09 -04:00
nah e12cef36e2 Don't need to ignore unused functions on linux because I reverted the static commit. 2016-09-04 10:47:35 -05:00