@@ -7,6 +7,62 @@ All notable changes to this project will be documented in this file.
77
88The format is based on `Keep a Changelog <https://keepachangelog.com/en/1.0.0/ >`_.
99
10+ 1.10 (03/21/2023)
11+ -----------------
12+
13+ - Rename the project to **Igor Pro Universal Testing Framework ** (IUTF). This also renamed all procedure files.
14+ Although the old main procedure file ``unit-testing.ipf `` still exists, users are advised to switch to
15+ ``igortest.ipf ``. This change is fully backward compatible as all, now deprecated, names are kept until the next
16+ major release.
17+ - Add a flag to allow shuffling the test suite and test case order, see :ref: `here <shuffle_test_case_order >`
18+ - Fix the order of test case execution: IUTF now always executes the test cases from the same test suite together
19+ - Add support for rerunning "flaky" tests on failure, see :ref: `here <flaky_tests >`
20+ - Document behaviour of runtime errors and aborts in data generators and hooks
21+ - Support test case and data generator names longer than 255 bytes
22+ - Document how the user can abort a test run
23+ - Add :cpp:func: `IUTF_RestoreTracing ` for restoring the procedure files from before tracing
24+ - Adopt `reuse <https://api.reuse.software/info/github.com/byte-physics/igortest >`__ specification
25+ - Add data generators as virtual test cases. This allows to use all test assertions inside data generators and failing
26+ test assertions are then attributed to the corresponding data generator. Before they were attributed to the very
27+ first test case being run.
28+ - Also treat user hooks as virtual test cases.
29+ - Support tracing with tests which save the Igor Pro experiment in a different folder
30+ - Be stricter when checking for compatible reentry functions (Igor Pro 6 only)
31+ - Skip test case end user hook as well if the test case was skipped
32+ - Skip test suite end hook when we did not call the test suite begin hook at all
33+ - Require that test cases marked as ``UTF_EXPECTED_FAILURE `` have failing test assertions
34+ - Fix ``UTF_FTAG_TAP_DIRECTIVE ``/``UTF_FTAG_TAP_DESCRIPTION `` in Igor Pro 9 due to now illegal characters in dimension
35+ labels
36+ - Completely revise Readme.md
37+ - Copy all history output also to stdin/stderr (Igor Pro 8 and higher)
38+ - Enhance the output on failed assertions to include the full test case name
39+ - Add the test case name on failure for TAP output
40+ - Allow creating TAP and JUNIT output simultaneously
41+ - Introduce the test result wave from which TAP and JUNIT output is generated from
42+ - Fixed code coverage instrumentation to track non-instrumented lines correctly
43+ - Add support for outputting code coverage results into the standard Cobertura format
44+ - Fix testcase discovery for multi-multi data test cases (Igor Pro 6 only)
45+ - Add testing on MacOSX Catalina for Igor Pro 8/9
46+ - Ensure that the abort flag is always cleared on test begin
47+ - Add test to showcase how tracing works in an independent module
48+ - Fix call stack traversing in an independent module
49+ - Add complexity calculation for cobertura output, see `wikipedia <https://en.wikipedia.org/wiki/Cyclomatic_complexity#Interpretation >`__
50+ and the `original article page 36 <https://web.archive.org/web/20220329072759/http://www.mccabe.com/ppt/SoftwareQualityMetricsToIdentifyRisk.ppt >`__
51+ - Fixed a bug where when running IUTF in an independent module, the ``run `` function was searched in ``ProcGlobal ``
52+ instead of the independent module.
53+
54+ Test assertions
55+ ~~~~~~~~~~~~~~~
56+
57+ - Added assertions for checking runtime errors, see :cpp:func: `*_RTE <CHECK_RTE> `, :cpp:func: `*_ANY_RTE <CHECK_ANY_RTE> ` and
58+ :cpp:func: `*_NO_RTE <CHECK_NO_RTE> `
59+ - Changed parameter types of :cpp:func: `*_EQUAL_STR <CHECK_EQUAL_STR> ` and :cpp:func: `*_NEQ_STR <CHECK_NEQ_STR> ` to be
60+ bass-by-value. This might break cases where a null string was passed. For null strings the test assertions
61+ :cpp:func: `*_NULL_STR <CHECK_NULL_STR> ` and :cpp:func: `*_PROPER_STR <CHECK_PROPER_STR> ` should be used.
62+ - Output messages from :cpp:func: `INFO ` also on stderr and in JUNIT
63+ - Added assertions for compilation testing, see :cpp:func: `*_COMPILATION <CHECK_COMPILATION> ` and
64+ :cpp:func: `*_COMPILATION <CHECK_NO_COMPILATION> `
65+
10661.09 (01/04/2023)
1167-----------------
1268
0 commit comments