e2e

package
v0.0.0-...-041fa0a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 9, 2016 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// ExpectedXMLHeader is the expected header of junit_XX.xml file
	ExpectedXMLHeader = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type BuildInfo

type BuildInfo struct {
	Status string
	ID     string
}

BuildInfo tells the build ID and the build success

type E2ETester

type E2ETester interface {
	GCSBasedStable() (stable, ignorableFlakes bool)
	GCSWeakStable() bool
	GetBuildStatus() map[string]BuildInfo
	Flakes() cache.Flakes
}

E2ETester can be queried for E2E job stability.

type HTTPHandlerInstaller

type HTTPHandlerInstaller interface {
	HandleFunc(pattern string, handler func(http.ResponseWriter, *http.Request))
}

HTTPHandlerInstaller is anything that can hook up HTTP requests to handlers. Used for installing admin functions.

type RealE2ETester

type RealE2ETester struct {
	BlockingJobNames    []string
	NonBlockingJobNames []string
	WeakStableJobNames  []string

	sync.Mutex
	BuildStatus          map[string]BuildInfo // protect by mutex
	GoogleGCSBucketUtils *utils.Utils
	// contains filtered or unexported fields
}

RealE2ETester is the object which will get status from a google bucket information about recent jobs

func (*RealE2ETester) Flakes

func (e *RealE2ETester) Flakes() cache.Flakes

Flakes returns a sorted list of current flakes.

func (*RealE2ETester) GCSBasedStable

func (e *RealE2ETester) GCSBasedStable() (allStable, ignorableFlakes bool)

GCSBasedStable is a version of Stable function that depends on files stored in GCS instead of Jenkis

func (*RealE2ETester) GCSWeakStable

func (e *RealE2ETester) GCSWeakStable() bool

GCSWeakStable is a version of GCSBasedStable with a slightly relaxed condition. This function says that e2e's are unstable only if there were real test failures (i.e. there was a test that failed, so no timeouts/cluster startup failures counts), or test failed for any reason 3 times in a row.

func (*RealE2ETester) GetBuildResult

func (e *RealE2ETester) GetBuildResult(job string, number int) (*cache.Result, error)

GetBuildResult returns (or gets) the cached result of the job and build. Public.

func (*RealE2ETester) GetBuildStatus

func (e *RealE2ETester) GetBuildStatus() map[string]BuildInfo

GetBuildStatus returns the build status. This map is a copy and is thus safe for the caller to use in any way.

func (*RealE2ETester) Init

Init does construction-- call once it after setting the public fields of 'e'. adminMux may be nil, in which case handlers for the resolution tracker won't be installed.

func (*RealE2ETester) LatestRunOfJob

func (e *RealE2ETester) LatestRunOfJob(jobName string) (int, error)

LatestRunOfJob returns the number of the most recent completed run of the given job.

type ResolutionTracker

type ResolutionTracker struct {
	// contains filtered or unexported fields
}

ResolutionTracker provides a place for build cops to say "I've resolved this problem" so the merge queue can continue merging.

func NewResolutionTracker

func NewResolutionTracker() *ResolutionTracker

NewResolutionTracker constructs an empty resolution tracker. It's the caller's responsibility to hook up Get/SetHTTP.

func (*ResolutionTracker) GetHTTP

func (r *ResolutionTracker) GetHTTP(res http.ResponseWriter, req *http.Request)

GetHTTP accepts "job" and "number" query parameters and returns a json blob indicating whether the specified build has been marked as resolved.

func (*ResolutionTracker) ListHTTP

func (r *ResolutionTracker) ListHTTP(res http.ResponseWriter, req *http.Request)

ListHTTP returns a list of overrides that have been entered.

func (*ResolutionTracker) Resolved

func (r *ResolutionTracker) Resolved(j cache.Job, n cache.Number) bool

Resolved returns true if the given build has been manually marked as resolved.

func (*ResolutionTracker) SetHTTP

func (r *ResolutionTracker) SetHTTP(res http.ResponseWriter, req *http.Request)

SetHTTP accepts "job", "number", and "resolved" query parameters. "resolved" counts as "true" if not explicitly set to "false". Returns a json blob indicating whether the specified build has been marked as resolved.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL