Documentation ¶
Index ¶
- Constants
- type BuildInfo
- type E2ETester
- type HTTPHandlerInstaller
- type RealE2ETester
- func (e *RealE2ETester) Flakes() cache.Flakes
- func (e *RealE2ETester) GCSBasedStable() (allStable, ignorableFlakes bool)
- func (e *RealE2ETester) GCSWeakStable() bool
- func (e *RealE2ETester) GetBuildResult(job string, number int) (*cache.Result, error)
- func (e *RealE2ETester) GetBuildStatus() map[string]BuildInfo
- func (e *RealE2ETester) Init(adminMux HTTPHandlerInstaller) *RealE2ETester
- func (e *RealE2ETester) LatestRunOfJob(jobName string) (int, error)
- type ResolutionTracker
- func (r *ResolutionTracker) GetHTTP(res http.ResponseWriter, req *http.Request)
- func (r *ResolutionTracker) ListHTTP(res http.ResponseWriter, req *http.Request)
- func (r *ResolutionTracker) Resolved(j cache.Job, n cache.Number) bool
- func (r *ResolutionTracker) SetHTTP(res http.ResponseWriter, req *http.Request)
Constants ¶
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 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 ¶
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 ¶
func (e *RealE2ETester) Init(adminMux HTTPHandlerInstaller) *RealE2ETester
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 ¶
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.