Verified Systems International GmbH

Quality Assurance for Embedded Systems

RT-Tester 6.0-6.6.1 now available (maintenance)

A maintenance release is now available for all supported platforms.
Consider updating if you are using Version 6.0-6.6.0 or older.

New Features

  1. Functional Mockup Interface (FMI-2.0.1) Support:

    • Extra Package that supports wrapping a test procedure to a Functional Mockup Unit (FMUs)
    • Includes User Manual (rttester-fmi2) and example Project Demo-FMI2
  2. Scripts:

    • rtt-doc-test: per default, set the niceness to a value 5-19 in order to allow for gentle degradation if multiple doc-test instances are running at the same time (addresses #18855). The new option --no-nice overrides this (and runs doc-test with niceness 0)
  3. Testing Support (RTTL/Runtime):

    • LWP Monitoring: if an AM seems to get stuck, WARNING (LWP_SANITY) are printed to <stderr>. AMs that are expected to hog the LWP for a long time can be registered with rttctxlib_register_longrunning_AM(amId) to suppress that warning. (implements #18941)
    • allow @rttStopTest() to have an argument (format string)
    • @rttStopTest now always creates an output M @rttStopTest <optionally-more> to the test log of the calling am (implements #18924)
    • allow syntax @rttBeginTestStep(); and @rttStopTest();, which are equivalent to @rttBeginTestStep; and @rttStopTest;
    • ctxlib/performance: the watchdog LWP uses now sleep(1) instead of nanosleep to check for test termination which eliminates noticeable overhead on Windows/Cygwin (implements #18939)
  4. Testing Utilities:

    • added rtt-mem-statistics.py to record memory usage over time (depends on Posix utility ‘top’ for the measurement)
    • rtt-live-sigplot.py: new repeatable option --separate-plot SIG to put selected signals into separate sub-plots; this mainly caters for rtt-mem-statistics.py, since the LOAD does not mix well with the memory scale -> use rtt-live-sigplot.py --line --separate-plot LOAD
    • rtt-live-sigplot.py: new option --replay [duration_of_1_tick] to re-generate a plot from a file, according to the time stamps
    • added rtt_aux_py_filter to analyse python scripts

Improvements

  1. Scripts:

    • robustness: warn user, if utility which is not available (since this may lead to not finding awk or md5sum)
    • all rtt-*.py scripts are now compatible with python3
  2. Libraries:

    • ctxlib: harmonized the two variants of suspend/resume (implements #19189)
  3. Cluster support:

    • compile aborts with error, if CNODE configures an LWP that does not exist (improves #18284)
    • compile aborts with error, if a CNODE configures an empty LWP (completes #18284); documented in manual (Appendix D: Compatibility)
  4. Template Projects:

    • DEMO suite [V-1.8] includes simple use of LWPs and LWP_SANITY warnings
  5. Documentation (Manual):

    • added section on python scripts (addresses Mantis-18934)
    • added section on cooperative multitasking (and Mantis-18941)
    • added documentation for suspend/resume API (#19170)
    • added note on calling fflush(NULL) for system() calls (#19296)
    • license management: added documentation/explanation for utility rtt_aux_user

Bugfixes

  1. Scripts:

    • rtt-doc-test now exits with code 5 (one-page PDF) if the *.conf file cannot be expanded (fixes #18904)
    • rtt-run-test now uses robust 'du -b' for option LOG_COMPRESS (fixes #18927)
    • rtt-run-test inserts "SUM.tags#" self-reference when creating SUM.tags which will result in valid hyper-refs in verification/*tc_coverage.html (fixes #18931)
  2. RTS lexing (rttprep_rts):

    • corrected processing of '*(' at line start inside a @printf() statement (fixes #19217)
    • harmonise behaviour of @rttTestError + STOP_ON_FAIL to output STOP-ON-FAIL as reason for the termination (fixes #19300)
  3. Libraries:

    • robustness: in rttstr_append_to_string_buffer_n() and rttstr_safe_ncat() expect un-terminated or early terminated strings
    • robustness: abort with error message, if OUTPUTMEMORY cannot be allocated
    • CADUL: corrected LOG_LOCATION expansion (fixes #18947)