If container-structure-test runs with --verbosity info and --output <json, junit> --test-report <outfile>, we can't see all the tests that are being run.
Not knowing what tests will run is a possibility in complex build environments where the configuration for container-structure-tests is generated at test time. Therefore it is helpful for all of this information to be available in a consistent manner without having to
I think it would make sense to make all the tests log their name at info level; this way it doesn't affect anyone was using --verbosity debug, whilst allowing those at --verbosity info to see all the tests being run.
Running with the flags info --image docker.io/library/alpine:latest --config config.yml --output junit --test-report out.xml will give us the following results:
with --verbosity info
$ container-structure-test test --verbosity info --image docker.io/library/alpine:latest --config config.yml --output junit --test-report out.xml
INFO[0000] container-structure-test &{Version:1.19.1 GitVersion: BuildDate:2024-07-22T18:56:16Z GoVersion:go1.22.5 Compiler:gc Platform:linux/amd64}
INFO[0000] File Existence Test: sh existence
with --verbosity debug:
$ container-structure-test test --verbosity debug --image docker.io/library/alpine:latest --config config.yml --output junit --test-report out.xml
INFO[0000] container-structure-test &{Version:1.19.1 GitVersion: BuildDate:2024-07-22T18:56:16Z GoVersion:go1.22.5 Compiler:gc Platform:linux/amd64}
INFO[0000] File Existence Test: sh existence
DEBU[0000] Metadata Test
Description
Different tests log their name at different log levels:
Info
level logging:Debug
level logging:If
container-structure-test
runs with--verbosity info
and--output <json, junit> --test-report <outfile>
, we can't see all the tests that are being run.Not knowing what tests will run is a possibility in complex build environments where the configuration for
container-structure-tests
is generated at test time. Therefore it is helpful for all of this information to be available in a consistent manner without having toI think it would make sense to make all the tests log their name at info level; this way it doesn't affect anyone was using
--verbosity debug
, whilst allowing those at--verbosity info
to see all the tests being run.Replication
With the following
config.yml
:Running with the flags
info --image docker.io/library/alpine:latest --config config.yml --output junit --test-report out.xml
will give us the following results:with
--verbosity info
with
--verbosity debug
: