1
0
mirror of https://github.com/ThrowTheSwitch/Unity.git synced 2026-01-26 09:51:36 +01:00
Commit Graph

189 Commits

Author SHA1 Message Date
Jannis Baudisch
b51303a65b Improve regex for test parameterization to support function pointers
The regex to match function names for the test parameterization used the
wildcard '.*'. This lead to an error when you try to add a function
pointer as arguement.

The regex will now only match the word characters a-z A-Z 0-9 and
underscore (which are all characers that are accepted by the C standard)
2021-04-01 10:29:22 +02:00
Kin Numaru
63fef7dd10 Enlarge the TEST_RANGE() regex to accept more spaces
This commit change the regex to accept more spaces inside the brackets
of the TEST_RANGE().

I use clang-format through vscode "editor.formatOnSave": true feature and it produce
padding spaces inside the array brackets by default.

```c
int a[] = [1, 2];
```

is changed into

```c
int a[] = [ 1, 2 ];
```

Also, every time I save a file containing a TEST_RANGE() with ctrl + s,
it breaks it.
2021-02-12 20:39:05 +01:00
Mark VanderVoord
0b899aec14 Fix conditional issue in generator script.
Bump version.
2021-01-26 08:59:27 -05:00
Mark VanderVoord
fcab680286 Ruby script cleanup.
Fix warnings.
Remove 32-bit tests from standard suite because they're not running on most platforms.
2021-01-16 21:03:18 -05:00
Mark VanderVoord
038dd81213 Merge pull request #520 from softwareinmotion/runner_mock_suffix
parse mock files correctly
2021-01-07 18:08:09 -05:00
Julien PEYREGNE
76c3755fe3 Add guard TEST on test module template
With a test file guarded we can include this file on IDE project
(MPLAB X in my case) and compile without excluding test files.
Excluding test files on MPLAB X disable autocompletion and function
navigation.
2020-09-07 10:37:26 +02:00
Fabian Weik
c3afe99a77 parse mock files correctly 2020-08-27 13:21:45 +02:00
André Draszik
f5ff3504b5 auto/run_test: fix Wsign-compare warning
Compiling a source base / test with Wsign-compare enabled, gives
the following warning:

build/test/runners/test_system_runner.c: In function ‘run_test’:
build/test/runners/test_system_runner.c:62:35: warning: conversion to ‘UNITY_UINT’ {aka ‘long unsigned int’} from ‘int’ may change the sign of the result [-Wsign-conversion]
   62 |     Unity.CurrentTestLineNumber = line_num;
      |                                   ^~~~~~~~

Fix by updating the type in the function declaration.

Signed-off-by: André Draszik <git@andred.net>
2020-05-25 07:14:14 +01:00
Jakob Olesen
dcb30731f8 Fixed suiteTearDown not matching prototype
Fixed suiteTearDown to match prototype in unity.h
2020-05-04 20:34:45 +02:00
Gavriil Pascalau
ff479e9aa0 Fix small typo 2020-03-28 18:31:43 +01:00
mvandervoord
2c3e75e859 Fixed issue #486 2020-03-17 20:38:11 -04:00
mvandervoord
371e062555 Fixed issue #480 - better protection against bad pattern matching. 2020-03-17 16:24:25 -04:00
Mark VanderVoord
a67cb27dd4 Merge pull request #472 from jlindgren90/master
auto: Only create run_test() function if it's needed.
2020-03-17 15:35:47 -04:00
mvandervoord
3e4dfec147 Add support for alternate forms of header and source files to test runner generator. This borrows heavily from #477 (Thanks @Tuc-an) but maintains the ability to sort files that don't need to be relinked. 2020-03-17 14:02:54 -04:00
Andrei Korigodskii
218fa2cbe8 Add TEST_RANGE to specify arg ranges in parameterized tests
TEST_RANGE([start, stop, step]) generates following runs of the test
function: test(start), test(start + step), ..., test(start + n * step),
where start + n * step <= stop. The step must be positive.

If the test function takes several arguments, the following syntax must be used:
TEST_RANGE([arg1_start, arg1_stop, arg1_step], ..., [argN_start, argN_stop, argN_step])

This addresses issues #53 and #144.

Reported-by: Alex Rodriguez <alejmrm@gmail.com>
Reported-by: Hiroaki Yamazoe <PastelParasol@gmail.com>
2020-02-02 22:28:21 +03:00
Dom Postorivo
3b5b491860 sub in '_' for '-' in define and test name in module generator 2019-12-26 01:10:09 -05:00
John Lindgren
f39c856a37 auto: Only create run_test() function if it's needed.
Also fix some whitespace consistency issues.
Use 2 newlines (not 1 or 3) before /*====Heading====*/ comments.
2019-12-12 12:53:49 -05:00
mvandervoord
c5c36ab29f Do NOT include the default test runner if a custom runner has been defined.
Cleanup some style issues.
2019-12-05 13:19:43 -05:00
anon
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
John Lindgren
cf5b2d2568 Make verifyTest() leave Ignores and Callbacks intact. 2019-10-29 13:21:34 -04:00
mvandervoord
be87d790c7 Add verifyTest option to go with resetTest.
Fix docs.
2019-10-28 10:32:22 -04:00
mvandervoord
eb0bd42f0d Updated to newer coding standard 2019-10-24 15:33:41 -04:00
John Lindgren
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
John Lindgren
d10cf6645d Remove unnecessary #includes. 2019-10-22 15:05:34 -04:00
John Lindgren
68cc45a918 Make sure setUp/tearDown are always defined. 2019-10-22 15:04:03 -04:00
Mark VanderVoord
5fc72fbca1 fix name of teardown function 2019-10-22 06:52:25 -04:00
Mark VanderVoord
ff697ad29c suite setup and teardown no longer static (simplifies test-supplied instance) 2019-10-22 06:45:47 -04:00
Mark VanderVoord
ac427b28fc Fixed backwards case. 2019-10-22 06:37:28 -04:00
Mark VanderVoord
2d8a69e0d1 update handling of when suite_setup/teardown in use 2019-10-22 06:27:26 -04:00
Mark VanderVoord
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
Mark VanderVoord
c19e3f99ce missed function call arguments 2019-10-21 14:45:56 -04:00
Mark VanderVoord
d9b0edf282 Switch from the inconsistent use of weak symbols to handling setup, etc in script generators 2019-10-21 14:21:52 -04:00
Mark VanderVoord
2939c420ed Better protection against nested comments (and things that look like comments) 2019-08-12 15:40:43 -04:00
Mark VanderVoord
45020b0d3b Cleanup issue #417 2019-07-05 19:14:22 -04:00
Mark VanderVoord
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
Nico Tonnhofer
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
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
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
Fredrik Rothamel
2191b2ba8e Allow multi line test-function definitions. 2019-04-04 09:51:37 +02:00
Tomer Yogev
aecc642594 recursive search for target test files in test summary python script 2019-03-26 17:32:30 +02:00
Jason Heeris
ead95b3ab8 Removed leading underscore from module generator header guards. 2019-02-22 08:38:29 +11: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
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
Dom Postorivo
516f7be045 generate runner defines with #ifndef guards 2018-12-21 22:37:11 -05:00
Elliot Gawthrop
5db2a3dbd9 Add support for strings in TEST_CASE() 2018-12-10 20:53:27 +00:00
John Lindgren
6b657c6f17 Fix (most) Rubocop warnings. 2018-11-28 13:27:00 -05:00
Mark VanderVoord
9987824da7 Added support to inject "extern C" into runners when generated. 2018-08-09 08:48:08 -04:00
Trond Einar Snekvik
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
Fabian Zahn
38e1ee872c Added some useful documentation which states the output formats that are parseable by this script. 2018-02-27 07:23:18 +01:00
Fabian Zahn
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