mirror of
https://github.com/ceph/ceph-csi.git
synced 2025-06-14 18:53:35 +00:00
vendor files
This commit is contained in:
104
vendor/k8s.io/kubernetes/test/utils/junit/junit.go
generated
vendored
Normal file
104
vendor/k8s.io/kubernetes/test/utils/junit/junit.go
generated
vendored
Normal file
@ -0,0 +1,104 @@
|
||||
/*
|
||||
Copyright 2017 The Kubernetes Authors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
// Package junit provides data structures to allow easy XML encoding
|
||||
// and decoding of JUnit test results.
|
||||
package junit
|
||||
|
||||
import (
|
||||
"encoding/xml"
|
||||
"time"
|
||||
)
|
||||
|
||||
// TestSuite is a top-level test suite containing test cases.
|
||||
type TestSuite struct {
|
||||
XMLName xml.Name `xml:"testsuite"`
|
||||
|
||||
Name string `xml:"name,attr"`
|
||||
Tests int `xml:"tests,attr"`
|
||||
Disabled int `xml:"disabled,attr,omitempty"`
|
||||
Errors int `xml:"errors,attr"`
|
||||
Failures int `xml:"failures,attr"`
|
||||
Skipped int `xml:"skipped,attr,omitempty"`
|
||||
Time float64 `xml:"time,attr"`
|
||||
Timestamp time.Time `xml:"timestamp,attr"`
|
||||
ID int `xml:"id,attr,omitempty"`
|
||||
Package string `xml:"package,attr,omitempty"`
|
||||
Hostname string `xml:"hostname,attr"`
|
||||
|
||||
Properties []*Property `xml:"properties,omitempty"`
|
||||
TestCases []*TestCase `xml:"testcase"`
|
||||
|
||||
SystemOut string `xml:"system-out,omitempty"`
|
||||
SystemErr string `xml:"system-err,omitempty"`
|
||||
}
|
||||
|
||||
// Update iterates through the TestCases and updates Tests, Errors,
|
||||
// Failures, and Skipped top level attributes.
|
||||
func (t *TestSuite) Update() {
|
||||
t.Tests = len(t.TestCases)
|
||||
for _, tc := range t.TestCases {
|
||||
t.Errors += len(tc.Errors)
|
||||
t.Failures += len(tc.Failures)
|
||||
if len(tc.Skipped) > 0 {
|
||||
t.Skipped++
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Property is a simple key-value property that can be attached to a TestSuite.
|
||||
type Property struct {
|
||||
XMLName xml.Name `xml:"property"`
|
||||
|
||||
Name string `xml:"name,attr"`
|
||||
Value string `xml:"value,attr"`
|
||||
}
|
||||
|
||||
// Error represents the errors in a test case.
|
||||
type Error struct {
|
||||
XMLName xml.Name `xml:"error"`
|
||||
|
||||
Message string `xml:"message,attr,omitempty"`
|
||||
Type string `xml:"type,attr"`
|
||||
|
||||
Value string `xml:",cdata"`
|
||||
}
|
||||
|
||||
// Failure represents the failures in a test case.
|
||||
type Failure struct {
|
||||
XMLName xml.Name `xml:"failure"`
|
||||
|
||||
Message string `xml:"message,attr,omitempty"`
|
||||
Type string `xml:"type,attr"`
|
||||
|
||||
Value string `xml:",cdata"`
|
||||
}
|
||||
|
||||
// TestCase represents a single test case within a suite.
|
||||
type TestCase struct {
|
||||
XMLName xml.Name `xml:"testcase"`
|
||||
|
||||
Name string `xml:"name,attr"`
|
||||
Classname string `xml:"classname,attr"`
|
||||
Status string `xml:"status,attr,omitempty"`
|
||||
Assertions int `xml:"assertions,attr,omitempty"`
|
||||
Time float64 `xml:"time,attr"`
|
||||
|
||||
Skipped string `xml:"skipped,omitempty"`
|
||||
|
||||
Errors []*Error `xml:"error,omitempty"`
|
||||
Failures []*Failure `xml:"failure,omitempty"`
|
||||
}
|
Reference in New Issue
Block a user