scylla-operator
scylla-operator copied to clipboard
Tee test logs of e2e test runner's parallel processes to files
Description of your changes: Currently, in our e2e test runner, when one of the spawned processes fails before the Ginkgo reporter can fetch the intercepted output, we won't be able to access the test logs. Although the test runner prints the logs collected in a buffer of each failed process (https://github.com/scylladb/scylla-operator/blob/f33a54a2c30f55a93934da397cc94a27df338ddb/pkg/cmd/tests/tests_run.go#L428), they don't contain the intercepted test logs (see https://github.com/onsi/ginkgo/blob/2cc2219b4ec8630df2ee1b112237b4ae56da1a75/core_dsl.go#L271).
This PR adds redirection of the test logs of each process to a file. Additionally, it reformats the logs of the test runner and fixes a wait bug. This effort is supposed to facilitate tracing issues where some of the parallel processes of the E2E test runner fail (e.g. get signaled).
Which issue is resolved by this Pull Request: CI issues: https://github.com/scylladb/scylla-operator/actions/runs/3203718127/jobs/5234200661#step:3:1925, https://github.com/scylladb/scylla-operator/actions/runs/3205551747/jobs/5238266328#step:3:1983