197 Commits

Author SHA1 Message Date
de73f1fcbf Merge pull request #554 from erijo/single-test-range
Make TEST_RANGE handle a single range
2022-10-04 21:57:38 -04:00
5dd3aa40dc Fix call to ERB.new to avoid deprecation warnings.
On later Rubies calling create_run_test() causes the generation of warnings of the following form:

warning: Passing safe_level with the 2nd argument of ERB.new is deprecated...
warning: Passing trim_mode with the 3rd argument of ERB.new is deprecated...

This patch removes the noise.
2022-05-28 12:35:22 +01:00
b44c2dd095 Fix broken YAML parsing on later Rubies with Psych >=4.0
YAML.load is now interpreted as YAML.safe_load, which breaks where the
YAML file contains aliases. If we can assume our yaml files are
trusted (since this a development tool), we can check for the presence
of YAML.unsafe_load and use it instead if it exists.
2022-05-27 15:08:11 +01:00
42503b3343 unity_to_junit.py can be imported as Python module now 2022-02-28 14:12:57 +03:00
72f30d82e4 Add missing volatile type qualifier
... to fix "clobbered variable" compiler warning (`-Wclobbered`).
2022-02-21 14:10:10 +01:00
72ffe691cd Make TEST_RANGE handle a single range
Before this change a single range such as TEST_RANGE([5, 100, 5]) would
generate the following error:

undefined method `flatten' for 5:Integer (NoMethodError)

The problem is that reduce called on an array with a single element
returns that element which isn't an array of arrays as expected by the
following block.
2021-12-03 17:33:56 +01:00
93850fab40 Merge pull request #557 from erijo/unit-tests
Fix failing unit tests
2021-12-03 10:55:39 -05:00
29617c7ecd Added -externcincludes option in order to build unit test executable in mixed C/C++ environment 2021-07-15 13:10:07 +02:00
8e1e9c18ab Fix ruby style warnings as reported by rubocop 2021-04-15 22:22:33 +02:00
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
0b899aec14 Fix conditional issue in generator script.
Bump version.
2021-01-26 08:59:27 -05:00
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
038dd81213 Merge pull request #520 from softwareinmotion/runner_mock_suffix
parse mock files correctly
2021-01-07 18:08:09 -05:00
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
c3afe99a77 parse mock files correctly 2020-08-27 13:21:45 +02:00
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
dcb30731f8 Fixed suiteTearDown not matching prototype
Fixed suiteTearDown to match prototype in unity.h
2020-05-04 20:34:45 +02:00
ff479e9aa0 Fix small typo 2020-03-28 18:31:43 +01:00
2c3e75e859 Fixed issue #486 2020-03-17 20:38:11 -04:00
371e062555 Fixed issue #480 - better protection against bad pattern matching. 2020-03-17 16:24:25 -04:00
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
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
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
3b5b491860 sub in '_' for '-' in define and test name in module generator 2019-12-26 01:10:09 -05:00
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
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
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