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 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.
Replication
With the following config.yml:
schemaVersion: "2.0.0"
fileExistenceTests:
- name: "sh existence"
path: "/bin/sh"
metadataTest:
entrypoint: []
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:
Infolevel logging:Debuglevel logging:If
container-structure-testruns with--verbosity infoand--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-testsis 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 infoto 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.xmlwill give us the following results:with
--verbosity infowith
--verbosity debug: