oss.indeed.com/go/go-opine@v1.3.0/internal/junit/junit.go (about) 1 // Package junit is for writing JUnit XML reports. 2 package junit 3 4 import ( 5 "io" 6 "os" 7 8 "oss.indeed.com/go/go-opine/internal/run" 9 ) 10 11 // Write a JUnit XML file from the provided Go test output. 12 func Write(goTestOutput, outPath string) error { 13 junitOut, _, err := run.Cmd( 14 "go", 15 run.Args("run", "github.com/jstemmer/go-junit-report@v0.9.1"), 16 run.Stdin(goTestOutput), 17 run.Log(io.Discard), 18 ) 19 if err != nil { 20 return err 21 } 22 if err := os.WriteFile(outPath, []byte(junitOut), 0666); err != nil { //nolint:gosec 23 return err 24 } 25 return nil 26 }