Man page - go-junit-report(1)

Packages contains this manual

Manual

GO-JUNIT-REPORT

NAME
SYNOPSIS
DESCRIPTION
OPTIONS
EXIT STATUS
COPYRIGHT

NAME

go-junit-report - convert Go test output to JUnit XML

SYNOPSIS

go-junit-report [ -in file ] [ -out file ] [ options... ]

go-junit-report -version

go-junit-report -help

DESCRIPTION

go-junit-report is a tool that converts go test output to a JUnit compatible XML report, suitable for use with applications such as Jenkins or GitLab CI.

By default, go-junit-report reads go test -v output generated by the standard library testing package from stdin and writes a JUnit XML report to stdout.

Go build and runtime errors are also supported, but this requires that stderr is redirected to go-junit-report as well.

Typical use looks like this:

go test -v 2E<gt>&1 ./... | go-junit-report -set-exit-code E<gt> report.xml

Alternatively, go-junit-report can consume JSON output of go test . In this case, stderr still needs to be redirected for build errors to be detected.

go test -json 2E<gt>&1 | go-junit-report -parser gojson E<gt> report.xml

The -iocopy flag copies stdin directly to stdout, which is useful to still be able to see the go test output.

go test -v 2E<gt>&1 ./... | go-junit-report -set-exit-code -iocopy -out report.xml

OPTIONS

-in file

Read the log from file. If not specified, stdin is used.

-out file

Write XML report to file. If not specified, stdout is used.

-iocopy

Copy input to stdout. Can only be used in conjunction with -out . This is useful if you want to see what was sent to go-junit-report .

-no-xml-header

Do not print the XML header.

-p key = value

Add a key = value property to generated report. Repeat this flag to add multiple properties.

-package-name name

Specify a default package name to use if test log does not contain a package name.

-parser string

Set input parser type: gotest or gojson (default: gotest ).

-set-exit-code

Set exit code to 1 if tests failed.

-subtest-mode mode

Set subtest mode: ignore-parent-results (subtest parents always pass), exclude-parents (subtest parents are excluded from the report).

-help

Print a summary of command-line options.

-version

Print the go-junit-report version.

-debug.print-events

print events generated by the go test parser

-go-version string

(deprecated, use -prop ) the value to use for the go.version property in the generated XML

EXIT STATUS

If go-junit-report encounters an error during its operation, or doesn’t understand its command-line options, 2 is returned.

If the input logs indicate the tests failed, and -set-exit-code is specified, 1 is returned.

Otherwise, 0 is returned.

COPYRIGHT

Copyright (C) 2025 Andrej Shadura.