Merge remote-tracking branch 'origin/topic/awelzel/debug-stream-env'

* origin/topic/awelzel/debug-stream-env:
  zeek-setup: Support enabling debug streams through env variable
This commit is contained in:
Arne Welzel 2024-09-27 14:59:45 +02:00
commit 4aca6290a7
5 changed files with 37 additions and 3 deletions

24
CHANGES
View file

@ -1,3 +1,27 @@
7.1.0-dev.339 | 2024-09-27 14:59:45 +0200
* zeek-setup: Support enabling debug streams through env variable (Arne Welzel, Corelight)
For debugging btests, it can be convenient to enable debug streams
by setting an environment variable rather than editing zeek invocations
and adding -B selectively.
Sample use case:
$ export ZEEK_DEBUG_LOG_STREAMS=all
$ btest -d core/failing-test.zeek
$ less .tmp/core/failing-test/debug.log
This change makes Zeek's -B option and ZEEK_DEBUG_LOG_STREAMS are additive.
* Install `procps` in OpenSuse Leap images (Benjamin Bannier, Corelight)
The tests `core.sigterm-regular` and `core.sigterm-stdin` rely on `ps`
to be present which is not the case anymore on OpenSuse Leap; install it
explicitly there.
* Bump auxil/spicy to latest development snapshot (Benjamin Bannier, Corelight)
7.1.0-dev.332 | 2024-09-23 10:59:51 -0700
* pop3: Remove unused headers (Arne Welzel, Corelight)

View file

@ -1 +1 @@
7.1.0-dev.332
7.1.0-dev.339

View file

@ -85,6 +85,9 @@ public:
bool IsEnabled(DebugStream stream) const { return streams[int(stream)].enabled; }
// Are any streams enabled?
bool HasEnabledStreams() const { return ! enabled_streams.empty(); }
void SetVerbose(bool arg_verbose) { verbose = arg_verbose; }
bool IsVerbose() const { return verbose; }

View file

@ -170,7 +170,10 @@ void usage(const char* prog, int code) {
"not set, will use first IPv4 address from /etc/resolv.conf");
fprintf(stderr,
" $ZEEK_DEBUG_LOG_STDERR | Use stderr for debug logs generated via "
"the -B flag");
"the -B flag\n");
fprintf(stderr,
" $ZEEK_DEBUG_LOG_STREAMS | Enable debugging output for selected "
"streams (see the -B flag)");
fprintf(stderr, "\n");

View file

@ -556,9 +556,13 @@ SetupResult setup(int argc, char** argv, Options* zopts) {
reporter->FatalError("-u incompatible with --no-unused-warnings");
#ifdef DEBUG
if ( options.debug_log_streams ) {
if ( options.debug_log_streams )
debug_logger.EnableStreams(options.debug_log_streams->data());
if ( const auto* streams = getenv("ZEEK_DEBUG_LOG_STREAMS") )
debug_logger.EnableStreams(streams);
if ( debug_logger.HasEnabledStreams() ) {
if ( getenv("ZEEK_DEBUG_LOG_STDERR") )
debug_logger.OpenDebugLog(nullptr);
else