251 Commits

Author SHA1 Message Date
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
41df8feaee Fix test for counting CMock_Verify calls 2016-12-31 13:59:07 -06: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
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
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
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
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
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
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
693169eddf Merge pull request #218 from 2trill2spill/master
Add OSX to travis-ci build.
2016-09-20 14:31:45 -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
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
nah
8e6716645e Revert setting functions to static. 2016-09-04 10:38:40 -05:00
nah
2d98ed6afb Merge branch 'build'
Merge build branch.
2016-09-04 10:35:02 -05:00
nah
7ee9bc3ecd Ignore missing prototype warning. 2016-09-04 10:31:57 -05:00
nah
794e533ab5 Ignore unused functions on linux. 2016-09-04 10:25:31 -05:00
nah
f0f9f20421 Set functions that are only used within testunity to static. 2016-09-04 10:21:06 -05:00
nah
7552c187fb Ignore missing noreturn and unused functions. 2016-09-04 10:20:31 -05:00
nah
65f0febf03 Ignore padding and float to double implicit warning. 2016-09-04 09:55:49 -05:00
nah
647c846f9f Set CFLAGS differently for linux and osx.
Add check for linux and move initial CFLAG settings inside linux check. Add
CFLAGS specific to osx and clang to the existing osx/darwin check. Ignore clang warning about default on covered enum switch, look at pull #217 and pull #177 for more info about why that warning is ignored on clang. Ignore unknown clang options so that I don't have to change CFLAG settings elsewhere in the file, clang should just ignore options it dosen't know about.
2016-09-04 09:25:44 -05: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
382c7087f4 Merge pull request #211 from jsalling/feature/testunity-fail-output
Make testunity.c failure output uniform
2016-08-31 07:20:34 -04: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
113f2fc32a Add line numbers to Unity test Runner generated by awk script 2016-08-25 23:01:10 -05:00
28c94bd403 Remove references to UNITY_EXCLUDE_SIZEOF, rework config header 2016-08-25 08:48:29 -05:00
9aa4c7f1aa Clean up Makefile, move -Wredundant-decls to test build
CC always exists inside make so ?= doesn't assign to it
2016-08-25 08:33:15 -05:00
e4e2210eb6 Improving integer width detection
The C preprocessor cannot use sizeof in #if etc.
2016-08-25 08:32:42 -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
57676b5edc - Fixed cases with wildcards in file handling. 2016-07-17 19:11:09 -04:00
1cecab30e8 - Added alias for filter -n of -f
- Added ability to surround filter strings in either type of quotes
- Added ability to filter on multiple test strings as a comma delimited list
- Added ability to filter on test_file:test_name
- Added ability to use alternate syntax for filter of -f="blah"
2016-07-08 17:35:37 -04:00
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
96f51e8530 Updated method of testing generate_test_runner script to be a FUNCTIONAL test instead of a perfect code match. Backfilled most tests and added some coverage not previously present. Still need to test new command line args and a few cmock details. 2016-06-22 20:57:11 -04:00
b3bc196ab3 making new flush routines work under all defined conditions. 2016-06-21 10:01:34 -04:00