1
0
mirror of https://github.com/ThrowTheSwitch/Unity.git synced 2026-01-23 08:25:58 +01:00
Commit Graph

95 Commits

Author SHA1 Message Date
Mark VanderVoord
0000f1e6d2 Add TEST_MESSAGE for outputting messages without aborting a test and _MESSAGE variant to TEST_PASS collection. 2019-07-06 11:02:32 -04:00
Fabian Zahn
8168382b91 Adjust testHexPrintsUpToMaxNumberOfNibbles (independent of sizeof operator and arithmetics) 2019-05-12 09:16:41 +02:00
Mark VanderVoord
d70047881e Merge pull request #377 from elliot-gawthrop/execution-time-embedded
Execution time improvements
2019-05-04 07:53:37 -04:00
Mark VanderVoord
7514de0582 Merge branch 'master' into test-cleanup-gt-lt 2019-05-04 07:28:12 -04:00
Dom Postorivo
9340582797 ARRAY_WITHIN in unity 2019-04-20 14:10:56 -04:00
Dom Postorivo
89465c88b0 Add tests for GREATER_OR_EQUAL, LESS_OR_EQUAL, LESS_THAN, and GREATER_THAN 2019-04-14 15:59:40 -04:00
Dom Postorivo
f69fbe8a95 expliticly show test failures of unequal strings 2019-04-13 11:53:14 -04:00
elliot
076f0fff56 Improvements to the execution time feature
- Running time macros have been made more portable, previously it was not
  possible to override all macros
- Running time macros will be executed by default test runner, and auto test
  runners
- Adds a default execution time implementation for unix. (Previous default
  implementation only worked on Windows)
- For embedded platforms there is a simple method of getting a default
  implementation by defining a single macro UNITY_CLOCK_MS()
- Removed need for UNITY_EXEC_TIME_RESET. This was not being used for the default
  implementations, if anything ever did need reset-like functionality it could
  simply be wrapped up with the start or stop macros for that platform
2019-01-31 22:01:20 +00:00
Elliot Gawthrop
5db2a3dbd9 Add support for strings in TEST_CASE() 2018-12-10 20:53:27 +00:00
John Lindgren
39fbd13cae Merge branch 'master' into float-printing 2018-11-28 14:02:41 -05:00
elliot
f0e4571c96 Merge branch 'master' into unit-test-execution-time 2018-07-28 20:01:50 +01:00
Fabian Zahn
e038ae2ade Refactored the test evaluation of the flushSpy 2018-02-18 18:44:58 +01:00
Fabian Zahn
436a46d8ef Got the tests running 2018-02-18 17:43:08 +01:00
Fabian Zahn
2480a6124e Added unit test for the call to flush 2018-02-18 17:08:49 +01:00
Fabian Zahn
5f67ac6ab2 Fixed copy and paste error, changed the signature from:
void flushSpy(int c) {}
to:
 void flushSpy(void) {}
2018-02-18 16:32:04 +01:00
Fabian Zahn
37271e8a13 Fixed copy and paste error 2018-02-18 14:53:39 +01:00
Fabian Zahn
25804f3ab4 Added flushSpy and the respective helper functions 2018-02-18 14:46:42 +01:00
Fabian Zahn
456759296b Added flushSpy 2018-02-18 14:23:26 +01:00
John Lindgren
a6d3f3a59a Restore round-to-even behavior. 2017-11-07 23:25:27 -05:00
John Lindgren
2d4e32cda1 Print 9 digits if we have double precision capability. 2017-11-07 22:44:59 -05:00
John Lindgren
74ba70283a Improve accuracy of UnityPrintFloat() for common cases. 2017-11-07 11:42:19 -05:00
John Lindgren
8ff74d6000 Allow UnityPrintFloat() to print a 7th digit. 2017-11-07 11:42:19 -05:00
balaksh
cc909efed3 Implement optional printing of execution time for each test 2017-09-10 13:00:09 +12:00
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
Dom Postorivo
f2fdf1a133 Added Greater than and Less than asserts from other PR 2017-05-13 15:59:51 -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
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
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
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
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
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
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
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
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