mirror of
				https://github.com/k3s-io/kubernetes.git
				synced 2025-11-04 07:49:35 +00:00 
			
		
		
		
	Bump Ginkgo to support building on riscv64 arch
This commit is contained in:
		
							
								
								
									
										6
									
								
								vendor/github.com/onsi/ginkgo/.travis.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								vendor/github.com/onsi/ginkgo/.travis.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -1,10 +1,12 @@
 | 
			
		||||
language: go
 | 
			
		||||
go:
 | 
			
		||||
  - 1.10.x
 | 
			
		||||
  - 1.11.x
 | 
			
		||||
  - 1.12.x
 | 
			
		||||
  - 1.13.x
 | 
			
		||||
  - tip
 | 
			
		||||
 | 
			
		||||
# allow internal package imports, necessary for forked repositories
 | 
			
		||||
go_import_path: github.com/onsi/ginkgo
 | 
			
		||||
 | 
			
		||||
install:
 | 
			
		||||
  - go get -v -t ./...
 | 
			
		||||
  - go get golang.org/x/tools/cmd/cover
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										22
									
								
								vendor/github.com/onsi/ginkgo/CHANGELOG.md
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										22
									
								
								vendor/github.com/onsi/ginkgo/CHANGELOG.md
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -1,20 +1,34 @@
 | 
			
		||||
## 1.10.3
 | 
			
		||||
 | 
			
		||||
### Fixes
 | 
			
		||||
- Set go_import_path in travis.yml to allow internal packages in forks (#607) [3b721db]
 | 
			
		||||
- Add integration test [d90e0dc]
 | 
			
		||||
- Fix coverage files combining [e5dde8c]
 | 
			
		||||
- A new CLI option: -ginkgo.reportFile <file path> (#601) [034fd25]
 | 
			
		||||
 | 
			
		||||
## 1.10.2
 | 
			
		||||
 | 
			
		||||
### Fixes
 | 
			
		||||
- speed up table entry generateIt() (#609) [5049dc5]
 | 
			
		||||
- Fix. Write errors to stderr instead of stdout (#610) [7bb3091]
 | 
			
		||||
 | 
			
		||||
## 1.10.1
 | 
			
		||||
 | 
			
		||||
## Fixes
 | 
			
		||||
### Fixes
 | 
			
		||||
- stack backtrace: fix skipping (#600) [2a4c0bd]
 | 
			
		||||
 | 
			
		||||
## 1.10.0
 | 
			
		||||
 | 
			
		||||
## Fixes
 | 
			
		||||
### Fixes
 | 
			
		||||
- stack backtrace: fix alignment and skipping [66915d6]
 | 
			
		||||
- fix typo in documentation [8f97b93]
 | 
			
		||||
 | 
			
		||||
## 1.9.0
 | 
			
		||||
 | 
			
		||||
## Features
 | 
			
		||||
### Features
 | 
			
		||||
- Option to print output into report, when tests have passed [0545415]
 | 
			
		||||
 | 
			
		||||
## Fixes
 | 
			
		||||
### Fixes
 | 
			
		||||
- Fixed typos in comments [0ecbc58]
 | 
			
		||||
- gofmt code [a7f8bfb]
 | 
			
		||||
- Simplify code [7454d00]
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										9
									
								
								vendor/github.com/onsi/ginkgo/config/config.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										9
									
								
								vendor/github.com/onsi/ginkgo/config/config.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -20,7 +20,7 @@ import (
 | 
			
		||||
	"fmt"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
const VERSION = "1.10.1"
 | 
			
		||||
const VERSION = "1.10.3"
 | 
			
		||||
 | 
			
		||||
type GinkgoConfigType struct {
 | 
			
		||||
	RandomSeed         int64
 | 
			
		||||
@@ -53,6 +53,7 @@ type DefaultReporterConfigType struct {
 | 
			
		||||
	Verbose           bool
 | 
			
		||||
	FullTrace         bool
 | 
			
		||||
	ReportPassed      bool
 | 
			
		||||
	ReportFile        string
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var DefaultReporterConfig = DefaultReporterConfigType{}
 | 
			
		||||
@@ -100,6 +101,8 @@ func Flags(flagSet *flag.FlagSet, prefix string, includeParallelFlags bool) {
 | 
			
		||||
	flagSet.BoolVar(&(DefaultReporterConfig.Succinct), prefix+"succinct", false, "If set, default reporter prints out a very succinct report")
 | 
			
		||||
	flagSet.BoolVar(&(DefaultReporterConfig.FullTrace), prefix+"trace", false, "If set, default reporter prints out the full stack trace when a failure occurs")
 | 
			
		||||
	flagSet.BoolVar(&(DefaultReporterConfig.ReportPassed), prefix+"reportPassed", false, "If set, default reporter prints out captured output of passed tests.")
 | 
			
		||||
	flagSet.StringVar(&(DefaultReporterConfig.ReportFile), prefix+"reportFile", "", "Override the default reporter output file path.")
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func BuildFlagArgs(prefix string, ginkgo GinkgoConfigType, reporter DefaultReporterConfigType) []string {
 | 
			
		||||
@@ -202,5 +205,9 @@ func BuildFlagArgs(prefix string, ginkgo GinkgoConfigType, reporter DefaultRepor
 | 
			
		||||
		result = append(result, fmt.Sprintf("--%sreportPassed", prefix))
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if reporter.ReportFile != "" {
 | 
			
		||||
		result = append(result, fmt.Sprintf("--%sreportFile=%s", prefix, reporter.ReportFile))
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return result
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										81
									
								
								vendor/github.com/onsi/ginkgo/ginkgo/generate_command.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										81
									
								
								vendor/github.com/onsi/ginkgo/ginkgo/generate_command.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -1,10 +1,12 @@
 | 
			
		||||
package main
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"bytes"
 | 
			
		||||
	"flag"
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"os"
 | 
			
		||||
	"path/filepath"
 | 
			
		||||
	"strconv"
 | 
			
		||||
	"strings"
 | 
			
		||||
	"text/template"
 | 
			
		||||
)
 | 
			
		||||
@@ -158,11 +160,90 @@ func formatSubject(name string) string {
 | 
			
		||||
	return name
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// moduleName returns module name from go.mod from given module root directory
 | 
			
		||||
func moduleName(modRoot string) string {
 | 
			
		||||
	modFile, err := os.Open(filepath.Join(modRoot, "go.mod"))
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return ""
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	mod := make([]byte, 128)
 | 
			
		||||
	_, err = modFile.Read(mod)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return ""
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	slashSlash := []byte("//")
 | 
			
		||||
	moduleStr := []byte("module")
 | 
			
		||||
 | 
			
		||||
	for len(mod) > 0 {
 | 
			
		||||
		line := mod
 | 
			
		||||
		mod = nil
 | 
			
		||||
		if i := bytes.IndexByte(line, '\n'); i >= 0 {
 | 
			
		||||
			line, mod = line[:i], line[i+1:]
 | 
			
		||||
		}
 | 
			
		||||
		if i := bytes.Index(line, slashSlash); i >= 0 {
 | 
			
		||||
			line = line[:i]
 | 
			
		||||
		}
 | 
			
		||||
		line = bytes.TrimSpace(line)
 | 
			
		||||
		if !bytes.HasPrefix(line, moduleStr) {
 | 
			
		||||
			continue
 | 
			
		||||
		}
 | 
			
		||||
		line = line[len(moduleStr):]
 | 
			
		||||
		n := len(line)
 | 
			
		||||
		line = bytes.TrimSpace(line)
 | 
			
		||||
		if len(line) == n || len(line) == 0 {
 | 
			
		||||
			continue
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if line[0] == '"' || line[0] == '`' {
 | 
			
		||||
			p, err := strconv.Unquote(string(line))
 | 
			
		||||
			if err != nil {
 | 
			
		||||
				return "" // malformed quoted string or multiline module path
 | 
			
		||||
			}
 | 
			
		||||
			return p
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		return string(line)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return "" // missing module path
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func findModuleRoot(dir string) (root string) {
 | 
			
		||||
	dir = filepath.Clean(dir)
 | 
			
		||||
 | 
			
		||||
	// Look for enclosing go.mod.
 | 
			
		||||
	for {
 | 
			
		||||
		if fi, err := os.Stat(filepath.Join(dir, "go.mod")); err == nil && !fi.IsDir() {
 | 
			
		||||
			return dir
 | 
			
		||||
		}
 | 
			
		||||
		d := filepath.Dir(dir)
 | 
			
		||||
		if d == dir {
 | 
			
		||||
			break
 | 
			
		||||
		}
 | 
			
		||||
		dir = d
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func getPackageImportPath() string {
 | 
			
		||||
	workingDir, err := os.Getwd()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		panic(err.Error())
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Try go.mod file first
 | 
			
		||||
	modRoot := findModuleRoot(workingDir)
 | 
			
		||||
	if modRoot != "" {
 | 
			
		||||
		modName := moduleName(modRoot)
 | 
			
		||||
		if modName != "" {
 | 
			
		||||
			cd := strings.Replace(workingDir, modRoot, "", -1)
 | 
			
		||||
			return modName + cd
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Fallback to GOPATH structure
 | 
			
		||||
	sep := string(filepath.Separator)
 | 
			
		||||
	paths := strings.Split(workingDir, sep+"src"+sep)
 | 
			
		||||
	if len(paths) == 1 {
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										17
									
								
								vendor/github.com/onsi/ginkgo/ginkgo/run_command.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										17
									
								
								vendor/github.com/onsi/ginkgo/ginkgo/run_command.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -5,6 +5,7 @@ import (
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"math/rand"
 | 
			
		||||
	"os"
 | 
			
		||||
	"regexp"
 | 
			
		||||
	"strings"
 | 
			
		||||
	"time"
 | 
			
		||||
 | 
			
		||||
@@ -163,17 +164,27 @@ func (r *SpecRunner) combineCoverprofiles(runners []*testrunner.TestRunner) erro
 | 
			
		||||
 | 
			
		||||
	fmt.Println("path is " + path)
 | 
			
		||||
 | 
			
		||||
	combined, err := os.OpenFile(filepath.Join(path, r.getCoverprofile()),
 | 
			
		||||
		os.O_APPEND|os.O_WRONLY|os.O_CREATE, 0666)
 | 
			
		||||
	combined, err := os.OpenFile(
 | 
			
		||||
		filepath.Join(path, r.getCoverprofile()),
 | 
			
		||||
		os.O_WRONLY|os.O_CREATE,
 | 
			
		||||
		0666,
 | 
			
		||||
	)
 | 
			
		||||
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		fmt.Printf("Unable to create combined profile, %v\n", err)
 | 
			
		||||
		return nil // non-fatal error
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	for _, runner := range runners {
 | 
			
		||||
	modeRegex := regexp.MustCompile(`^mode: .*\n`)
 | 
			
		||||
	for index, runner := range runners {
 | 
			
		||||
		contents, err := ioutil.ReadFile(runner.CoverageFile)
 | 
			
		||||
 | 
			
		||||
		// remove the cover mode line from every file
 | 
			
		||||
		// except the first one
 | 
			
		||||
		if index > 0 {
 | 
			
		||||
			contents = modeRegex.ReplaceAll(contents, []byte{})
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			fmt.Printf("Unable to read coverage file %s to combine, %v\n", runner.CoverageFile, err)
 | 
			
		||||
			return nil // non-fatal error
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										5
									
								
								vendor/github.com/onsi/ginkgo/ginkgo_dsl.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								vendor/github.com/onsi/ginkgo/ginkgo_dsl.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -199,6 +199,11 @@ type Benchmarker interface {
 | 
			
		||||
//	ginkgo bootstrap
 | 
			
		||||
func RunSpecs(t GinkgoTestingT, description string) bool {
 | 
			
		||||
	specReporters := []Reporter{buildDefaultReporter()}
 | 
			
		||||
	if config.DefaultReporterConfig.ReportFile != "" {
 | 
			
		||||
		reportFile := config.DefaultReporterConfig.ReportFile
 | 
			
		||||
		specReporters[0] = reporters.NewJUnitReporter(reportFile)
 | 
			
		||||
		return RunSpecsWithDefaultAndCustomReporters(t, description, specReporters)
 | 
			
		||||
	}
 | 
			
		||||
	return RunSpecsWithCustomReporters(t, description, specReporters)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										11
									
								
								vendor/github.com/onsi/ginkgo/internal/remote/syscall_dup_linux_riscv64.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								vendor/github.com/onsi/ginkgo/internal/remote/syscall_dup_linux_riscv64.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,11 @@
 | 
			
		||||
// +build linux,riscv64
 | 
			
		||||
 | 
			
		||||
package remote
 | 
			
		||||
 | 
			
		||||
import "syscall"
 | 
			
		||||
 | 
			
		||||
// linux_riscv64 doesn't have syscall.Dup2 which ginkgo uses, so
 | 
			
		||||
// use the nearly identical syscall.Dup3 instead
 | 
			
		||||
func syscallDup(oldfd int, newfd int) (err error) {
 | 
			
		||||
	return syscall.Dup3(oldfd, newfd, 0)
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										1
									
								
								vendor/github.com/onsi/ginkgo/internal/remote/syscall_dup_unix.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/github.com/onsi/ginkgo/internal/remote/syscall_dup_unix.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -1,4 +1,5 @@
 | 
			
		||||
// +build !linux !arm64
 | 
			
		||||
// +build !linux !riscv64
 | 
			
		||||
// +build !windows
 | 
			
		||||
// +build !solaris
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										21
									
								
								vendor/github.com/onsi/ginkgo/reporters/junit_reporter.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										21
									
								
								vendor/github.com/onsi/ginkgo/reporters/junit_reporter.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -13,6 +13,7 @@ import (
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"math"
 | 
			
		||||
	"os"
 | 
			
		||||
	"path/filepath"
 | 
			
		||||
	"strings"
 | 
			
		||||
 | 
			
		||||
	"github.com/onsi/ginkgo/config"
 | 
			
		||||
@@ -141,17 +142,29 @@ func (reporter *JUnitReporter) SpecSuiteDidEnd(summary *types.SuiteSummary) {
 | 
			
		||||
	reporter.suite.Time = math.Trunc(summary.RunTime.Seconds()*1000) / 1000
 | 
			
		||||
	reporter.suite.Failures = summary.NumberOfFailedSpecs
 | 
			
		||||
	reporter.suite.Errors = 0
 | 
			
		||||
	file, err := os.Create(reporter.filename)
 | 
			
		||||
	if reporter.ReporterConfig.ReportFile != "" {
 | 
			
		||||
		reporter.filename = reporter.ReporterConfig.ReportFile
 | 
			
		||||
		fmt.Printf("\nJUnit path was configured: %s\n", reporter.filename)
 | 
			
		||||
	}
 | 
			
		||||
	filePath, _ := filepath.Abs(reporter.filename)
 | 
			
		||||
	dirPath := filepath.Dir(filePath)
 | 
			
		||||
	err := os.MkdirAll(dirPath, os.ModePerm)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		fmt.Printf("Failed to create JUnit report file: %s\n\t%s", reporter.filename, err.Error())
 | 
			
		||||
		fmt.Printf("\nFailed to create JUnit directory: %s\n\t%s", filePath, err.Error())
 | 
			
		||||
	}
 | 
			
		||||
	file, err := os.Create(filePath)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		fmt.Fprintf(os.Stderr, "Failed to create JUnit report file: %s\n\t%s", filePath, err.Error())
 | 
			
		||||
	}
 | 
			
		||||
	defer file.Close()
 | 
			
		||||
	file.WriteString(xml.Header)
 | 
			
		||||
	encoder := xml.NewEncoder(file)
 | 
			
		||||
	encoder.Indent("  ", "    ")
 | 
			
		||||
	err = encoder.Encode(reporter.suite)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		fmt.Printf("Failed to generate JUnit report\n\t%s", err.Error())
 | 
			
		||||
	if err == nil {
 | 
			
		||||
		fmt.Fprintf(os.Stdout, "\nJUnit report was created: %s\n", filePath)
 | 
			
		||||
	} else {
 | 
			
		||||
		fmt.Fprintf(os.Stderr,"\nFailed to generate JUnit report data:\n\t%s", err.Error())
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										36
									
								
								vendor/github.com/onsi/ginkgo/reporters/teamcity_reporter.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										36
									
								
								vendor/github.com/onsi/ginkgo/reporters/teamcity_reporter.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -35,7 +35,7 @@ func NewTeamCityReporter(writer io.Writer) *TeamCityReporter {
 | 
			
		||||
 | 
			
		||||
func (reporter *TeamCityReporter) SpecSuiteWillBegin(config config.GinkgoConfigType, summary *types.SuiteSummary) {
 | 
			
		||||
	reporter.testSuiteName = escape(summary.SuiteDescription)
 | 
			
		||||
	fmt.Fprintf(reporter.writer, "%s[testSuiteStarted name='%s']", messageId, reporter.testSuiteName)
 | 
			
		||||
	fmt.Fprintf(reporter.writer, "%s[testSuiteStarted name='%s']\n", messageId, reporter.testSuiteName)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (reporter *TeamCityReporter) BeforeSuiteDidRun(setupSummary *types.SetupSummary) {
 | 
			
		||||
@@ -49,18 +49,18 @@ func (reporter *TeamCityReporter) AfterSuiteDidRun(setupSummary *types.SetupSumm
 | 
			
		||||
func (reporter *TeamCityReporter) handleSetupSummary(name string, setupSummary *types.SetupSummary) {
 | 
			
		||||
	if setupSummary.State != types.SpecStatePassed {
 | 
			
		||||
		testName := escape(name)
 | 
			
		||||
		fmt.Fprintf(reporter.writer, "%s[testStarted name='%s']", messageId, testName)
 | 
			
		||||
		message := escape(setupSummary.Failure.ComponentCodeLocation.String())
 | 
			
		||||
		details := escape(setupSummary.Failure.Message)
 | 
			
		||||
		fmt.Fprintf(reporter.writer, "%s[testFailed name='%s' message='%s' details='%s']", messageId, testName, message, details)
 | 
			
		||||
		fmt.Fprintf(reporter.writer, "%s[testStarted name='%s']\n", messageId, testName)
 | 
			
		||||
		message := reporter.failureMessage(setupSummary.Failure)
 | 
			
		||||
		details := reporter.failureDetails(setupSummary.Failure)
 | 
			
		||||
		fmt.Fprintf(reporter.writer, "%s[testFailed name='%s' message='%s' details='%s']\n", messageId, testName, message, details)
 | 
			
		||||
		durationInMilliseconds := setupSummary.RunTime.Seconds() * 1000
 | 
			
		||||
		fmt.Fprintf(reporter.writer, "%s[testFinished name='%s' duration='%v']", messageId, testName, durationInMilliseconds)
 | 
			
		||||
		fmt.Fprintf(reporter.writer, "%s[testFinished name='%s' duration='%v']\n", messageId, testName, durationInMilliseconds)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (reporter *TeamCityReporter) SpecWillRun(specSummary *types.SpecSummary) {
 | 
			
		||||
	testName := escape(strings.Join(specSummary.ComponentTexts[1:], " "))
 | 
			
		||||
	fmt.Fprintf(reporter.writer, "%s[testStarted name='%s']", messageId, testName)
 | 
			
		||||
	fmt.Fprintf(reporter.writer, "%s[testStarted name='%s']\n", messageId, testName)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (reporter *TeamCityReporter) SpecDidComplete(specSummary *types.SpecSummary) {
 | 
			
		||||
@@ -68,23 +68,31 @@ func (reporter *TeamCityReporter) SpecDidComplete(specSummary *types.SpecSummary
 | 
			
		||||
 | 
			
		||||
	if reporter.ReporterConfig.ReportPassed && specSummary.State == types.SpecStatePassed {
 | 
			
		||||
		details := escape(specSummary.CapturedOutput)
 | 
			
		||||
		fmt.Fprintf(reporter.writer, "%s[testPassed name='%s' details='%s']", messageId, testName, details)
 | 
			
		||||
		fmt.Fprintf(reporter.writer, "%s[testPassed name='%s' details='%s']\n", messageId, testName, details)
 | 
			
		||||
	}
 | 
			
		||||
	if specSummary.State == types.SpecStateFailed || specSummary.State == types.SpecStateTimedOut || specSummary.State == types.SpecStatePanicked {
 | 
			
		||||
		message := escape(specSummary.Failure.ComponentCodeLocation.String())
 | 
			
		||||
		details := escape(specSummary.Failure.Message)
 | 
			
		||||
		fmt.Fprintf(reporter.writer, "%s[testFailed name='%s' message='%s' details='%s']", messageId, testName, message, details)
 | 
			
		||||
		message := reporter.failureMessage(specSummary.Failure)
 | 
			
		||||
		details := reporter.failureDetails(specSummary.Failure)
 | 
			
		||||
		fmt.Fprintf(reporter.writer, "%s[testFailed name='%s' message='%s' details='%s']\n", messageId, testName, message, details)
 | 
			
		||||
	}
 | 
			
		||||
	if specSummary.State == types.SpecStateSkipped || specSummary.State == types.SpecStatePending {
 | 
			
		||||
		fmt.Fprintf(reporter.writer, "%s[testIgnored name='%s']", messageId, testName)
 | 
			
		||||
		fmt.Fprintf(reporter.writer, "%s[testIgnored name='%s']\n", messageId, testName)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	durationInMilliseconds := specSummary.RunTime.Seconds() * 1000
 | 
			
		||||
	fmt.Fprintf(reporter.writer, "%s[testFinished name='%s' duration='%v']", messageId, testName, durationInMilliseconds)
 | 
			
		||||
	fmt.Fprintf(reporter.writer, "%s[testFinished name='%s' duration='%v']\n", messageId, testName, durationInMilliseconds)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (reporter *TeamCityReporter) SpecSuiteDidEnd(summary *types.SuiteSummary) {
 | 
			
		||||
	fmt.Fprintf(reporter.writer, "%s[testSuiteFinished name='%s']", messageId, reporter.testSuiteName)
 | 
			
		||||
	fmt.Fprintf(reporter.writer, "%s[testSuiteFinished name='%s']\n", messageId, reporter.testSuiteName)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (reporter *TeamCityReporter) failureMessage(failure types.SpecFailure) string {
 | 
			
		||||
	return escape(failure.ComponentCodeLocation.String())
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (reporter *TeamCityReporter) failureDetails(failure types.SpecFailure) string {
 | 
			
		||||
	return escape(fmt.Sprintf("%s\n%s", failure.Message, failure.Location.String()))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func escape(output string) string {
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								vendor/github.com/onsi/ginkgo/types/types.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/onsi/ginkgo/types/types.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -12,7 +12,7 @@ SuiteSummary represents the a summary of the test suite and is passed to both
 | 
			
		||||
Reporter.SpecSuiteWillBegin
 | 
			
		||||
Reporter.SpecSuiteDidEnd
 | 
			
		||||
 | 
			
		||||
this is unfortunate as these two methods should receive different objects.  When running in parallel
 | 
			
		||||
this is unfortunate as these two methods should receive different objects. When running in parallel
 | 
			
		||||
each node does not deterministically know how many specs it will end up running.
 | 
			
		||||
 | 
			
		||||
Unfortunately making such a change would break backward compatibility.
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user