845 Commits

Author SHA1 Message Date
836d7886cf Pointer-to-int-cast warnings with different widths
With a wider integer width than a pointer, gcc can still warn
when you cast a pointer. Strange but true. To see these warnings
compile with gcc -m32, 32-bit target, and enable UNITY_SUPPORT_64
2017-01-14 11:39:21 -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
ee38219498 Cleanup Assert Array idiom to be the same everywhere 2017-01-14 11:10:58 -06:00
4d747080a9 Rename Array Check helper, always return, never longjmp
Move longjump inside caller, to functions returning 'void'
This single function needed to change to allow optional setjmp.h
2017-01-14 10:56:24 -06:00
5449f1e4d1 Condense all longjmp calls into TEST_ABORT()
The setjmp calls are all in TEST_PROTECT() already
2017-01-14 10:41:03 -06:00
6695e9e975 Merge pull request #242 from jsalling/feature/fixture-test-name
Fixture - Remove duplicate output of test name in verbose mode
2017-01-13 16:38:10 -05:00
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
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
85ef109282 Merge pull request #240 from jsalling/refactor/skip-exec
Rename UNITY_SKIP_EXECUTION to RETURN_IF_FAIL_OR_IGNORE
2017-01-13 12:08:15 -05:00
6c0ca7339f Merge pull request #238 from jsalling/refactor/int-array
Thanks for the walkthrough (and all the original work!). Your logic seems solid to me. :)
2017-01-11 06:19:04 -05:00
5112d7dfbd Use default int size for any bad STYLE_T enum value
Defensive coding
2017-01-06 20:45:33 -06:00
41df8feaee Fix test for counting CMock_Verify calls 2016-12-31 13:59:07 -06:00
4c78cde202 Finish clean up of float support options 2016-12-30 20:24:45 -06:00
e92f2c2762 Update comments to reflect changes to floating point 2016-12-29 23:10:43 -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
5f33721924 Remove duplicate output of test name, Fixture verbose mode
Remove UNITY_FIXTURES option, which was probably not doing what was
originally indended. It was suppressing the test name even in quiet mode.
2016-12-28 21:18:50 -06:00
03e2209e1b Rename UNITY_SKIP_EXECUTION to RETURN_IF_FAIL_OR_IGNORE 2016-12-28 20:33:22 -06:00
994779f0ce Merge pull request #237 from jsalling/feature/ptr-set-size
Fixture - Ability to set size of pointer list
2016-12-27 08:19:41 -05:00
f8c585cb93 Merge pull request #236 from jsalling/bugfix/one-test-failure
Fix test that failed when any other test failed
2016-12-27 08:18:07 -05: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
53bdb6897f Ability to set size of pointer list, smaller default size 2016-12-23 22:53:24 -06:00
e1e866ab45 Delete old UNITY_PTR type, no longer used
The old type was really just used as a cast-to-int to do pointer math
in char size.
2016-12-23 22:39:08 -06:00
46560a8030 Add correct masking behavior on unsigned values 2016-12-23 22:28:37 -06:00
5f386a42ff Refactor of IntArray function with switch inside loop, remove repeated code 2016-12-23 22:19:42 -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
ee02e3885f Merge pull request #233 from mchernosky/generate-partial-triads
Module generator finishes for partially existing files
2016-12-12 18:29:25 -05:00
df2d37459b Try manually installing rspec in Travis CI. 2016-12-02 22:57:10 -07: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
b77c6b833f Merge pull request #232 from mchernosky/module-create-with-subdir
Fixed error when path provided in module name.
2016-11-29 06:50:54 -05:00
37049a3a20 Fixed error when path provided with module name. 2016-11-28 23:57:17 -07:00
4386cf356f Added to Module Generator:
- configurable case.
- better passing of includes and boilerplate information
- test only pattern
- optional naming conventions for case
2016-11-22 14:24:24 -05:00
4e2f0381cc Add ability to inject correct mock prefix 2016-11-21 15:19:16 -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
393f2cb544 Refactor printing after the decimal point, signed types, small numbers...
Change some types to signed for simpler code and speed
Added format to distinguish small numbers
2016-11-19 13:52:24 -06:00
2de0e8285d Key idea is using double precision calculations makes everything better
Print 9 digits
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
30ba118c47 Add printing for large numbers in exponential format
Delete old method for printing
2016-11-16 23:00:01 -06:00