A maintenance release is now available for all supported platforms.
Consider updating if you are using Version 7.0.2 or older.
New Features
-
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)
-
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
-
Cadul Support:
- Sample project
DEMO_CADUL (V-1.0) is now included (FR #20372)
this also caters for coverage measurement with QoverX.
Improvements
-
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
-
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)
-
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
-
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
-
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
-
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[]
-
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
-
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)
-
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)
-
Corrections of rtt-html-doc:
- option
--from-file is now operative (fixes #20349)
- option
--pidfile is now operative (fixes #20273)