Modernize the manon / mmnormalize test suite to remove legacy backtick-based
expansion and align with current shell best practices. This
reduces overhead and improves maintainability, especially in
CI and containerized environments.
Impact: test behavior may change in edge quoting cases.
BEFORE: tests used `echo $VAR` via backticks, spawning shells.
AFTER: tests use direct '$VAR' expansion without subshells.
The update replaces command substitution patterns used to
populate file paths and parameters with direct variable
expansion. This avoids per-expansion process forks and keeps
evaluation within the shell, improving performance and
readability.
Care is taken to preserve quoting semantics where variables
are passed to rsyslog configs. No rsyslog runtime behavior is
changed; only test execution mechanics are affected.
Refs: https://github.com/rsyslog/rsyslog/issues/6523
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
Support tools (like tcpflood) are also upgraded to support the
necessary dynamic port.s
This is part of the effort to make parallel testing possible.
We move parts of the cleanup to the buildbot cleanup, as we cannot
clean out instances on each test when we run parallel tests.
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.