Fix pid tracking for conformance tests (#12714)

Signed-off-by: Derek Nola <derek.nola@suse.com>
This commit is contained in:
Derek Nola 2025-08-06 09:15:51 -07:00 committed by GitHub
parent 3bae735fb5
commit ff6abe8a84
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -534,22 +534,18 @@ run-go-test() {
)
if [ "$LABEL" ]; then
# Save original stdout and stderr
exec 3>&1
exec 4>&2
exec > >(awk "{ printf \"[\033[36m${LABEL}\033[m] %s\n\", \$0; fflush() }") \
2> >(awk "{ printf \"[\033[35m${LABEL}\033[m] %s\n\", \$0; fflush() }" >&2)
# Redirect stdout and stderr to separate file descriptors for labeling
go test -timeout=45m -v "$@" \
> >(awk "{ printf \"[\033[36m${LABEL}\033[m] %s\n\", \$0; fflush() }") \
2> >(awk "{ printf \"[\033[35m${LABEL}\033[m] %s\n\", \$0; fflush() }" >&2) &
else
go test -timeout=45m -v "$@" &
fi
go test -timeout=45m -v "$@" &
pids+=($!)
if [ "$LABEL" ]; then
# Reset LABEL and restore stdout and stderr
unset "LABEL"
exec 1>&3 2>&4
exec 3>&- 4>&-
fi
}
export -f run-go-test