summaryrefslogtreecommitdiff
path: root/vendor/src/github.com/smartystreets/goconvey/web/server/contract/result.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/src/github.com/smartystreets/goconvey/web/server/contract/result.go')
-rw-r--r--vendor/src/github.com/smartystreets/goconvey/web/server/contract/result.go55
1 files changed, 39 insertions, 16 deletions
diff --git a/vendor/src/github.com/smartystreets/goconvey/web/server/contract/result.go b/vendor/src/github.com/smartystreets/goconvey/web/server/contract/result.go
index 2b13ac57af5..c6f9bf2cfde 100644
--- a/vendor/src/github.com/smartystreets/goconvey/web/server/contract/result.go
+++ b/vendor/src/github.com/smartystreets/goconvey/web/server/contract/result.go
@@ -4,27 +4,47 @@ import (
"path/filepath"
"strings"
+ "go/build"
+
"github.com/smartystreets/goconvey/convey/reporting"
+ "github.com/smartystreets/goconvey/web/server/messaging"
)
type Package struct {
- Active bool
- Path string
- Name string
- Error error
- Output string
- Result *PackageResult
+ Path string
+ Name string
+ Ignored bool
+ Disabled bool
+ BuildTags []string
+ TestArguments []string
+ Error error
+ Output string
+ Result *PackageResult
+
+ HasImportCycle bool
}
-func NewPackage(path string) *Package {
+func NewPackage(folder *messaging.Folder, hasImportCycle bool) *Package {
self := new(Package)
- self.Active = true
- self.Path = path
- self.Name = resolvePackageName(path)
+ self.Path = folder.Path
+ self.Name = resolvePackageName(self.Path)
self.Result = NewPackageResult(self.Name)
+ self.Ignored = folder.Ignored
+ self.Disabled = folder.Disabled
+ self.BuildTags = folder.BuildTags
+ self.TestArguments = folder.TestArguments
+ self.HasImportCycle = hasImportCycle
return self
}
+func (self *Package) Active() bool {
+ return !self.Disabled && !self.Ignored
+}
+
+func (self *Package) HasUsableResult() bool {
+ return self.Active() && (self.Error == nil || (self.Output != ""))
+}
+
type CompleteOutput struct {
Packages []*PackageResult
Revision string
@@ -33,6 +53,7 @@ type CompleteOutput struct {
var ( // PackageResult.Outcome values:
Ignored = "ignored"
+ Disabled = "disabled"
Passed = "passed"
Failed = "failed"
Panicked = "panicked"
@@ -40,6 +61,8 @@ var ( // PackageResult.Outcome values:
NoTestFiles = "no test files"
NoTestFunctions = "no test functions"
NoGoFiles = "no go code"
+
+ TestRunAbortedUnexpectedly = "test run aborted unexpectedly"
)
type PackageResult struct {
@@ -82,13 +105,13 @@ func NewTestResult(testName string) *TestResult {
}
func resolvePackageName(path string) string {
- index := strings.Index(path, endGoPath)
- if index < 0 {
- return path
+ pkg, err := build.ImportDir(path, build.FindOnly)
+ if err == nil {
+ return pkg.ImportPath
}
- packageBeginning := index + len(endGoPath)
- name := path[packageBeginning:]
- return name
+
+ nameArr := strings.Split(path, endGoPath)
+ return nameArr[len(nameArr)-1]
}
const (