Skip to content

1.10

Latest
Compare
Choose a tag to compare
@t-b t-b released this 30 Mar 19:59
· 28 commits to main since this release
080690c

General

  • Rename the project to Igor Pro Universal Testing Framework
    (IUTF). This also renamed all procedure files. Although the old main
    procedure file unit-testing.ipf still exists, users are advised to switch to
    igortest.ipf. This change is fully backward compatible as all, now deprecated,
    names are kept until the next major release.
  • Add a flag to allow shuffling the test suite and test case order,
    see here
  • Fix the order of test case execution: IUTF now always executes the
    test cases from the same test suite together
  • Add support for rerunning "flaky" tests on failure, see
    here
  • Document behaviour of runtime errors and aborts in data generators
    and hooks
  • Support test case and data generator names longer than 255 bytes
  • Document how the user can abort a test run
  • Add IUTF_RestoreTracing() for restoring the procedure files from before tracing
  • Adopt reuse specification
  • Add data generators as virtual test cases. This allows to use all
    test assertions inside data generators and failing test assertions
    are then attributed to the corresponding data generator. Before they
    were attributed to the very first test case being run.
  • Also treat user hooks as virtual test cases.
  • Support tracing with tests which save the Igor Pro experiment in a
    different folder
  • Be stricter when checking for compatible reentry functions (Igor Pro
    6 only)
  • Skip test case end user hook as well if the test case was skipped
  • Skip test suite end hook when we did not call the test suite begin
    hook at all
  • Require that test cases marked as UTF_EXPECTED_FAILURE have failing test assertions
  • Fix UTF_FTAG_TAP_DIRECTIVE/UTF_FTAG_TAP_DESCRIPTION in Igor Pro 9 due to now illegal characters in
    dimension labels
  • Completely revise Readme.md
  • Copy all history output also to stdin/stderr (Igor Pro 8 and higher)
  • Enhance the output on failed assertions to include the full test
    case name
  • Add the test case name on failure for TAP output
  • Allow creating TAP and JUNIT output simultaneously
  • Introduce the test result wave from which TAP and JUNIT output is
    generated from
  • Fixed code coverage instrumentation to track non-instrumented lines
    correctly
  • Add support for outputting code coverage results into the standard
    Cobertura format
  • Fix testcase discovery for multi-multi data test cases (Igor Pro 6
    only)
  • Add testing on MacOSX Catalina for Igor Pro 8/9
  • Ensure that the abort flag is always cleared on test begin
  • Add test to showcase how tracing works in an independent module
  • Fix call stack traversing in an independent module
  • Add complexity calculation for cobertura output, see
    wikipedia and the original article page
    36
  • Fixed a bug where when running IUTF in an independent module, the
    run function was searched in ProcGlobal instead of the
    independent module.
  • Fixed a bug where generating the detailed message for failed wave
    equality assertions did not ignore the case for comparing dimension
    labels.

Test assertions