221 Commits

Author SHA1 Message Date
a303e08859 Option to omit UnityBegin/UnityEnd calls in generate_test_runner
By passing --omit_begin_end=1 to generate_test_runner.rb, the script
will now omit calls to UnityBegin and UnityEnd when running tests in a
suite.

This allows multiple suites to be executed in a row, and then have an overall
summary of the tests which were executed across all suites.
2019-10-29 20:32:06 +00:00
cf5b2d2568 Make verifyTest() leave Ignores and Callbacks intact. 2019-10-29 13:21:34 -04:00
be87d790c7 Add verifyTest option to go with resetTest.
Fix docs.
2019-10-28 10:32:22 -04:00
eb0bd42f0d Updated to newer coding standard 2019-10-24 15:33:41 -04:00
277e844bed Convert RUN_TEST() to a function (generated from an ERB template).
Converting RUN_TEST() from a macro to a function significantly reduces the size
of the compiled binary.  On amd64, the largest test runner in the test suite
(testsample_DefaultsThroughCommandLine_runner.o) was reduced from 3.4 kB to 2.4
kB (stripped).
2019-10-22 15:18:20 -04:00
d10cf6645d Remove unnecessary #includes. 2019-10-22 15:05:34 -04:00
68cc45a918 Make sure setUp/tearDown are always defined. 2019-10-22 15:04:03 -04:00
5fc72fbca1 fix name of teardown function 2019-10-22 06:52:25 -04:00
ff697ad29c suite setup and teardown no longer static (simplifies test-supplied instance) 2019-10-22 06:45:47 -04:00
ac427b28fc Fixed backwards case. 2019-10-22 06:37:28 -04:00
2d8a69e0d1 update handling of when suite_setup/teardown in use 2019-10-22 06:27:26 -04:00
cb8744c496 More argument fixing (I hate flying blind... can't wait to get back on my laptop) 2019-10-21 14:59:31 -04:00
c19e3f99ce missed function call arguments 2019-10-21 14:45:56 -04:00
d9b0edf282 Switch from the inconsistent use of weak symbols to handling setup, etc in script generators 2019-10-21 14:21:52 -04:00
2939c420ed Better protection against nested comments (and things that look like comments) 2019-08-12 15:40:43 -04:00
45020b0d3b Cleanup issue #417 2019-07-05 19:14:22 -04:00
f2d826c7c5 - Added options for how to handle TEST_ASSERT_EQUAL shorthand
- Tweak a couple style problems with Ruby scripts.
2019-07-03 15:03:03 -04:00
a59db2bdbf add a blank line after #include "unity.h"
The include must be in the first line, else you may expect some issues.
Some autoformat tools could sort the includes alphabetically and could
break the test.
2019-06-27 08:28:52 +02:00
d70047881e Merge pull request #377 from elliot-gawthrop/execution-time-embedded
Execution time improvements
2019-05-04 07:53:37 -04:00
2697770ae9 Merge pull request #379 from elliot-gawthrop/auto-runner-args
Redefine name of resetTest in generated runner
2019-05-04 07:51:40 -04:00
2191b2ba8e Allow multi line test-function definitions. 2019-04-04 09:51:37 +02:00
aecc642594 recursive search for target test files in test summary python script 2019-03-26 17:32:30 +02:00
ead95b3ab8 Removed leading underscore from module generator header guards. 2019-02-22 08:38:29 +11:00
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
145691519b Add ability to override name of the 'resetTest' function
This allows multiple groups to be compiled into the same executable by naming each function uniquely.
2019-01-31 21:59:58 +00:00
516f7be045 generate runner defines with #ifndef guards 2018-12-21 22:37:11 -05:00
5db2a3dbd9 Add support for strings in TEST_CASE() 2018-12-10 20:53:27 +00:00
6b657c6f17 Fix (most) Rubocop warnings. 2018-11-28 13:27:00 -05:00
9987824da7 Added support to inject "extern C" into runners when generated. 2018-08-09 08:48:08 -04:00
ceecf1fae8 Add support for :mock_suffix
Adds support for :mock_suffix when generating mock setup and teardown
functions. Also documents both prefix and suffix in the helper script
guide.
2018-06-07 10:06:43 +02:00
38e1ee872c Added some useful documentation which states the output formats that are parseable by this script. 2018-02-27 07:23:18 +01:00
1994bf9d68 Fixed unity fixture output and added methods for each of the different outputs. Added documentation.
Fixed some whitespaces.
Refactored class_name to class_name_idx (expressiveness).
Refactored the xml output to methods (extensibility).
2018-02-26 22:23:11 +01:00
7a43766586 - Fixed whitespaces and formatting
- Added more expressiveness to the code
- Fixed some of the rubocop hints
2018-02-22 21:47:21 +01:00
ea51e2b35c Refactored the os specific settings, it is now possible to convert both styles on every system (and even mixed) 2018-02-22 21:23:29 +01:00
0937bf728c - Removed member variable @test_flag
- Fixed stdout output if fixture is active
- Refactored the state manipulation of @test_suite and moved it completely into test_suite_verify()
2018-02-22 19:55:40 +01:00
4dfb512a27 Added ".to_s" to the test suite name (explicit type conversion) 2018-02-12 06:44:26 +01:00
dc9c7a7b4b Removed leading whitespace 2018-02-11 13:02:26 +01:00
0760230829 Some minor changes
- String split now works correctly for windows and unix (cross platform)
- Removed unnecessary whitespaces in the xml output (beautifies the output)
- Added support for TEST_IGNORE() (without message)
2018-01-29 21:00:46 +01:00
53f0f95ef8 Test runner generation: Wrap setjmp.h inclusion in ifdefs
Auto generated test runner should generate a code  which includes
setjmp.h only if UNITY_EXCLUDE_SETJMP_H is not defined
2017-11-20 09:46:30 +00:00
629b86d541 Merge unity_setup.h into unity.h. 2017-11-01 11:36:26 -04:00
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
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
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
f278c18fd9 Fix bug #288 - invalid line numbers on partial name matches 2017-09-11 15:39:17 -04:00
05daf95d4e Update to match Ruby style guide 2017-09-08 15:37:31 -04:00
c1bc32dc58 - Generator will not change names by default
- Fixed some style issues.
2017-06-25 13:58:31 -04:00
2a5b24f7bf Finished updating all Ruby scripts to match our coding standard. Woo! 2017-03-28 20:02:53 -04:00
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
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
c3658a065d Dropped support for pre-2.0 versions of Ruby (not even rubylang supports them anymore) 2017-03-20 16:07:40 -04:00