test_schedule_tmt: Expose all TMT artifacts in results.xml
tmt 1.18 now supports generating a custom results.yaml [1], mostly so that
tests can declare additional log files and artifacts. This is already
anticipated in tests/assets/test_schedule_tmt/passed/, where the first test
creates an additional journal.txt
, but this was entirely ignored. Let's
expose these additional logs in oculus through results.xml.
Until now, serialize_test_schedule_entry_results() picked the first log and
(re)named this testout.log
, and added an additional log_dir
. Move that
logic in to gather_plan_results(), and generalize TestResult
to contain a
list of named artifacts instead of just a single log. This can be extended more
easily in the future, and can also be checked much more easily in unit tests.
Adjust the expected parsing results accordingly. This simplifies
serialize_test_schedule_entry_results() to merely attach all artifacts from the
TestResult without any post-processing.
This keeps the log_dir
and testout.log
names for backwards compatibility.
All other artifacts are named by their file names for now. This leaves the
possibility of extending TMT's result.yaml
format in the future to explicitly
specify a name (e.g. to define a html-viewer
).
[1] https://github.com/teemtee/tmt/pull/1488
This blocks our reworking of rpminspect testing to present the results in a nicer way. See https://github.com/fedora-ci/rpminspect-runner/pull/80 and https://github.com/fedora-ci/rpminspect-pipeline/pull/64