Verified Systems International GmbH

Quality Assurance for Embedded Systems

RT-Tester 6.0-6.6.2 now available (maintenance)

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

New Features

  1. Support for *.csv file evaluation:

    • added CSV commands to RTTL (FR #19462+#19478; Manual Chap. 18): @csvColumns, @csvFloat, @csvHeadline, @csvInt, @csvLoop, @csvRead, @csvRows, @csvPrint, @csvStr
    • added @cvs definition option inside @rttPrint
    • added examples in DEMO project (unit-tests/test-07, 08)
  2. Fuzzing Support (FR #19308; Manual Chap. 18):

    • RTTL keywords and templates for fuzzing
    • rtt-gen-test creates ./fuzz/sut/ if @fuzz directive is detected
    • allow @throw() to be used in stub @BODY: section
    • added @fuzzClean, @fuzzGen, @fuzzRun, @fuzzLoad and @fuzzCov as generically expanded commands (implemented in customizable _rtt_fuzz_lib.rts)
    • added new example project Fuzz-Demo:
      rtt-create-project -u Fuzz-Demo
  3. test documentation (rtt-doc-test):

    • new optional section PROBLEMREPORTS to reference PR identifiers and also URLs (implements FR#19503)
  4. Enum types (rtt_prep_enum:

    • create functions
      myenum_t rttStr2Enum_myenum_t(const char* str_val);
      for all PRINT_FUNCTIONS; RTTPrintEnum_myenum_t
      If the str_val cannot be matched, then issue a WARNING in AM log and return -0x7FFFffff (implements FR#19467)
  5. license management:

    • rtt license daemon now also can handle the license requests from RTT-MBT (9.5.2 or newer)
    • added new feature token: rtt_compile_only which covers SWI+HSI:COMPILE
      this is intended for use with remote test preparation (implements FR #19512)

Improvements

  1. FMI: (see Mantis-16574):

    • rtt-fmi2-create-xml.py: only outputs are InitialUnknowns (FMI2.0.1: 2.2.8)
  2. Run Logic:

    • fixed termination, if @rttStopTest was called during @INIT:
      (the @PROCESS: phase used to be executed nevertheless in this case)
    • extensible: run-test assigns the environment variable RTT_COV_THETEST to the last directory in TP_PATH, before the cov-script is called;
      the cov-script only gets the dir above (TLA) as direct argument, but knowing the concrete test procedure may be useful.
  3. Installer:

    • (rpm) remove *.pyc on uninstall, if present
    • Windows: remove *.pyc files (if any) on uninstall
  4. Scripts:

    • for all *.py scripts, dropped the python2 condition: they shall work with both python2 and python3 (and newer systems will not have python2)
    • rtt-swi-info has new option --feature-set that prints feature information (in json-format) including
      • version
      • installed packages
      • option-list for clean, compile, run, doc
    • robustness: change generated code to be compatible with older compilers (like gcc 2.95.3):
      • no var declarations after statements
      • extern declarations outside function bodies
      • parameter macro always with non-epsilon argument
  5. Exectuables:

    • rttscan_rts (rtt-compile-test): improved error message, if any of @INIT: / @FINIT: / @PROCESS: is missing
  6. Libraries:

    • rttisetlib: added API functions rttIsetGetLargestEntry() and rttIsetFromRange(), to convert a string to a set
    • strlib:
      • added API function rttstr_find_in_specs()
      • added standard checksum functions: CRC16, CRC32, MD5SUM
      • added substring replacement functions
      • added rttstr_split_flat_list()
    • stublib: removed “EXPERIMENTAL” warning for array parameters (this can be assumed to be operative)
  7. Utilities:

    • added utility rtt_invoke_clones (mainly targeted at fuzzing)
    • rtt_parse_csv: new option --sort @columnName | @number
      that will sort the output lines (alphabetically) according to the content of that column.
    • rtt_mco now understands gcov lines with "<n>[*]:" markers, which indicate (for a ‘covered’ line) the persence of an assembler statement with zero execution count
      new option --list-zeros displays these lines on termination (implements #19466)
    • rtt-mem-statistics.py got new option --pidfile which can be useful for starting/stopping as a service

Bugfixes

  1. Scripts:

    • repaired abs_path() computation that crippled relative-path arguments of rtt-get-tc-coverage / rtt-doc-test if they contained single-character directories (like "/c/") (fixes #19426)