Verified Home

Verified Systems International GmbH

Quality Assurance for Embedded Systems

RT-Tester 7.0.3 now available (maintenance)

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

New Features

  1. LWP Statistics:

    • simple statistics are now recorded and can be queried during execution,
      e.g., in order to confirm progress (FR #12387)
    • compile flag -DRTT_CONFIG_LWP_STATISTICS triggers creation of JSON files
      on test termination (for offline evaluation of statistics)
  2. Robustness of @INIT phase:

    • for cluster initialization, several more failure situations
      are now detected and lead to more organized test abort
    • test execution aborts, if @INIT phase does not complete within 30 seconds
    • the time limit can be adjusted via compile flag -DRTT_CONFIG_INIT_TIMEOUT_S=n
  3. Cadul Support:

    • Sample project DEMO_CADUL (V-1.0) is now included (FR #20372)
      this also caters for coverage measurement with QoverX.

Improvements

  1. Robustness of Startup / @INIT phase:

    • If a test terminates in the @INIT phase, this is always considered
      a TESTERROR; this is now recognized by a TERMINATED_IN_INIT_PHASE entry in rtt-run-test.log.
    • Setting an AM verdict to TESTERROR now introduces a 1 second delay
      before returning from this function call; this avoids flooding
      of TESTERROR messages in many situations, like cluster synchronization fail
    • Consistency: if test with LPWs terminates in @INIT phase,
      exit with error code
  2. Enum Preprocessing Diagnostics (rttprep_enum, FR #20368):

    • give more precise information for syntax errors
    • inside brace blocks, warn if there is a mismatch for opening/closing () / {}
    • apply sanity check (via compiler), see environment setting RTT_ENUM_SANITY
      (which allows to specify the behaviour on problems)
  3. Operational Improvements:

    • RTTL commands now always expand to braced blocks or expressions (#20178);
      this was not the case for: @rttSetVerdict, @csvRead, @rttClearFilter[s], @rttSetDefaultAction
    • LOG_LOCATION: explicitly set all (sub-)directories to world-writable (to avoid access issues, if different users use a project with same LOG_LOCATION=/tmp/DIR)
    • windows uninstall: remove potential bin/__pycache__/*.pyc files (can only occur if installation directory is user-writable)
    • rttrts2tab: option --json now identifies schema version 2
  4. Cluster Support:

    • explicitly try to term/kill the remote processes, based on *.pid files
    • abort test, if a remote CNODE exits with error
    • Better Cluster Infiniband/MX/TCP-messages: (FR #20313 A)
      • always give source location [file:line]
      • mark debug configurations with (DEBUG)
      • failures that lead to exit(1) are marked with TEST-ERROR
      • failures that lead to shutdown are marked with FATAL
      • no-fatal failures are marked with WARNING or FAILED
  5. Script Improvements:

    • rtt-get-tc-coverage: RTT_TESTCONTEXT may be a symbolic link (#20288);
      do not accidentally resolve it during processing.
    • rtt-compile-test now gives meaningful error messages,
      if PARAMETER names in *.conf do not match those in *.rts
    • rtt-run-tests accepts “--timeout none
      (equivalent to “--timeout 0” or no timeout at all)
    • rtt-mem-statistics: new options (--host / --prefix) to allow accumulating
      data from several cluster nodes (sent to remote port)
    • rtt-live-sigplot:
      • option --default-backend allows to select best match
      • terminate properly if option --to-file is used
    • systematically support --preserve option and output
      helpful information on that on script termination
    • rtt-html-doc:
      • test case table: added “Brief Description” column
      • test case table lists associated requirements (if any) in the “Reference” column
      • refactored --pidfile option to make more robust and systematic
  6. General Cleanup:

    • evaluation of project.rtp: always take language and family lower-case
      (so the case-ness in the file does not matter)
    • rttrts2tags: switched off spurious UNKNOWN-END-ID warning (for constraints)
    • rttscan_conf: ignore clang C-comments that are placed behind #include after expansion of *.conf files (#20271)
    • python3: corrected treating of *.gz (which caused “using fallback” warning)
    • clean up generated code to avoid compiler warnings for
      • channel structure initializations
      • rtt_context_convert_timer_name_to_id() with no timers
      • unused variables in RTTcontext.c, RTTschedule.c, RTTsignal.c
    • rtt_test_version.h now included by rtt_test_config.h (i.e. very early)
    • in Makefile templates, replaced “ar cru” by “ar cr
      (which is more appropriate, since we do not intend update)
    • rttprep_stubs: avoid compiler warning in use of rttFailures[]
  7. RT-Tester Manual:

    • added section for special CFLAGS (RTT_SHOW_RUNTIME_STATS, RTT_WRAP_TYPES, RTT_CONFIG_FS_KEEPALIVE_MS)
    • added section 13.7 on debugging, in particular for memory leaks (FR #20303)
    • added paragraph in 11.2 about port overrun detection
    • added section on generally supported command line options
    • added sections on compile/doc time optimisation,
      in particular pointed to distcc for distributed compile
    • Utility rtt-manual (to open a document at specific section):
      • has now option --offset to shift page ranges
        (and accepts negative page numbers and offset settings in in *.cpt)
      • now also allows --doc URL (for online available documents)

Bugfixes

  1. Corrections of rtt-doc-test:

    • if no *.tags files are created during run, then (consistency)
      the tags in the *.log can also be comma-separated and do
      not require a space character after the comma (PR #18948)
    • only create testcase_evaluation.tex if there are any user comments (avoid pdflatex issues if empty)
    • correctly include content of COMPRESSED_LOGS.tgz in the complete_execution_log.txt (fixes #20386)
  2. Consistency Improvements:

    • if a AM is not assigned to a LWP, compile now aborts (fixes #20256)
      (if no LWPs are configured at all, this is of course ok)
    • documentation of rtt-inspect-test corrected;
      script return value is now properly created and explained (fixes #20283)
  3. Corrections of rtt-html-doc:

    • option --from-file is now operative (fixes #20349)
    • option --pidfile is now operative (fixes #20273)