diff --git a/kubetest2-gke/deployer/commandutils.go b/kubetest2-gke/deployer/commandutils.go index 5135bd47..26a5bbf4 100644 --- a/kubetest2-gke/deployer/commandutils.go +++ b/kubetest2-gke/deployer/commandutils.go @@ -124,7 +124,7 @@ func resolveLatestVersionInChannel(loc, channelName string) (string, error) { out, err := exec.Output(exec.RawCommand( fmt.Sprintf("gcloud container get-server-config --format=\"yaml(channels:format='yaml(channel,validVersions)')\" %s", loc))) if err != nil { - return "", fmt.Errorf("failed to get the server config: %w", err) + return "", fmt.Errorf("failed to get the server config %q: %w", out, err) } type Channel struct { diff --git a/pkg/app/app.go b/pkg/app/app.go index 96f24cc2..5fbc9027 100644 --- a/pkg/app/app.go +++ b/pkg/app/app.go @@ -67,7 +67,7 @@ func RealMain(opts types.Options, d types.Deployer, tester types.Tester) (result if err != nil { return errors.Wrap(err, "could not create runner output") } - writer := metadata.NewWriter(junitRunner) + writer := metadata.NewWriter("kubetest2", junitRunner) // defer writing out the metadata on exit // NOTE: defer is LIFO, so this should actually be the finish time defer func() { diff --git a/pkg/metadata/junit.go b/pkg/metadata/junit.go index 9e744423..9a0959e9 100644 --- a/pkg/metadata/junit.go +++ b/pkg/metadata/junit.go @@ -56,6 +56,7 @@ func NewJUnitError(inner error, systemOut string) error { // A build (column in testgrid) is composed of one or more TestSuites. type testSuite struct { XMLName xml.Name `xml:"testsuite"` + Name string `xml:"name,attr"` Failures int `xml:"failures,attr"` Tests int `xml:"tests,attr"` Time float64 `xml:"time,attr"` diff --git a/pkg/metadata/writer.go b/pkg/metadata/writer.go index efa42217..11c83a5e 100644 --- a/pkg/metadata/writer.go +++ b/pkg/metadata/writer.go @@ -33,8 +33,8 @@ type Writer struct { // NewWriter constructs a new writer, the junit_runner.xml contents // will be written to runnerOut, with the top level kubetest2 stages as // metadata (Up, Down, etc.) -func NewWriter(runnerOut io.Writer) *Writer { - suite := testSuite{} +func NewWriter(suiteName string, runnerOut io.Writer) *Writer { + suite := testSuite{Name: suiteName} return &Writer{ suite: suite, runnerOut: runnerOut, diff --git a/pkg/metadata/writer_test.go b/pkg/metadata/writer_test.go index e31f6e12..27e5dfcb 100644 --- a/pkg/metadata/writer_test.go +++ b/pkg/metadata/writer_test.go @@ -72,7 +72,7 @@ func TestWriter(t *testing.T) { }, expectedOutput: strings.TrimPrefix( ` - + `, "\n", @@ -89,7 +89,7 @@ func TestWriter(t *testing.T) { }, expectedOutput: strings.TrimPrefix( ` - + oh noes @@ -113,7 +113,7 @@ func TestWriter(t *testing.T) { }, expectedOutput: strings.TrimPrefix( ` - + on noes uh oh @@ -146,7 +146,7 @@ func TestWriter(t *testing.T) { }, expectedOutput: strings.TrimPrefix( ` - + @@ -166,7 +166,7 @@ func TestWriter(t *testing.T) { // fake output io.WriteCloser runnerOut := bytes.NewBuffer([]byte{}) // create a new writer and fake out the time - w := NewWriter(runnerOut) + w := NewWriter("kubetest2", runnerOut) w.timeNow = makeFakeNow() w.start = w.timeNow() // run all the steps