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

291 Commits

Author SHA1 Message Date
John Lindgren
df78aade4b Make weak symbol usage more portable:
- Enable support for Green Hills Software compiler
- Define weak implementations only once except on Windows
2017-10-09 11:39:48 -04:00
John Lindgren
a7e8797e0c Fix link errors with MinGW.
MinGW supports a limited form of weak symbols, with the restriction
that weak/default implementations need to be defined in the same
translation unit they are called from.  Strong/overriding symbols
may of course be specified in a different translation unit.
2017-10-09 10:49:58 -04:00
John Lindgren
2593c31bb7 Allow suiteSetUp() and suiteTearDown() to be provided as normal C functions.
This is simpler and more flexible than embedding C code in the Ruby options
(:suite_setup and :suite_teardown).  However, support for :suite_setup and
:suite_teardown is kept for backwards compatibility.

Several configurations are possible:
1. :suite_setup and :suite_teardown options provided and used.
2. :suite_setup and :suite_teardown options not provided (nil):
  2a. Weak symbols not supported; suiteSetUp() and suiteTearDown() are not called.
      It would be simpler to make user-provided functions mandatory in this case,
      but it could break some pre-existing test suites.
  2b. Weak symbols are supported and the stub implementations of suiteSetUp() and
      suiteTearDown() are called if there are no user-provided functions.
  2c. Weak symbols are supported but overridden by user-provided suiteSetUp() and
      suiteTearDown() functions.
2017-09-13 18:12:23 -04:00
John Lindgren
fcd4883c5e Fix compiler warning due to reusing symbol 'exp'. 2017-09-11 10:06:04 -04: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
2ae2bdb376 Make code C89-compliant. 2017-08-25 15:52:06 -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
a07d07cd1a Allow specifying custom header declaration
The user can specify UNITY_OUTPUT_CHAR_HEADER_DECLARATION and
UNITY_OUTPUT_FLUSH_HEADER_DECLARATION when he would like to declare
UNITY_OUTPUT_CHAT or UNITY_OUTPUT_FLUSH respectivly
2017-08-01 22:43:58 +03:00
Dom Postorivo
f2fdf1a133 Added Greater than and Less than asserts from other PR 2017-05-13 15:59:51 -04:00
Rasmus Melchior Jacobsen
aef36799d8 Fixed UNITY_TEST_ASSERT_EACH_EQUAL_*
Fixed copy-paste error for:
- UNITY_TEST_ASSERT_EACH_EQUAL_INT64
- UNITY_TEST_ASSERT_EACH_EQUAL_UINT64
- UNITY_TEST_ASSERT_EACH_EQUAL_HEX64

So that the comparison is done on the expected _value_ instead of the _array_.
2017-05-10 14:28:08 +02:00
Mark VanderVoord
550d58ba2d Attempt to fix remaining issues with casting 2017-03-26 19:46:42 -04:00
Mark VanderVoord
ee038c248c Ha! Forgot to add the correct comment style 2017-03-26 18:30:22 -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
56eeacd0b2 prepare for comparing value to array by setting up explicit compare of array to array in ints 2017-03-21 08:00:48 -04:00
Max Bruckner
1c556d2e4c Fix -Wconversion with gcc-4.3 2017-03-18 17:42:02 +01: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
41ee499e63 Tiny tweaks to make Unity fit in more smoothly with Ceedling 2017-03-13 16:46:41 -04:00
Max Bruckner
7bce0b4f0c Fix warning with ubsan and -Wconversion
This fixes a compiler warning about a lossy conversion from long
unsigned int to int when compiling unity with gcc 6.3.1 and
the options -std=c89 -Wconversion -fsanitize=undefined
2017-03-01 17:10:16 +01:00
Max Bruckner
1bf22d39f5 Fix warnings with -Wdouble-promotion
This fixes compiler warnings that clang produces with the
-Wdouble-promotion compiler option.

This only happens if double precision floating point numbers are
enabled.

The implicit double promotion occurs because numbers of type UNITY_FLOAT
are passed into UnityPrintFloat, which expects const UNITY_DOUBLE.

This commit fixes it by explicitly casting to UNITY_DOUBLE.
2017-03-01 10:15:06 +01:00
Crt Mori
3588e5b6d3 Aligning definition and declaration of UnityPrintFloat
There was a mismatch of definition and declaration of UnityPrintFloat
and this commit aligns both on const UNITY_DOUBLE, but then inside it
actually uses a positive version of the variable only.
2017-01-24 22:52:43 +01:00
Mark VanderVoord
78938f6f05 Merge pull request #254 from jsalling/cleanup/clang-format
Formatting source code to existing style
2017-01-19 06:56:35 -05:00
jsalling
97e4bd252a Ran Unity into a source code formatter, no code changes
Used clang-format, which produces noise on stuff you don't care about
and requires setting it up to match the existing code base. Kept the
potentially useful changes, discarded the rest, some manual tweaking
required. It did catch lots of pesky indentation mistakes.
2017-01-18 19:48:40 -06:00
jsalling
b29ad2ee68 Removing unnecessary function prototypes, inline PrintOk/Fail 2017-01-18 09:14:02 -06:00
Mark VanderVoord
04e10f95ee Merge pull request #249 from jsalling/feature/no-print-mask
No print masking of integers, bounds on hex printing (Thanks!)
2017-01-18 09:01:45 -05:00
Mark VanderVoord
f1fdc47e40 Merge pull request #250 from jsalling/feature/optional-setjmp
Optional UNITY_EXCLUDE_SETJMP_H, different control flow
2017-01-18 09:00:23 -05:00
jsalling
de6f516330 Revert "Cleanup Assert Array idiom to be the same everywhere"
This reverts commit ee38219498.
Removing these changes per coding standard, after the code review
2017-01-17 21:43:25 -06:00
jsalling
437c474b07 Put back (char) casts, better formatting 2017-01-17 21:26:15 -06:00
jsalling
480335061c No print masking of integers, bounds on hex printing 2017-01-15 19:51:32 -06:00
jsalling
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
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
jsalling
ee38219498 Cleanup Assert Array idiom to be the same everywhere 2017-01-14 11:10:58 -06:00
jsalling
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
jsalling
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
Mark VanderVoord
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
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
Mark VanderVoord
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
jsalling
5112d7dfbd Use default int size for any bad STYLE_T enum value
Defensive coding
2017-01-06 20:45:33 -06:00
jsalling
4c78cde202 Finish clean up of float support options 2016-12-30 20:24:45 -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
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
jsalling
03e2209e1b Rename UNITY_SKIP_EXECUTION to RETURN_IF_FAIL_OR_IGNORE 2016-12-28 20:33:22 -06:00
jsalling
65e401f3de Always run the tearDown() even if test is ignored 2016-12-24 13:56:04 -06:00