671f8d2 introduced a license header to auto/extract_version.py before the
shebang, causing builds to fail like this:
../subprojects/unity/meson.build:7:0: ERROR: Failed running '/path/to/extract_version.py', binary or interpreter not executable.
When enabling the command line option the file name added to the runner
did not escape the slashes on windows in the same way other paths where
sanitized. Copied the sanitization from the other filename uses.
The following features from the CMake build have been implemented:
* Library version retrieved from unity.h.
* Extension support.
* Library, header, and package configuration file installation.
This commit is entirely based on existing work by Owen Torres.
If the range is <start, end, step> instead of [start, end, step], the
end value will not be included in the range.
This can be useful if you have a define that defines e.g. the size of
something and you want to use this define as the end value. As the
pre-processor doesn't evalutate expressions (unless you do some macro
magic) you can't specify the range as [0, MY_SIZE - 1, 1]. With this
change you can then instead give the range <0, MY_SIZE, 1>.
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.
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.
* Added python3 shebang
* Renamed the script `unity_to_junit.py` as `stylize_as_junit.py`
to match the Ruby file
* Fixed a bug on where the script failed if the first entry slot of
each result line is empty. Now falls back to the result file name
* Rewrote the argument parsing to use argparse
* Added a `--output` / `-o` option, to match the Ruby file
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.