Also now permit interactivly running tests without explicitly setting
$srcdir. This now works if we are inside ./tests and fails, as before,
when we are in a different directory.
Detected by shellcheck via CodeFactor.io
- DEAD_PORT now uses unassigned IANA port unlike to be used on the system
(dynamic port querying is racy and we had at least once an issue, so we
can remove ambiguity here easily)
- replace some diag.sh commands by bash functions
changes some of the test commands to use bash functions
includes some small bug fixes to tests where bugs were
previously not seen due to different plumbing.
Also a couple of changes to testbench worth mentioning:
* use cp -f to ensure files can be overwirtten in VBUILD
* fix issue of missing include test file in EXTRA_DIST
* new supressions
* testbench: try to use local system dependency cache
avoid going to Internet repos if not absolutely necessary. For
development containers, they should be pre-populated with the
important dependencies.
* do not enable libfaketime if ASAN is selected
unfortunately, libfaketime does not work in that case
see also https://github.com/rsyslog/rsyslog/issues/174
- design-change to make room for array and sparse-array tables in addition to string(which original design assumed)
- memory-leak fix (in unused lookup-table senario), same problem could lead to illegal free(during shutdown) in multiple call-sites for lookup-fn
- allow rainerscript functions to declaratively opt-out of funcdata destruct
- tests for unused lookup-table senario and valgrind test for lookup-table
- interned-value-strings (so each value string is represented in memory only once, as per the proposal)
- memory-leak fix in failure senarios (allocation failure etc in table-loadup)