SYMBOL INDEX (3169 symbols across 283 files) FILE: api/azure/api.go constant PipelinesAppID (line 20) | PipelinesAppID = int64(9426) type BuildArtifacts (line 25) | type BuildArtifacts struct type BuildArtifact (line 31) | type BuildArtifact struct type ArtifactResource (line 38) | type ArtifactResource struct type Build (line 46) | type Build struct method IsMasterBranch (line 58) | func (a *Build) IsMasterBranch() bool { type BuildTriggerInfo (line 52) | type BuildTriggerInfo struct type API (line 63) | type API interface type apiImpl (line 69) | type apiImpl struct method GetBuildURL (line 81) | func (a apiImpl) GetBuildURL(owner, repo string, buildID int64) string { method GetAzureArtifactsURL (line 87) | func (a apiImpl) GetAzureArtifactsURL(owner, repo string, buildID int6... method GetBuild (line 95) | func (a apiImpl) GetBuild(owner, repo string, buildID int64) (*Build, ... function NewAPI (line 75) | func NewAPI(ctx context.Context) API { FILE: api/azure/mock_azure/api_mock.go type MockAPI (line 20) | type MockAPI struct method EXPECT (line 39) | func (m *MockAPI) EXPECT() *MockAPIMockRecorder { method GetAzureArtifactsURL (line 44) | func (m *MockAPI) GetAzureArtifactsURL(owner, repo string, buildID int... method GetBuild (line 58) | func (m *MockAPI) GetBuild(owner, repo string, buildID int64) (*azure.... method GetBuildURL (line 73) | func (m *MockAPI) GetBuildURL(owner, repo string, buildID int64) string { type MockAPIMockRecorder (line 27) | type MockAPIMockRecorder struct method GetAzureArtifactsURL (line 52) | func (mr *MockAPIMockRecorder) GetAzureArtifactsURL(owner, repo, build... method GetBuild (line 67) | func (mr *MockAPIMockRecorder) GetBuild(owner, repo, buildID any) *gom... method GetBuildURL (line 81) | func (mr *MockAPIMockRecorder) GetBuildURL(owner, repo, buildID any) *... function NewMockAPI (line 32) | func NewMockAPI(ctrl *gomock.Controller) *MockAPI { FILE: api/azure/notify.go function notifyHandler (line 16) | func notifyHandler(w http.ResponseWriter, r *http.Request) { FILE: api/azure/routes.go function RegisterRoutes (line 10) | func RegisterRoutes() { FILE: api/azure/webhook.go constant uploaderName (line 20) | uploaderName = "azure" function processBuild (line 32) | func processBuild( FILE: api/azure/webhook_test.go constant artifactsJSON (line 16) | artifactsJSON = `{ function TestParses (line 45) | func TestParses(t *testing.T) { function TestArtifactRegexes (line 56) | func TestArtifactRegexes(t *testing.T) { function TestEpochBranchesRegex (line 78) | func TestEpochBranchesRegex(t *testing.T) { FILE: api/bsf_handler.go type BSFHandler (line 16) | type BSFHandler struct method ServeHTTP (line 33) | func (b BSFHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { function apiBSFHandler (line 21) | func apiBSFHandler(w http.ResponseWriter, r *http.Request) { FILE: api/bsf_handler_test.go function TestBSFHandler_Success (line 22) | func TestBSFHandler_Success(t *testing.T) { function TestBSFHandler_Success_WithParams (line 48) | func TestBSFHandler_Success_WithParams(t *testing.T) { FILE: api/checks/api.go constant wptfyiCheckAppID (line 21) | wptfyiCheckAppID = int64(23318) constant wptfyiStagingCheckAppID (line 22) | wptfyiStagingCheckAppID = int64(19965) constant wptRepoInstallationID (line 24) | wptRepoInstallationID = int64(577173) constant wptRepoStagingInstallationID (line 25) | wptRepoStagingInstallationID = int64(449270) constant wptRepoID (line 27) | wptRepoID = int64(3618133) constant checksForAllUsersFeature (line 28) | checksForAllUsersFeature = "checksAllUsers" type API (line 32) | type API interface type checksAPIImpl (line 43) | type checksAPIImpl struct method ScheduleResultsProcessing (line 60) | func (s checksAPIImpl) ScheduleResultsProcessing(sha string, product s... method GetSuitesForSHA (line 76) | func (s checksAPIImpl) GetSuitesForSHA(sha string) ([]shared.CheckSuit... method IgnoreFailure (line 85) | func (s checksAPIImpl) IgnoreFailure( method CancelRun (line 124) | func (s checksAPIImpl) CancelRun( method CreateWPTCheckSuite (line 165) | func (s checksAPIImpl) CreateWPTCheckSuite(appID, installationID int64... method GetWPTRepoAppInstallationIDs (line 200) | func (s checksAPIImpl) GetWPTRepoAppInstallationIDs() (appID, installa... function NewAPI (line 51) | func NewAPI(ctx context.Context) API { FILE: api/checks/jwt.go function getGitHubClient (line 24) | func getGitHubClient(ctx context.Context, appID, installationID int64) (... function getJWTClient (line 36) | func getJWTClient(ctx context.Context, appID, installation int64) (*http... function getSignedJWT (line 86) | func getSignedJWT(ctx context.Context, appID int64) (string, error) { FILE: api/checks/mock_checks/api_mock.go type MockAPI (line 25) | type MockAPI struct method EXPECT (line 44) | func (m *MockAPI) EXPECT() *MockAPIMockRecorder { method CancelRun (line 49) | func (m *MockAPI) CancelRun(sender, owner, repo string, run *github.Ch... method Context (line 63) | func (m *MockAPI) Context() context.Context { method CreateWPTCheckSuite (line 77) | func (m *MockAPI) CreateWPTCheckSuite(appID, installationID int64, sha... method GetGitHubClient (line 97) | func (m *MockAPI) GetGitHubClient() (*github.Client, error) { method GetHTTPClient (line 112) | func (m *MockAPI) GetHTTPClient() *http.Client { method GetHTTPClientWithTimeout (line 126) | func (m *MockAPI) GetHTTPClientWithTimeout(arg0 time.Duration) *http.C... method GetHostname (line 140) | func (m *MockAPI) GetHostname() string { method GetResultsURL (line 154) | func (m *MockAPI) GetResultsURL(filter shared.TestRunFilter) *url.URL { method GetResultsUploadURL (line 168) | func (m *MockAPI) GetResultsUploadURL() *url.URL { method GetRunsURL (line 182) | func (m *MockAPI) GetRunsURL(filter shared.TestRunFilter) *url.URL { method GetServiceHostname (line 196) | func (m *MockAPI) GetServiceHostname(service string) string { method GetSuitesForSHA (line 210) | func (m *MockAPI) GetSuitesForSHA(sha string) ([]shared.CheckSuite, er... method GetUploader (line 225) | func (m *MockAPI) GetUploader(uploader string) (shared.Uploader, error) { method GetVersion (line 240) | func (m *MockAPI) GetVersion() string { method GetVersionedHostname (line 254) | func (m *MockAPI) GetVersionedHostname() string { method GetWPTRepoAppInstallationIDs (line 268) | func (m *MockAPI) GetWPTRepoAppInstallationIDs() (int64, int64) { method IgnoreFailure (line 283) | func (m *MockAPI) IgnoreFailure(sender, owner, repo string, run *githu... method IsFeatureEnabled (line 297) | func (m *MockAPI) IsFeatureEnabled(featureName string) bool { method ScheduleResultsProcessing (line 311) | func (m *MockAPI) ScheduleResultsProcessing(sha string, browser shared... method ScheduleTask (line 325) | func (m *MockAPI) ScheduleTask(queueName, taskName, target string, par... type MockAPIMockRecorder (line 32) | type MockAPIMockRecorder struct method CancelRun (line 57) | func (mr *MockAPIMockRecorder) CancelRun(sender, owner, repo, run, ins... method Context (line 71) | func (mr *MockAPIMockRecorder) Context() *gomock.Call { method CreateWPTCheckSuite (line 90) | func (mr *MockAPIMockRecorder) CreateWPTCheckSuite(appID, installation... method GetGitHubClient (line 106) | func (mr *MockAPIMockRecorder) GetGitHubClient() *gomock.Call { method GetHTTPClient (line 120) | func (mr *MockAPIMockRecorder) GetHTTPClient() *gomock.Call { method GetHTTPClientWithTimeout (line 134) | func (mr *MockAPIMockRecorder) GetHTTPClientWithTimeout(arg0 any) *gom... method GetHostname (line 148) | func (mr *MockAPIMockRecorder) GetHostname() *gomock.Call { method GetResultsURL (line 162) | func (mr *MockAPIMockRecorder) GetResultsURL(filter any) *gomock.Call { method GetResultsUploadURL (line 176) | func (mr *MockAPIMockRecorder) GetResultsUploadURL() *gomock.Call { method GetRunsURL (line 190) | func (mr *MockAPIMockRecorder) GetRunsURL(filter any) *gomock.Call { method GetServiceHostname (line 204) | func (mr *MockAPIMockRecorder) GetServiceHostname(service any) *gomock... method GetSuitesForSHA (line 219) | func (mr *MockAPIMockRecorder) GetSuitesForSHA(sha any) *gomock.Call { method GetUploader (line 234) | func (mr *MockAPIMockRecorder) GetUploader(uploader any) *gomock.Call { method GetVersion (line 248) | func (mr *MockAPIMockRecorder) GetVersion() *gomock.Call { method GetVersionedHostname (line 262) | func (mr *MockAPIMockRecorder) GetVersionedHostname() *gomock.Call { method GetWPTRepoAppInstallationIDs (line 277) | func (mr *MockAPIMockRecorder) GetWPTRepoAppInstallationIDs() *gomock.... method IgnoreFailure (line 291) | func (mr *MockAPIMockRecorder) IgnoreFailure(sender, owner, repo, run,... method IsFeatureEnabled (line 305) | func (mr *MockAPIMockRecorder) IsFeatureEnabled(featureName any) *gomo... method ScheduleResultsProcessing (line 319) | func (mr *MockAPIMockRecorder) ScheduleResultsProcessing(sha, browser ... method ScheduleTask (line 334) | func (mr *MockAPIMockRecorder) ScheduleTask(queueName, taskName, targe... function NewMockAPI (line 37) | func NewMockAPI(ctrl *gomock.Controller) *MockAPI { FILE: api/checks/routes.go function RegisterRoutes (line 10) | func RegisterRoutes() { FILE: api/checks/runs.go function updateCheckRunSummary (line 17) | func updateCheckRunSummary(ctx context.Context, summary summaries.Summar... function getExistingCheckRuns (line 93) | func getExistingCheckRuns(ctx context.Context, suite shared.CheckSuite) ... function updateExistingCheckRunSummary (line 137) | func updateExistingCheckRunSummary( FILE: api/checks/suites.go function getOrCreateCheckSuite (line 13) | func getOrCreateCheckSuite( FILE: api/checks/suites_medium_test.go function TestGetOrCreateCheckSuite (line 17) | func TestGetOrCreateCheckSuite(t *testing.T) { FILE: api/checks/summaries/actions.go function RecomputeAction (line 12) | func RecomputeAction() *github.CheckRunAction { function IgnoreAction (line 22) | func IgnoreAction() *github.CheckRunAction { function CancelAction (line 31) | func CancelAction() *github.CheckRunAction { FILE: api/checks/summaries/actions_test.go function TestActionCharacterLimits (line 17) | func TestActionCharacterLimits(t *testing.T) { FILE: api/checks/summaries/compile.go function init (line 27) | func init() { function escapeMD (line 39) | func escapeMD(s string) string { type Summary (line 44) | type Summary interface type CheckState (line 56) | type CheckState struct method Name (line 72) | func (c CheckState) Name() string { method Title (line 87) | func (c CheckState) Title() string { method GetCheckState (line 93) | func (c CheckState) GetCheckState() CheckState { method FileIssueURL (line 98) | func (c CheckState) FileIssueURL() *url.URL { function compile (line 110) | func compile(i interface{}, t string) (string, error) { FILE: api/checks/summaries/compile_test.go function TestGetSummary_Completed (line 23) | func TestGetSummary_Completed(t *testing.T) { function TestGetSummary_Pending (line 82) | func TestGetSummary_Pending(t *testing.T) { function TestGetSummary_Regressed (line 97) | func TestGetSummary_Regressed(t *testing.T) { function printOutput (line 158) | func printOutput(s string) { FILE: api/checks/summaries/completed.go type ResultsComparison (line 14) | type ResultsComparison struct type Completed (line 23) | type Completed struct method GetCheckState (line 32) | func (c Completed) GetCheckState() CheckState { method GetSummary (line 37) | func (c Completed) GetSummary() (string, error) { method GetActions (line 42) | func (c Completed) GetActions() []*github.CheckRunAction { FILE: api/checks/summaries/pending.go type Pending (line 10) | type Pending struct method GetCheckState (line 17) | func (p Pending) GetCheckState() CheckState { method GetSummary (line 22) | func (p Pending) GetSummary() (string, error) { method GetActions (line 27) | func (p Pending) GetActions() []*github.CheckRunAction { FILE: api/checks/summaries/regressed.go type BeforeAndAfter (line 14) | type BeforeAndAfter method Add (line 17) | func (bna BeforeAndAfter) Add(p string, before, after shared.TestSumma... type TestBeforeAndAfter (line 34) | type TestBeforeAndAfter struct type Regressed (line 42) | type Regressed struct method GetCheckState (line 51) | func (r Regressed) GetCheckState() CheckState { method GetSummary (line 56) | func (r Regressed) GetSummary() (string, error) { method GetActions (line 61) | func (r Regressed) GetActions() []*github.CheckRunAction { FILE: api/checks/update.go constant CheckProcessingQueue (line 25) | CheckProcessingQueue = "check-processing" constant failChecksOnRegressionFeature (line 27) | failChecksOnRegressionFeature = "failChecksOnRegression" constant onlyChangesAsRegressionsFeature (line 28) | onlyChangesAsRegressionsFeature = "onlyChangesAsRegressions" function updateCheckHandler (line 31) | func updateCheckHandler(w http.ResponseWriter, r *http.Request) { function loadRunsToCompare (line 123) | func loadRunsToCompare(ctx context.Context, filter shared.TestRunFilter) ( function loadPRRun (line 166) | func loadPRRun(ctx context.Context, filter shared.TestRunFilter, extraLa... function loadMasterRunBefore (line 192) | func loadMasterRunBefore( function getDiffSummary (line 216) | func getDiffSummary( type pathKeys (line 344) | type pathKeys method Len (line 346) | func (e pathKeys) Len() int { return len(e) } method Swap (line 347) | func (e pathKeys) Swap(i, j int) { e[i], e[j] = e[j], e[i] } method Less (line 348) | func (e pathKeys) Less(i, j int) bool { function collapseSummary (line 353) | func collapseSummary(diff shared.RunDiff, limit int) summaries.BeforeAnd... function collapsePaths (line 374) | func collapsePaths(keys []string, limit int) mapset.Set { // nolint:iret... FILE: api/checks/update_medium_test.go function TestLoadRunsToCompare_master (line 19) | func TestLoadRunsToCompare_master(t *testing.T) { function TestLoadRunsToCompare_pr_base_first (line 56) | func TestLoadRunsToCompare_pr_base_first(t *testing.T) { function TestLoadRunsToCompare_pr_head_first (line 94) | func TestLoadRunsToCompare_pr_head_first(t *testing.T) { FILE: api/checks/update_test.go function TestGetDiffSummary_Regressed (line 19) | func TestGetDiffSummary_Regressed(t *testing.T) { function TestGetDiffSummary_Completed (line 58) | func TestGetDiffSummary_Completed(t *testing.T) { function getBeforeAndAfterRuns (line 88) | func getBeforeAndAfterRuns() (before, after shared.TestRun) { function TestCollapseSummary_Nesting (line 98) | func TestCollapseSummary_Nesting(t *testing.T) { function TestCollapseSummary_ManyFiles (line 134) | func TestCollapseSummary_ManyFiles(t *testing.T) { FILE: api/checks/webhook.go constant requestedAction (line 18) | requestedAction = "requested" constant rerequestedAction (line 19) | rerequestedAction = "rerequested" type webhookGithubEvent (line 22) | type webhookGithubEvent constant eventCheckSuite (line 25) | eventCheckSuite webhookGithubEvent = "check_suite" constant eventCheckRun (line 26) | eventCheckRun webhookGithubEvent = "check_run" constant eventPullRequest (line 27) | eventPullRequest webhookGithubEvent = "pull_request" function isWPTFYIApp (line 32) | func isWPTFYIApp(appID int64) bool { function checkWebhookHandler (line 40) | func checkWebhookHandler(w http.ResponseWriter, r *http.Request) { function handleCheckSuiteEvent (line 111) | func handleCheckSuiteEvent(api API, payload []byte) (bool, error) { function handleCheckRunEvent (line 183) | func handleCheckRunEvent( function handlePullRequestEvent (line 282) | func handlePullRequestEvent(api API, payload []byte) (bool, error) { function scheduleProcessingForExistingRuns (line 317) | func scheduleProcessingForExistingRuns(ctx context.Context, sha string, ... function createCheckRun (line 341) | func createCheckRun(ctx context.Context, suite shared.CheckSuite, opts g... function checksEnabledForUser (line 378) | func checksEnabledForUser(api API, login string) bool { FILE: api/checks/webhook_test.go function TestHandleCheckRunEvent_InvalidApp (line 21) | func TestHandleCheckRunEvent_InvalidApp(t *testing.T) { function TestHandleCheckRunEvent_Created_Completed (line 45) | func TestHandleCheckRunEvent_Created_Completed(t *testing.T) { function TestHandleCheckRunEvent_Created_Pending_ChecksNotEnabledForUser (line 62) | func TestHandleCheckRunEvent_Created_Pending_ChecksNotEnabledForUser(t *... function TestHandleCheckRunEvent_Created_Pending (line 79) | func TestHandleCheckRunEvent_Created_Pending(t *testing.T) { function TestHandleCheckRunEvent_ActionRequested_Ignore (line 97) | func TestHandleCheckRunEvent_ActionRequested_Ignore(t *testing.T) { function TestHandleCheckRunEvent_ActionRequested_Recompute (line 142) | func TestHandleCheckRunEvent_ActionRequested_Recompute(t *testing.T) { function TestHandleCheckRunEvent_ActionRequested_Cancel (line 187) | func TestHandleCheckRunEvent_ActionRequested_Cancel(t *testing.T) { function getCheckRunCreatedEvent (line 209) | func getCheckRunCreatedEvent(status, sender, sha string) github.CheckRun... function TestHandlePullRequestEvent_ChecksNotEnabledForUser (line 231) | func TestHandlePullRequestEvent_ChecksNotEnabledForUser(t *testing.T) { function TestHandlePullRequestEvent_ChecksEnabledForUser (line 248) | func TestHandlePullRequestEvent_ChecksEnabledForUser(t *testing.T) { function getOpenedPREvent (line 267) | func getOpenedPREvent(user, sha string) github.PullRequestEvent { FILE: api/diff.go function apiDiffHandler (line 20) | func apiDiffHandler(w http.ResponseWriter, r *http.Request) { function loadDiffRuns (line 31) | func loadDiffRuns(store shared.Datastore, q url.Values) (shared.TestRuns... function handleAPIDiffGet (line 79) | func handleAPIDiffGet(w http.ResponseWriter, r *http.Request) { function handleAPIDiffPost (line 134) | func handleAPIDiffPost(w http.ResponseWriter, r *http.Request) { FILE: api/ghactions/notify.go constant uploaderName (line 22) | uploaderName = "github-actions" function notifyHandler (line 30) | func notifyHandler(w http.ResponseWriter, r *http.Request) { function processBuild (line 95) | func processBuild( function chooseLabels (line 176) | func chooseLabels( // nolint:ireturn // TODO: Fix ireturn lint error FILE: api/ghactions/notify_test.go function PointerTo (line 16) | func PointerTo[T any](v T) *T { function TestArtifactRegexes (line 20) | func TestArtifactRegexes(t *testing.T) { function TestEpochBranchesRegex (line 29) | func TestEpochBranchesRegex(t *testing.T) { function TestChooseLabels (line 39) | func TestChooseLabels(t *testing.T) { FILE: api/ghactions/routes.go function RegisterRoutes (line 10) | func RegisterRoutes() { FILE: api/labels.go type LabelsHandler (line 19) | type LabelsHandler struct method ServeHTTP (line 37) | func (h LabelsHandler) ServeHTTP(w http.ResponseWriter, r *http.Reques... function apiLabelsHandler (line 24) | func apiLabelsHandler(w http.ResponseWriter, r *http.Request) { FILE: api/labels_medium_test.go function TestLabelsHandler (line 21) | func TestLabelsHandler(t *testing.T) { function parseLabelsResponse (line 40) | func parseLabelsResponse(t *testing.T, w *httptest.ResponseRecorder) []s... FILE: api/manifest.go function apiManifestHandler (line 19) | func apiManifestHandler(w http.ResponseWriter, r *http.Request) { function getManifest (line 47) | func getManifest(log shared.Logger, manifestAPI manifest.API, sha string... function manifestCacheKey (line 116) | func manifestCacheKey(sha string) string { function readByKey (line 120) | func readByKey(readable shared.Readable, key string) ([]byte, error) { function writeByKey (line 130) | func writeByKey(writable shared.ReadWritable, key string, body []byte) e... FILE: api/manifest/api.go type API (line 25) | type API interface type apiImpl (line 30) | type apiImpl struct method GetManifestForSHA (line 44) | func (a apiImpl) GetManifestForSHA(sha string) (fetchedSHA string, man... method NewRedis (line 129) | func (a apiImpl) NewRedis(duration time.Duration) shared.ReadWritable { function NewAPI (line 36) | func NewAPI(ctx context.Context) API { function getGitHubReleaseAssetForSHA (line 60) | func getGitHubReleaseAssetForSHA(aeAPI shared.AppEngineAPI, sha string) ( FILE: api/manifest/mock_manifest/api_mock.go type MockAPI (line 21) | type MockAPI struct method EXPECT (line 40) | func (m *MockAPI) EXPECT() *MockAPIMockRecorder { method GetManifestForSHA (line 45) | func (m *MockAPI) GetManifestForSHA(arg0 string) (string, []byte, erro... method NewRedis (line 61) | func (m *MockAPI) NewRedis(duration time.Duration) shared.ReadWritable { type MockAPIMockRecorder (line 28) | type MockAPIMockRecorder struct method GetManifestForSHA (line 55) | func (mr *MockAPIMockRecorder) GetManifestForSHA(arg0 any) *gomock.Call { method NewRedis (line 69) | func (mr *MockAPIMockRecorder) NewRedis(duration any) *gomock.Call { function NewMockAPI (line 33) | func NewMockAPI(ctrl *gomock.Controller) *MockAPI { FILE: api/manifest/util.go function Filter (line 15) | func Filter(body []byte, paths []string) (result []byte, err error) { FILE: api/manifest/util_test.go function TestFilter (line 15) | func TestFilter(t *testing.T) { FILE: api/manifest_test.go function TestGetGitHubReleaseAsset_Caches (line 25) | func TestGetGitHubReleaseAsset_Caches(t *testing.T) { function getManifestPayload (line 106) | func getManifestPayload(data string) []byte { FILE: api/metadata_cache.go constant metadataCacheKey (line 17) | metadataCacheKey = "WPT-METADATA" constant metadataCacheExpiry (line 18) | metadataCacheExpiry = time.Minute * 10 type webappMetadataFetcher (line 20) | type webappMetadataFetcher struct method Fetch (line 27) | func (f webappMetadataFetcher) Fetch() (sha *string, res map[string][]... function getMetadataFromRedis (line 60) | func getMetadataFromRedis(cache shared.ObjectCache) (sha *string, res ma... function fillMetadataToRedis (line 82) | func fillMetadataToRedis(cache shared.ObjectCache, sha string, metadataB... FILE: api/metadata_handler.go type MetadataHandler (line 20) | type MetadataHandler struct method ServeHTTP (line 198) | func (h MetadataHandler) ServeHTTP(w http.ResponseWriter, r *http.Requ... function apiMetadataHandler (line 26) | func apiMetadataHandler(w http.ResponseWriter, r *http.Request) { function apiMetadataTriageHandler (line 50) | func apiMetadataTriageHandler(w http.ResponseWriter, r *http.Request) { function handleMetadataTriage (line 91) | func handleMetadataTriage( function filterMetadata (line 277) | func filterMetadata(linkQuery query.AbstractLink, metadata shared.Metada... function apiPendingMetadataHandler (line 293) | func apiPendingMetadataHandler(w http.ResponseWriter, r *http.Request) { function handlePendingMetadata (line 306) | func handlePendingMetadata( FILE: api/metadata_handler_test.go function TestHandleMetadataTriage_Success (line 24) | func TestHandleMetadataTriage_Success(t *testing.T) { function TestHandleMetadataTriage_FailToCachePr (line 60) | func TestHandleMetadataTriage_FailToCachePr(t *testing.T) { function TestHandleMetadataTriage_FailToCacheMetadata (line 93) | func TestHandleMetadataTriage_FailToCacheMetadata(t *testing.T) { function TestHandleMetadataTriage_InvalidURL (line 129) | func TestHandleMetadataTriage_InvalidURL(t *testing.T) { function TestHandleMetadataTriage_NonSimpleRequests (line 158) | func TestHandleMetadataTriage_NonSimpleRequests(t *testing.T) { function TestHandleMetadataTriage_WrongContentType (line 185) | func TestHandleMetadataTriage_WrongContentType(t *testing.T) { function TestHandleMetadataTriage_InvalidBody (line 205) | func TestHandleMetadataTriage_InvalidBody(t *testing.T) { function TestHandleMetadataTriage_InvalidProduct (line 216) | func TestHandleMetadataTriage_InvalidProduct(t *testing.T) { function TestMetadataHanlder_GET_Success (line 240) | func TestMetadataHanlder_GET_Success(t *testing.T) { function TestMetadataHanlder_GET_MissingProducts (line 269) | func TestMetadataHanlder_GET_MissingProducts(t *testing.T) { function TestMetadataHandler_POST_Success (line 279) | func TestMetadataHandler_POST_Success(t *testing.T) { function TestMetadataHandler_POST_MissingProducts (line 319) | func TestMetadataHandler_POST_MissingProducts(t *testing.T) { function TestMetadataHandler_POST_NotLink (line 336) | func TestMetadataHandler_POST_NotLink(t *testing.T) { function TestMetadataHandler_POST_NotJustLink (line 353) | func TestMetadataHandler_POST_NotJustLink(t *testing.T) { function TestFilterMetadata (line 373) | func TestFilterMetadata(t *testing.T) { function getMetadataTestData (line 397) | func getMetadataTestData() map[string][]byte { function TestPendingMetadataHandler_Success (line 419) | func TestPendingMetadataHandler_Success(t *testing.T) { function TestPendingMetadataHandler_EmptyObjectCache (line 501) | func TestPendingMetadataHandler_EmptyObjectCache(t *testing.T) { function TestPendingMetadataHandler_Fail (line 531) | func TestPendingMetadataHandler_Fail(t *testing.T) { FILE: api/pending_test_runs.go function apiPendingTestRunsHandler (line 20) | func apiPendingTestRunsHandler(w http.ResponseWriter, r *http.Request) { function emit (line 66) | func emit(ctx context.Context, w http.ResponseWriter, i interface{}) { FILE: api/pending_test_runs_medium_test.go function createPendingRun (line 21) | func createPendingRun(ctx context.Context, run *shared.PendingTestRun) e... function TestAPIPendingTestHandler (line 29) | func TestAPIPendingTestHandler(t *testing.T) { function TestAPIPendingTestHandler_invalidFilter (line 127) | func TestAPIPendingTestHandler_invalidFilter(t *testing.T) { FILE: api/query/atoms.go type AbstractQuery (line 50) | type AbstractQuery interface type RunQuery (line 57) | type RunQuery struct method UnmarshalJSON (line 556) | func (rq *RunQuery) UnmarshalJSON(b []byte) error { type True (line 63) | type True struct method BindToRuns (line 67) | func (t True) BindToRuns(_ ...shared.TestRun) ConcreteQuery { type False (line 72) | type False struct method BindToRuns (line 76) | func (f False) BindToRuns(_ ...shared.TestRun) ConcreteQuery { type TestNamePattern (line 81) | type TestNamePattern struct method BindToRuns (line 87) | func (tnp TestNamePattern) BindToRuns(_ ...shared.TestRun) ConcreteQue... method UnmarshalJSON (line 584) | func (tnp *TestNamePattern) UnmarshalJSON(b []byte) error { type SubtestNamePattern (line 92) | type SubtestNamePattern struct method BindToRuns (line 98) | func (tnp SubtestNamePattern) BindToRuns(_ ...shared.TestRun) Concrete... method UnmarshalJSON (line 605) | func (tnp *SubtestNamePattern) UnmarshalJSON(b []byte) error { type TestPath (line 104) | type TestPath struct method BindToRuns (line 110) | func (tp TestPath) BindToRuns(_ ...shared.TestRun) ConcreteQuery { method UnmarshalJSON (line 625) | func (tp *TestPath) UnmarshalJSON(b []byte) error { type AbstractExists (line 116) | type AbstractExists struct method BindToRuns (line 123) | func (e AbstractExists) BindToRuns(runs ...shared.TestRun) ConcreteQue... method UnmarshalJSON (line 800) | func (e *AbstractExists) UnmarshalJSON(b []byte) error { type AbstractAll (line 151) | type AbstractAll struct method BindToRuns (line 158) | func (e AbstractAll) BindToRuns(runs ...shared.TestRun) ConcreteQuery { method UnmarshalJSON (line 826) | func (e *AbstractAll) UnmarshalJSON(b []byte) error { type AbstractNone (line 180) | type AbstractNone struct method BindToRuns (line 186) | func (e AbstractNone) BindToRuns(runs ...shared.TestRun) ConcreteQuery { method UnmarshalJSON (line 852) | func (e *AbstractNone) UnmarshalJSON(b []byte) error { type AbstractSequential (line 195) | type AbstractSequential struct method BindToRuns (line 202) | func (e AbstractSequential) BindToRuns(runs ...shared.TestRun) Concret... method UnmarshalJSON (line 878) | func (e *AbstractSequential) UnmarshalJSON(b []byte) error { type AbstractCount (line 220) | type AbstractCount struct method BindToRuns (line 228) | func (c AbstractCount) BindToRuns(runs ...shared.TestRun) ConcreteQuery { method UnmarshalJSON (line 904) | func (c *AbstractCount) UnmarshalJSON(b []byte) (err error) { type AbstractMoreThan (line 242) | type AbstractMoreThan struct method BindToRuns (line 249) | func (m AbstractMoreThan) BindToRuns(runs ...shared.TestRun) ConcreteQ... method UnmarshalJSON (line 961) | func (m *AbstractMoreThan) UnmarshalJSON(b []byte) (err error) { type AbstractLessThan (line 257) | type AbstractLessThan struct method BindToRuns (line 264) | func (l AbstractLessThan) BindToRuns(runs ...shared.TestRun) ConcreteQ... method UnmarshalJSON (line 932) | func (l *AbstractLessThan) UnmarshalJSON(b []byte) error { type AbstractLink (line 272) | type AbstractLink struct method BindToRuns (line 281) | func (l AbstractLink) BindToRuns(runs ...shared.TestRun) ConcreteQuery { method UnmarshalJSON (line 989) | func (l *AbstractLink) UnmarshalJSON(b []byte) error { type AbstractTriaged (line 297) | type AbstractTriaged struct method BindToRuns (line 305) | func (t AbstractTriaged) BindToRuns(runs ...shared.TestRun) ConcreteQu... method UnmarshalJSON (line 1057) | func (t *AbstractTriaged) UnmarshalJSON(b []byte) error { type AbstractTestLabel (line 340) | type AbstractTestLabel struct method BindToRuns (line 347) | func (t AbstractTestLabel) BindToRuns(_ ...shared.TestRun) ConcreteQue... method UnmarshalJSON (line 1010) | func (t *AbstractTestLabel) UnmarshalJSON(b []byte) error { type webFeaturesManifestFetcher (line 369) | type webFeaturesManifestFetcher interface type AbstractTestWebFeature (line 375) | type AbstractTestWebFeature struct method BindToRuns (line 382) | func (t AbstractTestWebFeature) BindToRuns(_ ...shared.TestRun) Concre... type MetadataQuality (line 393) | type MetadataQuality method BindToRuns (line 411) | func (q MetadataQuality) BindToRuns(_ ...shared.TestRun) ConcreteQuery { method UnmarshalJSON (line 1089) | func (q *MetadataQuality) UnmarshalJSON(b []byte) (err error) { constant MetadataQualityUnknown (line 397) | MetadataQualityUnknown MetadataQuality = iota constant MetadataQualityDifferent (line 400) | MetadataQualityDifferent constant MetadataQualityTentative (line 403) | MetadataQualityTentative constant MetadataQualityOptional (line 406) | MetadataQualityOptional type TestStatusEq (line 418) | type TestStatusEq struct method BindToRuns (line 434) | func (tse TestStatusEq) BindToRuns(runs ...shared.TestRun) ConcreteQue... method UnmarshalJSON (line 647) | func (tse *TestStatusEq) UnmarshalJSON(b []byte) error { type TestStatusNeq (line 426) | type TestStatusNeq struct method BindToRuns (line 459) | func (tsn TestStatusNeq) BindToRuns(runs ...shared.TestRun) ConcreteQu... method UnmarshalJSON (line 687) | func (tsn *TestStatusNeq) UnmarshalJSON(b []byte) error { type AbstractNot (line 482) | type AbstractNot struct method BindToRuns (line 488) | func (n AbstractNot) BindToRuns(runs ...shared.TestRun) ConcreteQuery { method UnmarshalJSON (line 729) | func (n *AbstractNot) UnmarshalJSON(b []byte) error { type AbstractOr (line 493) | type AbstractOr struct method BindToRuns (line 499) | func (o AbstractOr) BindToRuns(runs ...shared.TestRun) ConcreteQuery { method UnmarshalJSON (line 748) | func (o *AbstractOr) UnmarshalJSON(b []byte) error { type AbstractAnd (line 524) | type AbstractAnd struct method BindToRuns (line 530) | func (a AbstractAnd) BindToRuns(runs ...shared.TestRun) ConcreteQuery { method UnmarshalJSON (line 774) | func (a *AbstractAnd) UnmarshalJSON(b []byte) error { type TestWebFeatureAtom (line 1030) | type TestWebFeatureAtom struct method UnmarshalJSON (line 1036) | func (t *TestWebFeatureAtom) UnmarshalJSON(b []byte) error { function MetadataQualityFromString (line 1109) | func MetadataQualityFromString(quality string) (MetadataQuality, error) { function unmarshalQ (line 1123) | func unmarshalQ(b []byte) (AbstractQuery, error) { FILE: api/query/atoms_test.go function TestStructuredQuery_empty (line 19) | func TestStructuredQuery_empty(t *testing.T) { function TestStructuredQuery_missingRunIDs (line 25) | func TestStructuredQuery_missingRunIDs(t *testing.T) { function TestStructuredQuery_missingQuery (line 35) | func TestStructuredQuery_missingQuery(t *testing.T) { function TestStructuredQuery_emptyRunIDs (line 44) | func TestStructuredQuery_emptyRunIDs(t *testing.T) { function TestStructuredQuery_emptyBrowserName (line 55) | func TestStructuredQuery_emptyBrowserName(t *testing.T) { function TestStructuredQuery_missingStatus (line 67) | func TestStructuredQuery_missingStatus(t *testing.T) { function TestStructuredQuery_badStatus (line 78) | func TestStructuredQuery_badStatus(t *testing.T) { function TestStructuredQuery_unknownStatus (line 89) | func TestStructuredQuery_unknownStatus(t *testing.T) { function TestStructuredQuery_missingPattern (line 106) | func TestStructuredQuery_missingPattern(t *testing.T) { function TestStructuredQuery_emptyPattern (line 115) | func TestStructuredQuery_emptyPattern(t *testing.T) { function TestStructuredQuery_pattern (line 127) | func TestStructuredQuery_pattern(t *testing.T) { function TestStructuredQuery_subtest (line 139) | func TestStructuredQuery_subtest(t *testing.T) { function TestStructuredQuery_path (line 151) | func TestStructuredQuery_path(t *testing.T) { function TestStructuredQuery_legacyBrowserName (line 163) | func TestStructuredQuery_legacyBrowserName(t *testing.T) { function TestStructuredQuery_status (line 179) | func TestStructuredQuery_status(t *testing.T) { function TestStructuredQuery_statusNeq (line 195) | func TestStructuredQuery_statusNeq(t *testing.T) { function TestStructuredQuery_statusUnsupportedAbstractNot (line 211) | func TestStructuredQuery_statusUnsupportedAbstractNot(t *testing.T) { function TestStructuredQuery_not (line 223) | func TestStructuredQuery_not(t *testing.T) { function TestStructuredQuery_or (line 237) | func TestStructuredQuery_or(t *testing.T) { function TestStructuredQuery_and (line 252) | func TestStructuredQuery_and(t *testing.T) { function TestStructuredQuery_exists (line 267) | func TestStructuredQuery_exists(t *testing.T) { function TestStructuredQuery_all (line 282) | func TestStructuredQuery_all(t *testing.T) { function TestStructuredQuery_none (line 299) | func TestStructuredQuery_none(t *testing.T) { function TestStructuredQuery_sequential (line 316) | func TestStructuredQuery_sequential(t *testing.T) { function TestStructuredQuery_count (line 348) | func TestStructuredQuery_count(t *testing.T) { function TestStructuredQuery_moreThan (line 376) | func TestStructuredQuery_moreThan(t *testing.T) { function TestStructuredQuery_lessThan (line 401) | func TestStructuredQuery_lessThan(t *testing.T) { function TestStructuredQuery_link (line 426) | func TestStructuredQuery_link(t *testing.T) { function TestStructuredQuery_triaged (line 445) | func TestStructuredQuery_triaged(t *testing.T) { function TestStructuredQuery_triagedEmptyProduct (line 465) | func TestStructuredQuery_triagedEmptyProduct(t *testing.T) { function TestStructuredQuery_testlabel (line 484) | func TestStructuredQuery_testlabel(t *testing.T) { function TestStructuredQuery_combinedTestlabel (line 503) | func TestStructuredQuery_combinedTestlabel(t *testing.T) { function TestStructuredQuery_andTestLabels (line 519) | func TestStructuredQuery_andTestLabels(t *testing.T) { function TestStructuredQuery_testfeature (line 534) | func TestStructuredQuery_testfeature(t *testing.T) { function TestStructuredQuery_andTestFeatures (line 556) | func TestStructuredQuery_andTestFeatures(t *testing.T) { function TestStructuredQuery_isDifferent (line 589) | func TestStructuredQuery_isDifferent(t *testing.T) { function TestStructuredQuery_isTentative (line 608) | func TestStructuredQuery_isTentative(t *testing.T) { function TestStructuredQuery_isOptional (line 627) | func TestStructuredQuery_isOptional(t *testing.T) { function TestStructuredQuery_combinedlink (line 646) | func TestStructuredQuery_combinedlink(t *testing.T) { function TestStructuredQuery_combinednotlink (line 662) | func TestStructuredQuery_combinednotlink(t *testing.T) { function TestStructuredQuery_existsSimple (line 682) | func TestStructuredQuery_existsSimple(t *testing.T) { function TestStructuredQuery_existsWithAnd (line 700) | func TestStructuredQuery_existsWithAnd(t *testing.T) { function TestStructuredQuery_nested (line 714) | func TestStructuredQuery_nested(t *testing.T) { function TestStructuredQuery_bindPattern (line 751) | func TestStructuredQuery_bindPattern(t *testing.T) { function TestStructuredQuery_bindBrowserStatusNoRuns (line 759) | func TestStructuredQuery_bindBrowserStatusNoRuns(t *testing.T) { function TestStructuredQuery_bindBrowserStatusSingleRun (line 767) | func TestStructuredQuery_bindBrowserStatusSingleRun(t *testing.T) { function TestStructuredQuery_bindBrowserStatusSingleRunNeq (line 791) | func TestStructuredQuery_bindBrowserStatusSingleRunNeq(t *testing.T) { function TestStructuredQuery_bindStatusSomeRuns (line 815) | func TestStructuredQuery_bindStatusSomeRuns(t *testing.T) { function TestStructuredQuery_bindBrowserStatusSomeRuns (line 845) | func TestStructuredQuery_bindBrowserStatusSomeRuns(t *testing.T) { function TestStructuredQuery_bindExists (line 881) | func TestStructuredQuery_bindExists(t *testing.T) { function TestStructuredQuery_bindExistsWithTwoProducts (line 943) | func TestStructuredQuery_bindExistsWithTwoProducts(t *testing.T) { function TestStructuredQuery_bindSequential (line 996) | func TestStructuredQuery_bindSequential(t *testing.T) { function TestStructuredQuery_bindCount (line 1029) | func TestStructuredQuery_bindCount(t *testing.T) { function TestStructuredQuery_bindLink (line 1057) | func TestStructuredQuery_bindLink(t *testing.T) { function TestStructuredQuery_bindTriaged (line 1096) | func TestStructuredQuery_bindTriaged(t *testing.T) { function TestStructuredQuery_bindTriagedNilProduct (line 1142) | func TestStructuredQuery_bindTriagedNilProduct(t *testing.T) { function TestStructuredQuery_bindTestLabel (line 1189) | func TestStructuredQuery_bindTestLabel(t *testing.T) { type testWebFeaturesManifestFetcher (line 1224) | type testWebFeaturesManifestFetcher struct method Fetch (line 1229) | func (t testWebFeaturesManifestFetcher) Fetch() (shared.WebFeaturesDat... function TestStructuredQuery_bindTestWebFeature (line 1233) | func TestStructuredQuery_bindTestWebFeature(t *testing.T) { function TestStructuredQuery_bindIs (line 1272) | func TestStructuredQuery_bindIs(t *testing.T) { function TestStructuredQuery_bindAnd (line 1292) | func TestStructuredQuery_bindAnd(t *testing.T) { function TestStructuredQuery_bindOr (line 1326) | func TestStructuredQuery_bindOr(t *testing.T) { function TestStructuredQuery_bindNot (line 1360) | func TestStructuredQuery_bindNot(t *testing.T) { function TestStructuredQuery_bindAndReduce (line 1384) | func TestStructuredQuery_bindAndReduce(t *testing.T) { function TestStructuredQuery_bindAndReduceToTrue (line 1408) | func TestStructuredQuery_bindAndReduceToTrue(t *testing.T) { function TestStructuredQuery_bindOrReduce (line 1433) | func TestStructuredQuery_bindOrReduce(t *testing.T) { function TestStructuredQuery_bindComplex (line 1458) | func TestStructuredQuery_bindComplex(t *testing.T) { function getMetadataTestData (line 1508) | func getMetadataTestData() map[string][]byte { FILE: api/query/cache/backfill/backfill.go type backfillIndex (line 22) | type backfillIndex struct method EvictRuns (line 61) | func (i *backfillIndex) EvictRuns(percent float64) (int, error) { method Bind (line 74) | func (*backfillIndex) Bind([]shared.TestRun, query.ConcreteQuery) (que... type backfillMonitor (line 28) | type backfillMonitor struct method Stop (line 67) | func (m *backfillMonitor) Stop() error { constant bytesPerRun (line 37) | bytesPerRun = uint64(6.5e+7) function GetDatastore (line 44) | func GetDatastore(projectID string, gcpCredentialsFile *string, _ shared... function FillIndex (line 84) | func FillIndex( function startBackfillMonitor (line 119) | func startBackfillMonitor(store shared.Datastore, logger shared.Logger, ... FILE: api/query/cache/backfill/backfill_medium_test.go type countingIndex (line 23) | type countingIndex struct method IngestRun (line 31) | func (i *countingIndex) IngestRun(r shared.TestRun) error { method EvictRuns (line 41) | func (i *countingIndex) EvictRuns(percent float64) (int, error) { method Bind (line 51) | func (*countingIndex) Bind([]shared.TestRun, query.ConcreteQuery) (que... function TestStopImmediately (line 55) | func TestStopImmediately(t *testing.T) { function TestIngestSomeRuns (line 83) | func TestIngestSomeRuns(t *testing.T) { FILE: api/query/cache/backfill/backfill_test.go function TestNilIndex (line 19) | func TestNilIndex(t *testing.T) { function TestFetchErr (line 27) | func TestFetchErr(t *testing.T) { FILE: api/query/cache/backfill/mock_backfill/backfill_mock.go type MockRunFetcher (line 14) | type MockRunFetcher struct method EXPECT (line 32) | func (m *MockRunFetcher) EXPECT() *MockRunFetcherMockRecorder { method FetchRuns (line 37) | func (m *MockRunFetcher) FetchRuns(arg0 int) (shared.TestRunsByProduct... type MockRunFetcherMockRecorder (line 20) | type MockRunFetcherMockRecorder struct method FetchRuns (line 46) | func (mr *MockRunFetcherMockRecorder) FetchRuns(arg0 interface{}) *gom... function NewMockRunFetcher (line 25) | func NewMockRunFetcher(ctrl *gomock.Controller) *MockRunFetcher { FILE: api/query/cache/index/aggregator.go type aggregator (line 12) | type aggregator interface type indexAggregator (line 17) | type indexAggregator struct method Add (line 26) | func (a *indexAggregator) Add(t TestID) error { method Done (line 112) | func (a *indexAggregator) Done() []shared.SearchResult { function newIndexAggregator (line 122) | func newIndexAggregator(idx index, runIDs []RunID, opts query.Aggregatio... FILE: api/query/cache/index/filter.go type True (line 33) | type True struct method Filter (line 156) | func (True) Filter(_ TestID) bool { type False (line 38) | type False struct method Filter (line 161) | func (False) Filter(_ TestID) bool { type TestNamePattern (line 43) | type TestNamePattern struct method Filter (line 166) | func (tnp TestNamePattern) Filter(t TestID) bool { type SubtestNamePattern (line 49) | type SubtestNamePattern struct method Filter (line 179) | func (tnp SubtestNamePattern) Filter(t TestID) bool { type TestPath (line 55) | type TestPath struct method Filter (line 192) | func (tp TestPath) Filter(t TestID) bool { type runTestStatusEq (line 62) | type runTestStatusEq struct method Filter (line 202) | func (rtse runTestStatusEq) Filter(t TestID) bool { type runTestStatusNeq (line 69) | type runTestStatusNeq struct method Filter (line 207) | func (rtsn runTestStatusNeq) Filter(t TestID) bool { type Count (line 75) | type Count struct method Filter (line 212) | func (c Count) Filter(t TestID) bool { type LessThan (line 82) | type LessThan method Filter (line 225) | func (c LessThan) Filter(t TestID) bool { type MoreThan (line 85) | type MoreThan method Filter (line 238) | func (c MoreThan) Filter(t TestID) bool { type Link (line 88) | type Link struct method Filter (line 251) | func (l Link) Filter(t TestID) bool { type Triaged (line 95) | type Triaged struct method Filter (line 288) | func (tr Triaged) Filter(t TestID) bool { type TestLabel (line 101) | type TestLabel struct method Filter (line 330) | func (tl TestLabel) Filter(t TestID) bool { type TestWebFeature (line 108) | type TestWebFeature struct method Filter (line 356) | func (twf TestWebFeature) Filter(t TestID) bool { type MetadataQuality (line 115) | type MetadataQuality struct method Filter (line 370) | func (q MetadataQuality) Filter(t TestID) bool { type And (line 121) | type And struct method Filter (line 412) | func (a And) Filter(t TestID) bool { type Or (line 127) | type Or struct method Filter (line 424) | func (o Or) Filter(t TestID) bool { type Not (line 133) | type Not struct method Filter (line 436) | func (n Not) Filter(t TestID) bool { type ShardedFilter (line 140) | type ShardedFilter method Execute (line 520) | func (fs ShardedFilter) Execute(runs []shared.TestRun, opts query.Aggr... type filter (line 142) | type filter interface type index (line 147) | type index struct method idx (line 153) | func (i index) idx() index { return i } function newFilter (line 441) | func newFilter(idx index, q query.ConcreteQuery) (filter, error) { function syncRunFilter (line 554) | func syncRunFilter(rus []RunID, f filter, opts query.AggregationOpts, re... function filters (line 573) | func filters(idx index, qs []query.ConcreteQuery) ([]filter, error) { FILE: api/query/cache/index/index.go function ErrRunExists (line 43) | func ErrRunExists() error { function ErrRunLoading (line 50) | func ErrRunLoading() error { type Index (line 55) | type Index interface type ProxyIndex (line 81) | type ProxyIndex struct method Run (line 87) | func (i *ProxyIndex) Run(id RunID) (shared.TestRun, error) { method Runs (line 93) | func (i *ProxyIndex) Runs(ids []RunID) ([]shared.TestRun, error) { method IngestRun (line 99) | func (i *ProxyIndex) IngestRun(r shared.TestRun) error { method EvictRuns (line 105) | func (i *ProxyIndex) EvictRuns(percent float64) (int, error) { method SetIngestChan (line 111) | func (i *ProxyIndex) SetIngestChan(c chan bool) { function NewProxyIndex (line 116) | func NewProxyIndex(idx Index) ProxyIndex { type ReportLoader (line 122) | type ReportLoader interface type shardedWPTIndex (line 128) | type shardedWPTIndex struct method Run (line 157) | func (i *shardedWPTIndex) Run(id RunID) (shared.TestRun, error) { method Runs (line 161) | func (i *shardedWPTIndex) Runs(ids []RunID) ([]shared.TestRun, error) { method IngestRun (line 165) | func (i *shardedWPTIndex) IngestRun(r shared.TestRun) error { method EvictRuns (line 260) | func (i *shardedWPTIndex) EvictRuns(percent float64) (int, error) { method Bind (line 265) | func (i *shardedWPTIndex) Bind(runs []shared.TestRun, q query.Concrete... method SetIngestChan (line 293) | func (i *shardedWPTIndex) SetIngestChan(c chan bool) { method syncGetRun (line 362) | func (i *shardedWPTIndex) syncGetRun(id RunID) (shared.TestRun, error) { method syncGetRuns (line 374) | func (i *shardedWPTIndex) syncGetRuns(ids []RunID) ([]shared.TestRun, ... method syncMarkInProgress (line 391) | func (i *shardedWPTIndex) syncMarkInProgress(run shared.TestRun) error { method syncClearInProgress (line 409) | func (i *shardedWPTIndex) syncClearInProgress(run shared.TestRun) error { method syncStoreRun (line 423) | func (i *shardedWPTIndex) syncStoreRun(run shared.TestRun, data []map[... method syncEvictRuns (line 452) | func (i *shardedWPTIndex) syncEvictRuns(percent float64) (int, error) { method syncExtractRuns (line 487) | func (i *shardedWPTIndex) syncExtractRuns(ids []RunID) ([]index, error) { type wptIndex (line 141) | type wptIndex struct type testData (line 148) | type testData struct type HTTPReportLoader (line 155) | type HTTPReportLoader struct method Load (line 299) | func (l HTTPReportLoader) Load(run shared.TestRun) (*metrics.TestResul... function NewShardedWPTIndex (line 333) | func NewShardedWPTIndex(loader ReportLoader, numShards int) (Index, erro... function NewReportLoader (line 358) | func NewReportLoader() ReportLoader { function syncStoreRunOnShard (line 439) | func syncStoreRunOnShard(shard *wptIndex, id RunID, shardData map[TestID... function syncDeleteResultsFromShard (line 480) | func syncDeleteResultsFromShard(shard *wptIndex, id RunID) error { function syncMakeIndex (line 507) | func syncMakeIndex(shard *wptIndex, ids []RunID) (index, error) { function newWPTIndex (line 528) | func newWPTIndex(tests Tests) *wptIndex { FILE: api/query/cache/index/index_filter_test.go constant testNumShards (line 21) | testNumShards = 16 type testRunData (line 23) | type testRunData struct function mockTestRuns (line 28) | func mockTestRuns(loader *MockReportLoader, idx Index, data []testRunDat... function planAndExecute (line 38) | func planAndExecute(t *testing.T, runs []shared.TestRun, idx Index, q qu... function resultSet (line 49) | func resultSet(t *testing.T, srs []shared.SearchResult) mapset.Set { function TestBindFail_NoRuns (line 64) | func TestBindFail_NoRuns(t *testing.T) { function TestBindFail_NoQuery (line 75) | func TestBindFail_NoQuery(t *testing.T) { function TestBindFail_MissingRun (line 86) | func TestBindFail_MissingRun(t *testing.T) { function TestBindExecute_TestNamePattern (line 98) | func TestBindExecute_TestNamePattern(t *testing.T) { function TestBindExecute_TestNamePattern_CaseInsensitive (line 145) | func TestBindExecute_TestNamePattern_CaseInsensitive(t *testing.T) { function TestBindExecute_SubtestNamePattern (line 180) | func TestBindExecute_SubtestNamePattern(t *testing.T) { function TestBindExecute_SubtestNamePattern_CaseInsensitive (line 259) | func TestBindExecute_SubtestNamePattern_CaseInsensitive(t *testing.T) { function TestBindExecute_TestPath (line 319) | func TestBindExecute_TestPath(t *testing.T) { function TestBindExecute_TestStatus (line 367) | func TestBindExecute_TestStatus(t *testing.T) { function TestBindExecute_TestStatus_PreconditionFailed (line 522) | func TestBindExecute_TestStatus_PreconditionFailed(t *testing.T) { function TestBindExecute_Link (line 659) | func TestBindExecute_Link(t *testing.T) { function TestBindExecute_LinkWithWildcards (line 714) | func TestBindExecute_LinkWithWildcards(t *testing.T) { function TestBindExecute_Triaged (line 771) | func TestBindExecute_Triaged(t *testing.T) { function TestBindExecute_TriagedWildcards (line 827) | func TestBindExecute_TriagedWildcards(t *testing.T) { function TestBindExecute_QueryAndTestLabel (line 883) | func TestBindExecute_QueryAndTestLabel(t *testing.T) { function TestBindExecute_QueryOrTestLabel (line 940) | func TestBindExecute_QueryOrTestLabel(t *testing.T) { function TestBindExecute_TestLabel (line 1010) | func TestBindExecute_TestLabel(t *testing.T) { function TestBindExecute_LabelWithWildcards (line 1066) | func TestBindExecute_LabelWithWildcards(t *testing.T) { function TestBindExecute_TestWebFeature (line 1126) | func TestBindExecute_TestWebFeature(t *testing.T) { function TestBindExecute_TestWebFeature_PreservesCase (line 1182) | func TestBindExecute_TestWebFeature_PreservesCase(t *testing.T) { function TestBindExecute_IsDifferent (line 1237) | func TestBindExecute_IsDifferent(t *testing.T) { function TestBindExecute_IsTentative (line 1306) | func TestBindExecute_IsTentative(t *testing.T) { function TestBindExecute_IsOptional (line 1384) | func TestBindExecute_IsOptional(t *testing.T) { function TestBindExecute_MoreThan (line 1432) | func TestBindExecute_MoreThan(t *testing.T) { function TestBindExecute_LessThan (line 1507) | func TestBindExecute_LessThan(t *testing.T) { function TestBindExecute_LinkNoMatchingPattern (line 1582) | func TestBindExecute_LinkNoMatchingPattern(t *testing.T) { function TestBindExecute_NotLink (line 1623) | func TestBindExecute_NotLink(t *testing.T) { function TestBindExecute_HandleHarness (line 1677) | func TestBindExecute_HandleHarness(t *testing.T) { FILE: api/query/cache/index/index_medium_test.go constant testEvictionNumResults (line 21) | testEvictionNumResults = 10000 constant testEvictionMinBytes (line 24) | testEvictionMinBytes = testEvictionNumResults * 5 function TestEvictAnyRunRelievesMemoryPressure (line 27) | func TestEvictAnyRunRelievesMemoryPressure(t *testing.T) { FILE: api/query/cache/index/index_mock.go type MockIndex (line 17) | type MockIndex struct method EXPECT (line 35) | func (m *MockIndex) EXPECT() *MockIndexMockRecorder { method Bind (line 40) | func (m *MockIndex) Bind(arg0 []shared.TestRun, arg1 query.ConcreteQue... method Run (line 53) | func (m *MockIndex) Run(arg0 RunID) (shared.TestRun, error) { method Runs (line 68) | func (m *MockIndex) Runs(arg0 []RunID) ([]shared.TestRun, error) { method IngestRun (line 81) | func (m *MockIndex) IngestRun(arg0 shared.TestRun) error { method EvictRuns (line 93) | func (m *MockIndex) EvictRuns(arg0 float64) (int, error) { method SetIngestChan (line 106) | func (m *MockIndex) SetIngestChan(arg0 chan bool) { type MockIndexMockRecorder (line 23) | type MockIndexMockRecorder struct method Bind (line 48) | func (mr *MockIndexMockRecorder) Bind(arg0, arg1 interface{}) *gomock.... method Run (line 62) | func (mr *MockIndexMockRecorder) Run(arg0 interface{}) *gomock.Call { method Runs (line 76) | func (mr *MockIndexMockRecorder) Runs(arg0 interface{}) *gomock.Call { method IngestRun (line 88) | func (mr *MockIndexMockRecorder) IngestRun(arg0 interface{}) *gomock.C... method EvictRuns (line 101) | func (mr *MockIndexMockRecorder) EvictRuns(arg0 interface{}) *gomock.C... method SetIngestChan (line 111) | func (mr *MockIndexMockRecorder) SetIngestChan(arg0 interface{}) *gomo... function NewMockIndex (line 28) | func NewMockIndex(ctrl *gomock.Controller) *MockIndex { type MockReportLoader (line 116) | type MockReportLoader struct method EXPECT (line 134) | func (m *MockReportLoader) EXPECT() *MockReportLoaderMockRecorder { method Load (line 139) | func (m *MockReportLoader) Load(arg0 shared.TestRun) (*metrics.TestRes... type MockReportLoaderMockRecorder (line 122) | type MockReportLoaderMockRecorder struct method Load (line 147) | func (mr *MockReportLoaderMockRecorder) Load(arg0 interface{}) *gomock... function NewMockReportLoader (line 127) | func NewMockReportLoader(ctrl *gomock.Controller) *MockReportLoader { FILE: api/query/cache/index/index_test.go function TestInvalidNumShards (line 24) | func TestInvalidNumShards(t *testing.T) { function TestEvictEmpty (line 33) | func TestEvictEmpty(t *testing.T) { function TestIngestRun_zeroID (line 43) | func TestIngestRun_zeroID(t *testing.T) { function TestIngestRun_double (line 52) | func TestIngestRun_double(t *testing.T) { function TestIngestRun_concurrent (line 68) | func TestIngestRun_concurrent(t *testing.T) { function TestIngestRun_loaderError (line 106) | func TestIngestRun_loaderError(t *testing.T) { function TestEvictNonEmpty (line 121) | func TestEvictNonEmpty(t *testing.T) { function TestEvictMultiple (line 157) | func TestEvictMultiple(t *testing.T) { function TestSync (line 242) | func TestSync(t *testing.T) { function makeRun (line 375) | func makeRun(id int64) shared.TestRun { FILE: api/query/cache/index/results.go type RunID (line 16) | type RunID type ResultID (line 21) | type ResultID type Results (line 25) | type Results interface type RunResults (line 40) | type RunResults interface type resultsMap (line 48) | type resultsMap struct method Add (line 68) | func (rs *resultsMap) Add(ru RunID, rr RunResults) error { method Delete (line 77) | func (rs *resultsMap) Delete(ru RunID) error { method ForRun (line 89) | func (rs *resultsMap) ForRun(ru RunID) RunResults { type runResultsMap (line 52) | type runResultsMap struct method Add (line 99) | func (rrs *runResultsMap) Add(re ResultID, t TestID) { method GetResult (line 103) | func (rrs *runResultsMap) GetResult(t TestID) ResultID { function NewResults (line 58) | func NewResults() Results { function NewRunResults (line 64) | func NewRunResults() RunResults { FILE: api/query/cache/index/results_test.go function TestForRun_fail (line 16) | func TestForRun_fail(t *testing.T) { function TestAdd_fail (line 22) | func TestAdd_fail(t *testing.T) { function TestAddForRunGetResult (line 32) | func TestAddForRunGetResult(t *testing.T) { FILE: api/query/cache/index/tests.go type TestID (line 14) | type TestID struct type Tests (line 20) | type Tests interface type testsMap (line 32) | type testsMap struct method Add (line 47) | func (ts *testsMap) Add(t TestID, name string, subName *string) { method GetName (line 51) | func (ts *testsMap) GetName(id TestID) (string, *string, error) { method Range (line 60) | func (ts *testsMap) Range(f func(TestID) bool) { type testName (line 36) | type testName struct function NewTests (line 43) | func NewTests() Tests { function computeTestID (line 68) | func computeTestID(name string, subPtr *string) (TestID, error) { FILE: api/query/cache/index/tests_test.go function TestGetName_fail (line 15) | func TestGetName_fail(t *testing.T) { function TestAddGetName (line 21) | func TestAddGetName(t *testing.T) { FILE: api/query/cache/lru/lru.go type LRU (line 17) | type LRU interface type lru (line 29) | type lru struct method Access (line 46) | func (l *lru) Access(v int64) { method EvictLRU (line 50) | func (l *lru) EvictLRU(percent float64) []int64 { method syncAccess (line 69) | func (l *lru) syncAccess(v int64) { method syncEvictLRU (line 76) | func (l *lru) syncEvictLRU(num int) []int64 { type lruEntry (line 34) | type lruEntry struct type lruEntries (line 39) | type lruEntries method Len (line 42) | func (s lruEntries) Len() int { return len(s) } method Swap (line 43) | func (s lruEntries) Swap(i, j int) { s[i], s[j] = s[j], s[i] } method Less (line 44) | func (s lruEntries) Less(i, j int) bool { return (s[i].Time).Before(s[... function NewLRU (line 62) | func NewLRU() LRU { FILE: api/query/cache/lru/lru_test.go function TestLRUEmpty (line 18) | func TestLRUEmpty(t *testing.T) { function TestSimple (line 24) | func TestSimple(t *testing.T) { function TestRoundUpToOne (line 32) | func TestRoundUpToOne(t *testing.T) { function TestRoundDown (line 40) | func TestRoundDown(t *testing.T) { function TestRoundWayDown (line 48) | func TestRoundWayDown(t *testing.T) { function TestRepeatAccess (line 56) | func TestRepeatAccess(t *testing.T) { function TestConcurrency (line 67) | func TestConcurrency(t *testing.T) { FILE: api/query/cache/monitor/monitor.go type Runtime (line 26) | type Runtime interface type Monitor (line 32) | type Monitor interface type ProxyMonitor (line 50) | type ProxyMonitor struct method Start (line 55) | func (m *ProxyMonitor) Start() error { method Stop (line 60) | func (m *ProxyMonitor) Stop() error { method SetInterval (line 66) | func (m *ProxyMonitor) SetInterval(i time.Duration) error { method SetMaxHeapBytes (line 72) | func (m *ProxyMonitor) SetMaxHeapBytes(b uint64) error { method SetEvictionPercent (line 79) | func (m *ProxyMonitor) SetEvictionPercent(percent float64) error { function NewProxyMonitor (line 84) | func NewProxyMonitor(m Monitor) ProxyMonitor { type GoRuntime (line 89) | type GoRuntime struct method GetHeapBytes (line 92) | func (r GoRuntime) GetHeapBytes() uint64 { type indexMonitor (line 99) | type indexMonitor struct method Start (line 114) | func (m *indexMonitor) Start() error { method Stop (line 153) | func (m *indexMonitor) Stop() error { method SetInterval (line 165) | func (m *indexMonitor) SetInterval(interval time.Duration) error { method SetMaxHeapBytes (line 173) | func (m *indexMonitor) SetMaxHeapBytes(maxHeapBytes uint64) error { method SetEvictionPercent (line 181) | func (m *indexMonitor) SetEvictionPercent(percent float64) error { method start (line 193) | func (m *indexMonitor) start() error { method check (line 204) | func (m *indexMonitor) check() { function NewIndexMonitor (line 218) | func NewIndexMonitor( FILE: api/query/cache/monitor/monitor_mock.go type MockRuntime (line 14) | type MockRuntime struct method EXPECT (line 32) | func (m *MockRuntime) EXPECT() *MockRuntimeMockRecorder { method GetHeapBytes (line 37) | func (m *MockRuntime) GetHeapBytes() uint64 { type MockRuntimeMockRecorder (line 20) | type MockRuntimeMockRecorder struct method GetHeapBytes (line 44) | func (mr *MockRuntimeMockRecorder) GetHeapBytes() *gomock.Call { function NewMockRuntime (line 25) | func NewMockRuntime(ctrl *gomock.Controller) *MockRuntime { type MockMonitor (line 49) | type MockMonitor struct method EXPECT (line 67) | func (m *MockMonitor) EXPECT() *MockMonitorMockRecorder { method Start (line 72) | func (m *MockMonitor) Start() error { method Stop (line 84) | func (m *MockMonitor) Stop() error { method SetInterval (line 96) | func (m *MockMonitor) SetInterval(arg0 time.Duration) error { method SetMaxHeapBytes (line 108) | func (m *MockMonitor) SetMaxHeapBytes(arg0 uint64) error { type MockMonitorMockRecorder (line 55) | type MockMonitorMockRecorder struct method Start (line 79) | func (mr *MockMonitorMockRecorder) Start() *gomock.Call { method Stop (line 91) | func (mr *MockMonitorMockRecorder) Stop() *gomock.Call { method SetInterval (line 103) | func (mr *MockMonitorMockRecorder) SetInterval(arg0 interface{}) *gomo... method SetMaxHeapBytes (line 115) | func (mr *MockMonitorMockRecorder) SetMaxHeapBytes(arg0 interface{}) *... function NewMockMonitor (line 60) | func NewMockMonitor(ctrl *gomock.Controller) *MockMonitor { FILE: api/query/cache/monitor/monitor_test.go constant testMaxHeapBytes (line 21) | testMaxHeapBytes uint64 = 10 function getTestHarness (line 23) | func getTestHarness(t *testing.T) (*gomock.Controller, *index.MockIndex,... function TestStopErr (line 32) | func TestStopErr(t *testing.T) { function TestStartStop (line 40) | func TestStartStop(t *testing.T) { function TestDoubleStart (line 55) | func TestDoubleStart(t *testing.T) { function TestOOM (line 78) | func TestOOM(t *testing.T) { type syncingIndex (line 94) | type syncingIndex struct method SetIngestChan (line 102) | func (i *syncingIndex) SetIngestChan(c chan bool) { method IngestRun (line 106) | func (i *syncingIndex) IngestRun(r shared.TestRun) error { function TestIngestTriggered (line 116) | func TestIngestTriggered(t *testing.T) { FILE: api/query/cache/poll/poll.go function KeepRunsUpdated (line 23) | func KeepRunsUpdated(store shared.Datastore, logger shared.Logger, inter... function wait (line 88) | func wait(start time.Time, total time.Duration) { function StartMetadataPollingService (line 97) | func StartMetadataPollingService(ctx context.Context, logger shared.Logg... function keepMetadataUpdated (line 119) | func keepMetadataUpdated(client *http.Client, logger shared.Logger) { function cleanOrphanedPendingMetadata (line 134) | func cleanOrphanedPendingMetadata( function StartWebFeaturesManifestPollingService (line 192) | func StartWebFeaturesManifestPollingService(ctx context.Context, logger ... type webFeaturesGetter (line 213) | type webFeaturesGetter interface function keepWebFeaturesManifestUpdated (line 219) | func keepWebFeaturesManifestUpdated( FILE: api/query/cache/poll/poll_test.go type testWebFeaturesGetter (line 20) | type testWebFeaturesGetter struct method Get (line 25) | func (g testWebFeaturesGetter) Get(_ context.Context) (shared.WebFeatu... function TestKeepWebFeaturesManifestUpdated (line 29) | func TestKeepWebFeaturesManifestUpdated(t *testing.T) { FILE: api/query/cache/query/query.go function PrepareUserQuery (line 18) | func PrepareUserQuery(runIDs []int64, q query.ConcreteQuery) query.Concr... FILE: api/query/cache/query/query_test.go function TestPrepareUserQuery_basic (line 16) | func TestPrepareUserQuery_basic(t *testing.T) { function TestPrepareUserQuery_and (line 30) | func TestPrepareUserQuery_and(t *testing.T) { FILE: api/query/concrete_query.go constant averageNumberOfSubtests (line 12) | averageNumberOfSubtests = int(1655263 / 34236) type AggregationOpts (line 16) | type AggregationOpts struct type Binder (line 26) | type Binder interface type Plan (line 36) | type Plan interface type ConcreteQuery (line 43) | type ConcreteQuery interface type Count (line 49) | type Count struct method Size (line 160) | func (c Count) Size() int { return size(c.Args) } type MoreThan (line 56) | type MoreThan struct type LessThan (line 62) | type LessThan struct type Link (line 67) | type Link struct method Size (line 145) | func (Link) Size() int { return 1 } type Triaged (line 73) | type Triaged struct method Size (line 149) | func (Triaged) Size() int { return 1 } type TestLabel (line 79) | type TestLabel struct method Size (line 153) | func (TestLabel) Size() int { return 1 } type TestWebFeature (line 85) | type TestWebFeature struct method Size (line 157) | func (TestWebFeature) Size() int { return 1 } type RunTestStatusEq (line 94) | type RunTestStatusEq struct method Size (line 137) | func (RunTestStatusEq) Size() int { return 1 } type RunTestStatusNeq (line 103) | type RunTestStatusNeq struct method Size (line 141) | func (RunTestStatusNeq) Size() int { return 1 } type Or (line 109) | type Or struct method Size (line 169) | func (o Or) Size() int { return size(o.Args) } type And (line 114) | type And struct method Size (line 173) | func (a And) Size() int { return size(a.Args) } type Not (line 119) | type Not struct method Size (line 176) | func (n Not) Size() int { return 1 + n.Arg.Size() } method Size (line 125) | func (TestNamePattern) Size() int { return 1 } method Size (line 129) | func (SubtestNamePattern) Size() int { return averageNumberOfSubtests } method Size (line 133) | func (TestPath) Size() int { return 1 } method Size (line 163) | func (q MetadataQuality) Size() int { method Size (line 179) | func (True) Size() int { return 0 } method Size (line 182) | func (False) Size() int { return 0 } function size (line 184) | func size(qs []ConcreteQuery) int { FILE: api/query/metadata_cache.go type searchcacheMetadataFetcher (line 17) | type searchcacheMetadataFetcher struct method Fetch (line 19) | func (f searchcacheMetadataFetcher) Fetch() (sha *string, res map[stri... FILE: api/query/query.go type SummaryResult (line 22) | type SummaryResult struct type summary (line 30) | type summary type queryHandler (line 32) | type queryHandler struct method processInput (line 40) | func (qh queryHandler) processInput(w http.ResponseWriter, r *http.Req... method validateSummaryVersions (line 70) | func (qh queryHandler) validateSummaryVersions(v url.Values, logger sh... method summaryIsValid (line 92) | func (qh queryHandler) summaryIsValid(summaryURL string) bool { method getRunsAndFilters (line 97) | func (qh queryHandler) getRunsAndFilters(in shared.QueryFilter) (share... method loadSummaries (line 132) | func (qh queryHandler) loadSummaries(testRuns shared.TestRuns) ([]summ... method loadSummary (line 166) | func (qh queryHandler) loadSummary(testRun shared.TestRun) ([]byte, er... function getSummaryFileRedisKey (line 175) | func getSummaryFileRedisKey(testRun shared.TestRun) string { function isRequestCacheable (line 179) | func isRequestCacheable(r *http.Request) bool { FILE: api/query/query_test.go function TestGetRedisKey (line 22) | func TestGetRedisKey(t *testing.T) { function TestLoadSummaries_success (line 28) | func TestLoadSummaries_success(t *testing.T) { function TestLoadSummaries_fail (line 78) | func TestLoadSummaries_fail(t *testing.T) { function TestSummaryIsValid_v1 (line 118) | func TestSummaryIsValid_v1(t *testing.T) { function TestSummaryIsValid_v2 (line 125) | func TestSummaryIsValid_v2(t *testing.T) { function TestGetRunsAndFilters_default (line 131) | func TestGetRunsAndFilters_default(t *testing.T) { function TestGetRunsAndFilters_specificRunIDs (line 183) | func TestGetRunsAndFilters_specificRunIDs(t *testing.T) { function TestIsRequestCacheable_getNotCacheable (line 236) | func TestIsRequestCacheable_getNotCacheable(t *testing.T) { function TestIsRequestCacheable_getCacheable (line 240) | func TestIsRequestCacheable_getCacheable(t *testing.T) { function TestIsRequestCacheable_postNotCacheable (line 244) | func TestIsRequestCacheable_postNotCacheable(t *testing.T) { function TestIsRequestCacheable_postCacheable (line 248) | func TestIsRequestCacheable_postCacheable(t *testing.T) { FILE: api/query/routes.go function RegisterRoutes (line 10) | func RegisterRoutes() { FILE: api/query/search.go type byName (line 24) | type byName method Len (line 26) | func (r byName) Len() int { return len(r) } method Swap (line 27) | func (r byName) Swap(i, j int) { r[i], r[j] = r[j], r[i] } method Less (line 28) | func (r byName) Less(i, j int) bool { return r[i].Test < r[j].Test } type searchHandler (line 30) | type searchHandler struct method ServeHTTP (line 49) | func (sh searchHandler) ServeHTTP(w http.ResponseWriter, r *http.Reque... type unstructuredSearchHandler (line 34) | type unstructuredSearchHandler struct method ServeHTTP (line 209) | func (sh unstructuredSearchHandler) ServeHTTP(w http.ResponseWriter, r... type structuredSearchHandler (line 38) | type structuredSearchHandler struct method ServeHTTP (line 72) | func (sh structuredSearchHandler) ServeHTTP(w http.ResponseWriter, r *... method useSearchcache (line 164) | func (sh structuredSearchHandler) useSearchcache(_ http.ResponseWriter... function apiSearchHandler (line 44) | func apiSearchHandler(w http.ResponseWriter, r *http.Request) { function prepareSearchResponse (line 228) | func prepareSearchResponse( FILE: api/query/search_medium_test.go type shouldCache (line 27) | type shouldCache struct method ShouldCache (line 35) | func (sc *shouldCache) ShouldCache(ctx context.Context, statusCode int... function NewShouldCache (line 42) | func NewShouldCache(t *testing.T, expected bool, delegate func(context.C... function TestUnstructuredSearchHandler (line 46) | func TestUnstructuredSearchHandler(t *testing.T) { function TestStructuredSearchHandler_equivalentToUnstructured (line 189) | func TestStructuredSearchHandler_equivalentToUnstructured(t *testing.T) { function TestUnstructuredSearchHandler_doNotCacheEmptyResult (line 339) | func TestUnstructuredSearchHandler_doNotCacheEmptyResult(t *testing.T) { function TestStructuredSearchHandler_doNotCacheEmptyResult (line 434) | func TestStructuredSearchHandler_doNotCacheEmptyResult(t *testing.T) { FILE: api/query/search_test.go function doTestIC (line 25) | func doTestIC(t *testing.T, p, q string) { function testIC (line 117) | func testIC(t *testing.T, str string, upperQ bool) { function TestPrepareSearchResponse_qUC (line 130) | func TestPrepareSearchResponse_qUC(t *testing.T) { function TestPrepareSearchResponse_pUC (line 134) | func TestPrepareSearchResponse_pUC(t *testing.T) { function TestStructuredSearchHandler_success (line 138) | func TestStructuredSearchHandler_success(t *testing.T) { function TestStructuredSearchHandler_failure (line 200) | func TestStructuredSearchHandler_failure(t *testing.T) { FILE: api/query/test/types.go type MockWriteCloser (line 16) | type MockWriteCloser struct method Write (line 24) | func (mwc *MockWriteCloser) Write(p []byte) (n int, err error) { method Close (line 34) | func (mwc *MockWriteCloser) Close() error { function NewMockWriteCloser (line 41) | func NewMockWriteCloser(t *testing.T) *MockWriteCloser { type MockReadCloser (line 51) | type MockReadCloser struct method Read (line 59) | func (mrc *MockReadCloser) Read(p []byte) (n int, err error) { method Close (line 66) | func (mrc *MockReadCloser) Close() error { method IsClosed (line 84) | func (mrc *MockReadCloser) IsClosed() bool { function NewMockReadCloser (line 74) | func NewMockReadCloser(t *testing.T, data []byte) *MockReadCloser { FILE: api/query/util.go function canonicalizeStr (line 5) | func canonicalizeStr(str string) string { FILE: api/query/web_features_manifest_cache.go function SetWebFeaturesDataCache (line 16) | func SetWebFeaturesDataCache(newData shared.WebFeaturesData) { function GetWebFeaturesDataCache (line 23) | func GetWebFeaturesDataCache() shared.WebFeaturesData { type searchcacheWebFeaturesManifestFetcher (line 34) | type searchcacheWebFeaturesManifestFetcher struct method Fetch (line 36) | func (f searchcacheWebFeaturesManifestFetcher) Fetch() (shared.WebFeat... FILE: api/receiver/api.go function AuthenticateUploader (line 28) | func AuthenticateUploader(aeAPI shared.AppEngineAPI, r *http.Request) st... type API (line 42) | type API interface type apiImpl (line 57) | type apiImpl struct method AddTestRun (line 84) | func (a apiImpl) AddTestRun(testRun *shared.TestRun) (shared.Key, erro... method IsAdmin (line 99) | func (a apiImpl) IsAdmin(r *http.Request) bool { method UpdatePendingTestRun (line 120) | func (a apiImpl) UpdatePendingTestRun(newRun shared.PendingTestRun) er... method UploadToGCS (line 172) | func (a *apiImpl) UploadToGCS(gcsPath string, f io.Reader, gzipped boo... method ScheduleResultsTask (line 204) | func (a apiImpl) ScheduleResultsTask( function NewAPI (line 69) | func NewAPI(ctx context.Context) API { FILE: api/receiver/api_cloud_test.go function TestAuthenticateUploader (line 23) | func TestAuthenticateUploader(t *testing.T) { FILE: api/receiver/api_medium_test.go type mockGcs (line 29) | type mockGcs struct method NewWriter (line 48) | func (m *mockGcs) NewWriter(bucketName, fileName, contentType, content... type mockGcsWriter (line 35) | type mockGcsWriter struct method Close (line 43) | func (m *mockGcsWriter) Close() error { function TestIsAdmin_failsToConstructACL (line 54) | func TestIsAdmin_failsToConstructACL(t *testing.T) { function TestIsAdmin_mockACL (line 73) | func TestIsAdmin_mockACL(t *testing.T) { function TestUploadToGCS (line 114) | func TestUploadToGCS(t *testing.T) { function TestUploadToGCS_handlesErrors (line 127) | func TestUploadToGCS_handlesErrors(t *testing.T) { function TestScheduleResultsTask (line 146) | func TestScheduleResultsTask(t *testing.T) { function TestAddTestRun (line 182) | func TestAddTestRun(t *testing.T) { function TestUpdatePendingTestRun (line 207) | func TestUpdatePendingTestRun(t *testing.T) { FILE: api/receiver/azure.go function getAzureArtifactName (line 17) | func getAzureArtifactName(url string) string { FILE: api/receiver/azure_test.go function TestGetAzureArtifactName (line 15) | func TestGetAzureArtifactName(t *testing.T) { FILE: api/receiver/client/client.go constant UploadTimeout (line 22) | UploadTimeout = time.Minute type Client (line 25) | type Client interface function NewClient (line 38) | func NewClient(aeAPI shared.AppEngineAPI) Client { type client (line 44) | type client struct method CreateRun (line 49) | func (c client) CreateRun( FILE: api/receiver/client/client_test.go function TestCreateRun (line 20) | func TestCreateRun(t *testing.T) { FILE: api/receiver/create_run.go constant InternalUsername (line 22) | InternalUsername = "_processor" function HandleResultsCreate (line 25) | func HandleResultsCreate(a API, s checks.API, w http.ResponseWriter, r *... FILE: api/receiver/create_run_test.go function TestHandleResultsCreate (line 26) | func TestHandleResultsCreate(t *testing.T) { function TestHandleResultsCreate_NoTimestamps (line 98) | func TestHandleResultsCreate_NoTimestamps(t *testing.T) { function TestHandleResultsCreate_BadRevision (line 155) | func TestHandleResultsCreate_BadRevision(t *testing.T) { function TestHandleResultsCreate_NoBasicAuth (line 195) | func TestHandleResultsCreate_NoBasicAuth(t *testing.T) { function TestHandleResultsCreate_WrongUser (line 209) | func TestHandleResultsCreate_WrongUser(t *testing.T) { function TestHandleResultsCreate_WrongPassword (line 225) | func TestHandleResultsCreate_WrongPassword(t *testing.T) { FILE: api/receiver/gcs.go type gcs (line 16) | type gcs interface type gcsImpl (line 20) | type gcsImpl struct method NewWriter (line 25) | func (g *gcsImpl) NewWriter(bucketName, fileName, contentType, content... FILE: api/receiver/handlers.go function apiResultsUploadHandler (line 13) | func apiResultsUploadHandler(w http.ResponseWriter, r *http.Request) { function apiResultsCreateHandler (line 25) | func apiResultsCreateHandler(w http.ResponseWriter, r *http.Request) { function apiPendingTestRunUpdateHandler (line 38) | func apiPendingTestRunUpdateHandler(w http.ResponseWriter, r *http.Reque... FILE: api/receiver/mock_receiver/api_mock.go type MockAPI (line 26) | type MockAPI struct method EXPECT (line 45) | func (m *MockAPI) EXPECT() *MockAPIMockRecorder { method AddTestRun (line 50) | func (m *MockAPI) AddTestRun(testRun *shared.TestRun) (shared.Key, err... method Context (line 65) | func (m *MockAPI) Context() context.Context { method GetGitHubClient (line 79) | func (m *MockAPI) GetGitHubClient() (*github.Client, error) { method GetHTTPClient (line 94) | func (m *MockAPI) GetHTTPClient() *http.Client { method GetHTTPClientWithTimeout (line 108) | func (m *MockAPI) GetHTTPClientWithTimeout(arg0 time.Duration) *http.C... method GetHostname (line 122) | func (m *MockAPI) GetHostname() string { method GetResultsURL (line 136) | func (m *MockAPI) GetResultsURL(filter shared.TestRunFilter) *url.URL { method GetResultsUploadURL (line 150) | func (m *MockAPI) GetResultsUploadURL() *url.URL { method GetRunsURL (line 164) | func (m *MockAPI) GetRunsURL(filter shared.TestRunFilter) *url.URL { method GetServiceHostname (line 178) | func (m *MockAPI) GetServiceHostname(service string) string { method GetUploader (line 192) | func (m *MockAPI) GetUploader(uploader string) (shared.Uploader, error) { method GetVersion (line 207) | func (m *MockAPI) GetVersion() string { method GetVersionedHostname (line 221) | func (m *MockAPI) GetVersionedHostname() string { method IsAdmin (line 235) | func (m *MockAPI) IsAdmin(arg0 *http.Request) bool { method IsFeatureEnabled (line 249) | func (m *MockAPI) IsFeatureEnabled(featureName string) bool { method ScheduleResultsTask (line 263) | func (m *MockAPI) ScheduleResultsTask(uploader string, results, screen... method ScheduleTask (line 278) | func (m *MockAPI) ScheduleTask(queueName, taskName, target string, par... method UpdatePendingTestRun (line 293) | func (m *MockAPI) UpdatePendingTestRun(pendingRun shared.PendingTestRu... method UploadToGCS (line 307) | func (m *MockAPI) UploadToGCS(gcsPath string, f io.Reader, gzipped boo... type MockAPIMockRecorder (line 33) | type MockAPIMockRecorder struct method AddTestRun (line 59) | func (mr *MockAPIMockRecorder) AddTestRun(testRun any) *gomock.Call { method Context (line 73) | func (mr *MockAPIMockRecorder) Context() *gomock.Call { method GetGitHubClient (line 88) | func (mr *MockAPIMockRecorder) GetGitHubClient() *gomock.Call { method GetHTTPClient (line 102) | func (mr *MockAPIMockRecorder) GetHTTPClient() *gomock.Call { method GetHTTPClientWithTimeout (line 116) | func (mr *MockAPIMockRecorder) GetHTTPClientWithTimeout(arg0 any) *gom... method GetHostname (line 130) | func (mr *MockAPIMockRecorder) GetHostname() *gomock.Call { method GetResultsURL (line 144) | func (mr *MockAPIMockRecorder) GetResultsURL(filter any) *gomock.Call { method GetResultsUploadURL (line 158) | func (mr *MockAPIMockRecorder) GetResultsUploadURL() *gomock.Call { method GetRunsURL (line 172) | func (mr *MockAPIMockRecorder) GetRunsURL(filter any) *gomock.Call { method GetServiceHostname (line 186) | func (mr *MockAPIMockRecorder) GetServiceHostname(service any) *gomock... method GetUploader (line 201) | func (mr *MockAPIMockRecorder) GetUploader(uploader any) *gomock.Call { method GetVersion (line 215) | func (mr *MockAPIMockRecorder) GetVersion() *gomock.Call { method GetVersionedHostname (line 229) | func (mr *MockAPIMockRecorder) GetVersionedHostname() *gomock.Call { method IsAdmin (line 243) | func (mr *MockAPIMockRecorder) IsAdmin(arg0 any) *gomock.Call { method IsFeatureEnabled (line 257) | func (mr *MockAPIMockRecorder) IsFeatureEnabled(featureName any) *gomo... method ScheduleResultsTask (line 272) | func (mr *MockAPIMockRecorder) ScheduleResultsTask(uploader, results, ... method ScheduleTask (line 287) | func (mr *MockAPIMockRecorder) ScheduleTask(queueName, taskName, targe... method UpdatePendingTestRun (line 301) | func (mr *MockAPIMockRecorder) UpdatePendingTestRun(pendingRun any) *g... method UploadToGCS (line 315) | func (mr *MockAPIMockRecorder) UploadToGCS(gcsPath, f, gzipped any) *g... function NewMockAPI (line 38) | func NewMockAPI(ctrl *gomock.Controller) *MockAPI { FILE: api/receiver/receive_results.go constant BufferBucket (line 18) | BufferBucket = "wptd-results-buffer" constant ResultsQueue (line 21) | ResultsQueue = "results-arrival" constant ResultsTarget (line 24) | ResultsTarget = "/api/results/process" function HandleResultsUpload (line 27) | func HandleResultsUpload(a API, w http.ResponseWriter, r *http.Request) { function saveToGCS (line 113) | func saveToGCS(a API, uploader string, resultFiles, screenshotFiles []*m... FILE: api/receiver/receive_results_test.go type regexMatcher (line 32) | type regexMatcher struct method Matches (line 36) | func (r *regexMatcher) Matches(x interface{}) bool { method String (line 44) | func (r *regexMatcher) String() string { function matchRegex (line 48) | func matchRegex(r string) *regexMatcher { function TestHandleResultsUpload_not_admin (line 63) | func TestHandleResultsUpload_not_admin(t *testing.T) { function TestHandleResultsUpload_http_basic_auth_invalid (line 76) | func TestHandleResultsUpload_http_basic_auth_invalid(t *testing.T) { function TestHandleResultsUpload_extra_params (line 93) | func TestHandleResultsUpload_extra_params(t *testing.T) { function TestHandleResultsUpload_azure (line 132) | func TestHandleResultsUpload_azure(t *testing.T) { function TestHandleResultsUpload_archive (line 164) | func TestHandleResultsUpload_archive(t *testing.T) { function TestHandleResultsUpload_archive_as_results (line 196) | func TestHandleResultsUpload_archive_as_results(t *testing.T) { function TestHandleResultsUpload_url (line 228) | func TestHandleResultsUpload_url(t *testing.T) { function TestHandleResultsUpload_file (line 260) | func TestHandleResultsUpload_file(t *testing.T) { function TestHandleResultsUpload_fail_uploading (line 296) | func TestHandleResultsUpload_fail_uploading(t *testing.T) { function TestHandleResultsUpload_empty_payload (line 322) | func TestHandleResultsUpload_empty_payload(t *testing.T) { FILE: api/receiver/routes.go function RegisterRoutes (line 10) | func RegisterRoutes() { FILE: api/receiver/update_pending_run.go function HandleUpdatePendingTestRun (line 19) | func HandleUpdatePendingTestRun(a API, w http.ResponseWriter, r *http.Re... FILE: api/receiver/update_pending_run_test.go function TestApiPendingTestRunUpdateHandler (line 25) | func TestApiPendingTestRunUpdateHandler(t *testing.T) { FILE: api/results_redirect_handler.go function apiResultsRedirectHandler (line 24) | func apiResultsRedirectHandler(w http.ResponseWriter, r *http.Request) { FILE: api/routes.go function RegisterRoutes (line 10) | func RegisterRoutes() { FILE: api/screenshot/cache.go function parseParams (line 21) | func parseParams(r *http.Request) (browser, browserVersion, os, osVersio... function getHashesHandler (line 30) | func getHashesHandler(w http.ResponseWriter, r *http.Request) { function uploadScreenshotHandler (line 54) | func uploadScreenshotHandler(w http.ResponseWriter, r *http.Request) { function storeScreenshot (line 123) | func storeScreenshot( FILE: api/screenshot/model.go constant MaxItemsInResponse (line 21) | MaxItemsInResponse = 10000 type Screenshot (line 33) | type Screenshot struct method Hash (line 57) | func (s *Screenshot) Hash() string { method Key (line 65) | func (s *Screenshot) Key() string { method SetHashFromFile (line 70) | func (s *Screenshot) SetHashFromFile(f io.Reader, hashMethod string) e... method Store (line 93) | func (s *Screenshot) Store(ds shared.Datastore) error { function NewScreenshot (line 44) | func NewScreenshot(labels ...string) *Screenshot { function RecentScreenshotHashes (line 117) | func RecentScreenshotHashes( FILE: api/screenshot/model_medium_test.go function TestNewScreenshot (line 22) | func TestNewScreenshot(t *testing.T) { function TestKeyAndHash (line 27) | func TestKeyAndHash(t *testing.T) { function TestSetHashFromFile (line 36) | func TestSetHashFromFile(t *testing.T) { function TestSetHashFromFile_error (line 44) | func TestSetHashFromFile_error(t *testing.T) { function TestStore (line 50) | func TestStore(t *testing.T) { function TestRecentScreenshotHashes_filtering (line 106) | func TestRecentScreenshotHashes_filtering(t *testing.T) { function TestRecentScreenshotHashes_ordering (line 159) | func TestRecentScreenshotHashes_ordering(t *testing.T) { FILE: api/screenshot/routes.go function RegisterRoutes (line 10) | func RegisterRoutes() { FILE: api/screenshot_redirect_handler.go function apiScreenshotRedirectHandler (line 20) | func apiScreenshotRedirectHandler(w http.ResponseWriter, r *http.Request) { FILE: api/shas.go type SHAsHandler (line 18) | type SHAsHandler struct method ServeHTTP (line 36) | func (h SHAsHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { function apiSHAsHandler (line 23) | func apiSHAsHandler(w http.ResponseWriter, r *http.Request) { FILE: api/shas_medium_test.go function TestApiSHAsHandler (line 18) | func TestApiSHAsHandler(t *testing.T) { FILE: api/taskcluster/mock_taskcluster/webhook_mock.go type MockAPI (line 21) | type MockAPI struct method EXPECT (line 40) | func (m *MockAPI) EXPECT() *MockAPIMockRecorder { method GetTaskGroupInfo (line 45) | func (m *MockAPI) GetTaskGroupInfo(arg0, arg1 string) (*taskcluster.Ta... method ListCheckRuns (line 60) | func (m *MockAPI) ListCheckRuns(owner, repo string, checkSuiteID int64... type MockAPIMockRecorder (line 28) | type MockAPIMockRecorder struct method GetTaskGroupInfo (line 54) | func (mr *MockAPIMockRecorder) GetTaskGroupInfo(arg0, arg1 any) *gomoc... method ListCheckRuns (line 69) | func (mr *MockAPIMockRecorder) ListCheckRuns(owner, repo, checkSuiteID... function NewMockAPI (line 33) | func NewMockAPI(ctrl *gomock.Controller) *MockAPI { FILE: api/taskcluster/routes.go function RegisterRoutes (line 10) | func RegisterRoutes() { FILE: api/taskcluster/webhook.go constant AppID (line 28) | AppID = int64(40788) constant uploaderName (line 30) | uploaderName = "taskcluster" constant completedState (line 31) | completedState = "completed" type TaskInfo (line 50) | type TaskInfo struct type TaskGroupInfo (line 58) | type TaskGroupInfo struct type EventInfo (line 65) | type EventInfo struct type API (line 75) | type API interface type apiImpl (line 80) | type apiImpl struct method GetTaskGroupInfo (line 441) | func (api apiImpl) GetTaskGroupInfo(rootURL string, groupID string) (*... method ListCheckRuns (line 472) | func (api apiImpl) ListCheckRuns(owner string, repo string, checkSuite... function GetStatusEventInfo (line 86) | func GetStatusEventInfo(status StatusEventPayload, log shared.Logger, ap... function GetCheckSuiteEventInfo (line 120) | func GetCheckSuiteEventInfo(checkSuite github.CheckSuiteEvent, log share... function tcStatusWebhookHandler (line 212) | func tcStatusWebhookHandler(w http.ResponseWriter, r *http.Request) { type StatusEventPayload (line 343) | type StatusEventPayload struct method IsCompleted (line 348) | func (s StatusEventPayload) IsCompleted() bool { method IsTaskcluster (line 353) | func (s StatusEventPayload) IsTaskcluster() bool { method IsOnMaster (line 359) | func (s StatusEventPayload) IsOnMaster() bool { function processTaskclusterBuild (line 369) | func processTaskclusterBuild(aeAPI shared.AppEngineAPI, event EventInfo,... function ShouldProcessStatus (line 406) | func ShouldProcessStatus(log shared.Logger, status *StatusEventPayload) ... function ParseTaskclusterURL (line 422) | func ParseTaskclusterURL(targetURL string) (rootURL, taskGroupID, taskID... type ArtifactURLs (line 512) | type ArtifactURLs struct function ExtractArtifactURLs (line 519) | func ExtractArtifactURLs(rootURL string, log shared.Logger, group *TaskG... function CreateAllRuns (line 588) | func CreateAllRuns( FILE: api/taskcluster/webhook_test.go type branchInfos (line 31) | type branchInfos function strPtr (line 33) | func strPtr(s string) *string { function TestShouldProcessStatus_states (line 37) | func TestShouldProcessStatus_states(t *testing.T) { function TestShouldProcessStatus_notTaskcluster (line 57) | func TestShouldProcessStatus_notTaskcluster(t *testing.T) { function TestShouldProcessStatus_notOnMaster (line 65) | func TestShouldProcessStatus_notOnMaster(t *testing.T) { function TestIsOnMaster (line 73) | func TestIsOnMaster(t *testing.T) { function TestParseTaskclusterURL (line 98) | func TestParseTaskclusterURL(t *testing.T) { function TestExtractArtifactURLs_all_success_master (line 125) | func TestExtractArtifactURLs_all_success_master(t *testing.T) { function TestExtractArtifactURLs_all_success_pr (line 185) | func TestExtractArtifactURLs_all_success_pr(t *testing.T) { function TestExtractArtifactURLs_with_failures (line 234) | func TestExtractArtifactURLs_with_failures(t *testing.T) { function TestCreateAllRuns_success (line 252) | func TestCreateAllRuns_success(t *testing.T) { function TestCreateAllRuns_one_error (line 310) | func TestCreateAllRuns_one_error(t *testing.T) { function TestCreateAllRuns_all_errors (line 353) | func TestCreateAllRuns_all_errors(t *testing.T) { function TestCreateAllRuns_pr_labels_exclude_master (line 387) | func TestCreateAllRuns_pr_labels_exclude_master(t *testing.T) { function TestTaskNameRegex (line 429) | func TestTaskNameRegex(t *testing.T) { function TestGetStatusEventInfo_target_url (line 443) | func TestGetStatusEventInfo_target_url(t *testing.T) { function TestGetStatusEventInfo_sha (line 473) | func TestGetStatusEventInfo_sha(t *testing.T) { function TestGetStatusEventInfo_master (line 496) | func TestGetStatusEventInfo_master(t *testing.T) { function TestGetStatusEventInfo_sender (line 528) | func TestGetStatusEventInfo_sender(t *testing.T) { function TestGetStatusEventInfo_group (line 553) | func TestGetStatusEventInfo_group(t *testing.T) { function TestGetCheckSuiteEventInfo_sourceRepo (line 576) | func TestGetCheckSuiteEventInfo_sourceRepo(t *testing.T) { function TestGetCheckSuiteEventInfo_sha (line 618) | func TestGetCheckSuiteEventInfo_sha(t *testing.T) { function TestGetCheckSuiteEventInfo_master (line 654) | func TestGetCheckSuiteEventInfo_master(t *testing.T) { function TestGetCheckSuiteEventInfo_sender (line 691) | func TestGetCheckSuiteEventInfo_sender(t *testing.T) { function TestGetCheckSuiteEventInfo_checkRuns (line 730) | func TestGetCheckSuiteEventInfo_checkRuns(t *testing.T) { function TestGetCheckSuiteEventInfo_checkRunsEmpty (line 796) | func TestGetCheckSuiteEventInfo_checkRunsEmpty(t *testing.T) { function TestGetCheckSuiteEventInfo_checkRunsFailed (line 818) | func TestGetCheckSuiteEventInfo_checkRunsFailed(t *testing.T) { FILE: api/test_history.go type Subtest (line 14) | type Subtest type Browser (line 17) | type Browser type RequestBody (line 20) | type RequestBody struct function testHistoryHandler (line 25) | func testHistoryHandler(w http.ResponseWriter, r *http.Request) { FILE: api/test_history_test.go function TestHistoryHandler (line 22) | func TestHistoryHandler(t *testing.T) { function parseHistoryResponse (line 69) | func parseHistoryResponse(t *testing.T, w *httptest.ResponseRecorder) ma... FILE: api/test_run.go function apiTestRunHandler (line 20) | func apiTestRunHandler(w http.ResponseWriter, r *http.Request) { FILE: api/test_run_medium_test.go function TestGetTestRunByID (line 18) | func TestGetTestRunByID(t *testing.T) { FILE: api/test_runs.go constant nextPageTokenHeaderName (line 17) | nextPageTokenHeaderName = "wpt-next-page" constant paginationTokenFeatureFlagName (line 18) | paginationTokenFeatureFlagName = "paginationTokens" function apiTestRunsHandler (line 24) | func apiTestRunsHandler(w http.ResponseWriter, r *http.Request) { function LoadTestRunKeysForFilters (line 114) | func LoadTestRunKeysForFilters(store shared.Datastore, filters shared.Te... function LoadTestRunsForFilters (line 154) | func LoadTestRunsForFilters( function getPRCommits (line 166) | func getPRCommits(aeAPI shared.AppEngineAPI, pr int) shared.SHAs { FILE: api/test_runs_medium_test.go function TestGetTestRuns_VersionPrefix (line 21) | func TestGetTestRuns_VersionPrefix(t *testing.T) { function TestGetTestRuns_RunIDs (line 94) | func TestGetTestRuns_RunIDs(t *testing.T) { function TestGetTestRuns_SHA (line 143) | func TestGetTestRuns_SHA(t *testing.T) { function TestGetTestRuns_Pagination (line 217) | func TestGetTestRuns_Pagination(t *testing.T) { FILE: api/user.go type loginSuccessResponse (line 14) | type loginSuccessResponse struct type loginFailureResponse (line 18) | type loginFailureResponse struct function apiUserHandler (line 22) | func apiUserHandler(w http.ResponseWriter, r *http.Request) { FILE: api/versions.go type VersionsHandler (line 19) | type VersionsHandler struct method ServeHTTP (line 38) | func (h VersionsHandler) ServeHTTP(w http.ResponseWriter, r *http.Requ... function apiVersionsHandler (line 24) | func apiVersionsHandler(w http.ResponseWriter, r *http.Request) { FILE: api/versions_medium_test.go function TestApiVersionsHandler (line 17) | func TestApiVersionsHandler(t *testing.T) { FILE: results-processor/config.py function _is_prod (line 4) | def _is_prod() -> bool: function raw_results_bucket (line 8) | def raw_results_bucket() -> str: function results_bucket (line 15) | def results_bucket() -> str: function project_baseurl (line 22) | def project_baseurl() -> str: FILE: results-processor/gsutil.py function _call (line 13) | def _call(command: List[str]) -> None: function split_gcs_path (line 18) | def split_gcs_path(gcs_path: str) -> Tuple[str, str]: function gs_to_public_url (line 27) | def gs_to_public_url(gs_url: str) -> str: function copy (line 33) | def copy( FILE: results-processor/main.py function _atomic_write (line 36) | def _atomic_write(path: str, content: str) -> None: function _serial_task (line 48) | def _serial_task(func: F) -> F: function _internal_only (line 65) | def _internal_only(func: F) -> F: function liveness_check (line 79) | def liveness_check() -> ResponseReturnValue: function readiness_check (line 98) | def readiness_check() -> ResponseReturnValue: function task_handler (line 113) | def task_handler() -> ResponseReturnValue: FILE: results-processor/processor.py class Processor (line 32) | class Processor(object): method __init__ (line 40) | def __init__(self) -> None: method __enter__ (line 55) | def __enter__(self) -> Self: method __exit__ (line 60) | def __exit__( method datastore (line 70) | def datastore(self) -> datastore.Client: method auth (line 77) | def auth(self) -> Tuple[str, str]: method raw_results_gs_url (line 86) | def raw_results_gs_url(self) -> str: method raw_results_url (line 91) | def raw_results_url(self) -> str: method results_gs_url (line 95) | def results_gs_url(self) -> str: method results_url (line 100) | def results_url(self) -> str: method check_existing_run (line 103) | def check_existing_run(self) -> bool: method known_extension (line 120) | def known_extension(path: str) -> Optional[str]: method _secret (line 128) | def _secret(self, token_name: str) -> str: method _github_token (line 136) | def _github_token(self) -> str: method _download_gcs (line 139) | def _download_gcs(self, gcs: str) -> str: method _download_http (line 148) | def _download_http(self, url: str) -> Optional[str]: method _download_single (line 191) | def _download_single(self, uri: str) -> Optional[str]: method _download_archive (line 196) | def _download_archive(self, archive_url: str) -> None: method download (line 212) | def download( method load_report (line 235) | def load_report(self) -> None: method upload_raw (line 240) | def upload_raw(self) -> None: method upload_split (line 247) | def upload_split(self) -> None: method create_run (line 271) | def create_run( method update_status (line 297) | def update_status( method run_hooks (line 338) | def run_hooks(self, tasks: List[Callable[[Self], None]]) -> None: function _upload_screenshots (line 356) | def _upload_screenshots(processor: Processor) -> None: function process_report (line 365) | def process_report(task_id: Optional[str], params: MultiDict[str, str]) ... FILE: results-processor/processor_test.py class ProcessorTest (line 17) | class ProcessorTest(unittest.TestCase): method fake_download (line 18) | def fake_download(self, expected_path, response): method test_known_extension (line 26) | def test_known_extension(self): method test_download (line 40) | def test_download(self): method test_download_azure (line 54) | def test_download_azure(self): method test_download_azure_errors (line 72) | def test_download_azure_errors(self): method test_download_github (line 88) | def test_download_github(self): method test_download_numberless (line 103) | def test_download_numberless(self): class MockProcessorTest (line 119) | class MockProcessorTest(unittest.TestCase): method test_params_plumbing_success (line 121) | def test_params_plumbing_success(self, MockProcessor): method test_params_plumbing_error (line 159) | def test_params_plumbing_error(self, MockProcessor): method test_params_plumbing_empty (line 185) | def test_params_plumbing_empty(self, MockProcessor): method test_params_plumbing_duplicate (line 205) | def test_params_plumbing_duplicate(self, MockProcessor): class ProcessorDownloadServerTest (line 227) | class ProcessorDownloadServerTest(unittest.TestCase): method setUp (line 232) | def setUp(self): method tearDown (line 235) | def tearDown(self): method test_download_single (line 239) | def test_download_single(self): method test_download (line 247) | def test_download(self): method test_download_content_disposition (line 265) | def test_download_content_disposition(self): class ProcessorAPIServerTest (line 273) | class ProcessorAPIServerTest(unittest.TestCase): method setUp (line 278) | def setUp(self): method tearDown (line 281) | def tearDown(self): method test_update_status (line 285) | def test_update_status(self): method test_create_run (line 307) | def test_create_run(self): FILE: results-processor/test_server.py function screenshots_upload (line 22) | def screenshots_upload(): function slow (line 32) | def slow(): function download_attachment (line 38) | def download_attachment(): function download_json (line 45) | def download_json(): function echo_status (line 50) | def echo_status(run_id): function echo_create (line 62) | def echo_create(): FILE: results-processor/test_util.py function start_server (line 12) | def start_server(capture): FILE: results-processor/wptreport.py class RunInfo (line 64) | class RunInfo(TypedDict, total=False): class SubtestResult (line 73) | class SubtestResult(TypedDict, total=False): class TestResult (line 78) | class TestResult(TypedDict, total=False): class RawWPTReport (line 84) | class RawWPTReport(TypedDict, total=False): class TestRunMetadata (line 91) | class TestRunMetadata(TypedDict): class WPTReportError (line 106) | class WPTReportError(Exception): method __init__ (line 108) | def __init__(self, message: str, method __str__ (line 113) | def __str__(self) -> str: class InvalidJSONError (line 120) | class InvalidJSONError(WPTReportError): method __init__ (line 121) | def __init__(self) -> None: class MissingMetadataError (line 125) | class MissingMetadataError(WPTReportError): method __init__ (line 126) | def __init__(self, key: str) -> None: class InsufficientDataError (line 133) | class InsufficientDataError(WPTReportError): method __init__ (line 134) | def __init__(self) -> None: class ConflictingDataError (line 138) | class ConflictingDataError(WPTReportError): method __init__ (line 139) | def __init__(self, key: str) -> None: class BufferedHashsum (line 145) | class BufferedHashsum(object): method __init__ (line 148) | def __init__(self, method hash_file (line 155) | def hash_file(self, fileobj: IO[bytes]) -> None: method hashsum (line 173) | def hashsum(self) -> str: class WPTReport (line 178) | class WPTReport(object): method __init__ (line 181) | def __init__(self) -> None: method _add_chunk (line 189) | def _add_chunk(self, chunk: RawWPTReport) -> None: method load_file (line 254) | def load_file(self, filename: str) -> None: method load_json (line 267) | def load_json(self, fileobj: IO[bytes]) -> None: method load_gzip_json (line 295) | def load_gzip_json(self, fileobj: IO[bytes]) -> None: method update_metadata (line 305) | def update_metadata( method write_json (line 327) | def write_json(fileobj: IO[bytes], payload: Any) -> None: method write_gzip_json (line 342) | def write_gzip_json(filepath: str, payload: Any) -> None: method results (line 357) | def results(self) -> List[TestResult]: method run_info (line 362) | def run_info(self) -> RunInfo: method hashsum (line 366) | def hashsum(self) -> str: method summarize (line 370) | def summarize(self) -> Dict[str, Dict[str, Any]]: method each_result (line 402) | def each_result(self) -> Iterator[Any]: method write_summary (line 410) | def write_summary(self, filepath: str) -> None: method write_result_directory (line 418) | def write_result_directory(self, directory: str) -> None: method product_id (line 432) | def product_id(self, separator: str = '-', sanitize: bool = False) -> ... method populate_upload_directory (line 458) | def populate_upload_directory(self, method sha_product_path (line 484) | def sha_product_path(self) -> str: method sha_summary_path (line 494) | def sha_summary_path(self) -> str: method test_run_metadata (line 499) | def test_run_metadata(self) -> TestRunMetadata: method normalize_version (line 537) | def normalize_version(self) -> None: method finalize (line 543) | def finalize(self) -> None: method serialize_gzip (line 560) | def serialize_gzip(self, filepath: str) -> None: function _channel_to_labels (line 569) | def _channel_to_labels(browser: str, channel: str) -> Set[str]: function prepare_labels (line 611) | def prepare_labels(report: WPTReport, function normalize_product (line 655) | def normalize_product(report: WPTReport) -> Set[str]: function create_test_run (line 681) | def create_test_run( function main (line 733) | def main() -> None: FILE: results-processor/wptreport_test.py class WPTReportTest (line 24) | class WPTReportTest(unittest.TestCase): method setUp (line 25) | def setUp(self): method tearDown (line 28) | def tearDown(self): method test_write_json (line 31) | def test_write_json(self): method test_write_gzip_json (line 40) | def test_write_gzip_json(self): method test_load_json (line 55) | def test_load_json(self): method test_load_json_empty_report (line 67) | def test_load_json_empty_report(self): method test_load_json_invalid_json (line 76) | def test_load_json_invalid_json(self): method test_load_json_multiple_chunks (line 85) | def test_load_json_multiple_chunks(self): method test_load_json_multiple_chunks_metadata (line 104) | def test_load_json_multiple_chunks_metadata(self): method test_load_json_multiple_chunks_conflicting_data (line 146) | def test_load_json_multiple_chunks_conflicting_data(self): method test_load_json_multiple_chunks_ignored_conflicting_data (line 182) | def test_load_json_multiple_chunks_ignored_conflicting_data(self): method test_load_gzip_json (line 215) | def test_load_gzip_json(self): method test_summarize (line 237) | def test_summarize(self): method test_summarize_zero_results (line 265) | def test_summarize_zero_results(self): method test_summarize_duplicate_results (line 270) | def test_summarize_duplicate_results(self): method test_summarize_whitespaces (line 297) | def test_summarize_whitespaces(self): method test_each_result (line 318) | def test_each_result(self): method test_populate_upload_directory (line 369) | def test_populate_upload_directory(self): method test_update_metadata (line 412) | def test_update_metadata(self): method test_test_run_metadata (line 429) | def test_test_run_metadata(self): method test_test_run_metadata_missing_required_fields (line 447) | def test_test_run_metadata_missing_required_fields(self): method test_test_run_metadata_optional_fields (line 458) | def test_test_run_metadata_optional_fields(self): method test_product_id (line 482) | def test_product_id(self): method test_product_id_sanitize (line 498) | def test_product_id_sanitize(self): method test_sha_product_path (line 511) | def test_sha_product_path(self): method test_sha_summary_path (line 526) | def test_sha_summary_path(self): method test_normalize_version (line 541) | def test_normalize_version(self): method test_normalize_version_missing_version (line 549) | def test_normalize_version_missing_version(self): class HelpersTest (line 557) | class HelpersTest(unittest.TestCase): method test_prepare_labels_from_empty_str (line 558) | def test_prepare_labels_from_empty_str(self): method test_prepare_labels_from_custom_labels (line 566) | def test_prepare_labels_from_custom_labels(self): method test_prepare_labels_from_experimental_label (line 574) | def test_prepare_labels_from_experimental_label(self): method test_prepare_labels_from_stable_label (line 582) | def test_prepare_labels_from_stable_label(self): method test_prepare_labels_from_browser_channel (line 590) | def test_prepare_labels_from_browser_channel(self): method test_normalize_product_edge (line 648) | def test_normalize_product_edge(self): method test_normalize_product_edgechromium (line 664) | def test_normalize_product_edgechromium(self): method test_normalize_product_webkitgtk_minibrowser (line 680) | def test_normalize_product_webkitgtk_minibrowser(self): method test_normalize_product_wpewebkit_minibrowser (line 696) | def test_normalize_product_wpewebkit_minibrowser(self): method test_normalize_product_noop (line 712) | def test_normalize_product_noop(self): FILE: results-processor/wptscreenshot.py function _initialize (line 36) | def _initialize(api: str, function _upload (line 47) | def _upload(images: List[str]) -> None: class WPTScreenshot (line 67) | class WPTScreenshot(object): method __init__ (line 74) | def __init__(self, filename: str, method __enter__ (line 106) | def __enter__(self) -> Self: method __exit__ (line 119) | def __exit__( method process (line 132) | def process(self) -> None: FILE: results-processor/wptscreenshot_test.py class WPTScreenshotTest (line 15) | class WPTScreenshotTest(unittest.TestCase): method setUp (line 16) | def setUp(self): method tearDown (line 29) | def tearDown(self): method _batch_sizes (line 37) | def _batch_sizes(self, err_text): method test_basic (line 43) | def test_basic(self): method test_gzip (line 55) | def test_gzip(self): method test_invalid_encoding (line 68) | def test_invalid_encoding(self): method test_invalid_gzip (line 80) | def test_invalid_gzip(self): method test_multiple_batches (line 92) | def test_multiple_batches(self): method test_errors (line 106) | def test_errors(self): FILE: scripts/check_chromium_revision.py function trigger_ci_tests (line 35) | def trigger_ci_tests() -> str | None: function get_token (line 57) | def get_token() -> str | None: function get_start_revision (line 62) | def get_start_revision() -> int: function check_new_chromium_revision (line 74) | def check_new_chromium_revision() -> str: function main (line 148) | def main(args, _) -> None: FILE: scripts/process_test_history.py class TestHistoryEntry (line 51) | class TestHistoryEntry(ndb.Model): class MostRecentHistoryProcessed (line 60) | class MostRecentHistoryProcessed(ndb.Model): class TestRun (line 64) | class TestRun(ndb.Model): class MetadataDict (line 79) | class MetadataDict(TypedDict): function _build_new_test_history_entry (line 95) | def _build_new_test_history_entry( function create_entity_if_needed (line 111) | def create_entity_if_needed( function process_single_run (line 147) | def process_single_run(run_metadata: MetadataDict) -> None: function get_previous_statuses (line 239) | def get_previous_statuses(browser_name: str) -> Any: function update_previous_statuses (line 248) | def update_previous_statuses( function _populate_previous_statuses (line 270) | def _populate_previous_statuses(browser_name: str) -> dict: function should_process_run (line 295) | def should_process_run(run_metadata: MetadataDict) -> bool: function process_runs (line 303) | def process_runs( function get_aligned_run_info (line 351) | def get_aligned_run_info( function update_recent_processed_date (line 410) | def update_recent_processed_date( function set_history_start_date (line 419) | def set_history_start_date(new_date: str) -> None: class NoRecentDateError (line 441) | class NoRecentDateError(Exception): class DatastorePopulatedError (line 448) | class DatastorePopulatedError(Exception): function get_processing_start_date (line 455) | def get_processing_start_date() -> MostRecentHistoryProcessed: function check_if_db_empty (line 467) | def check_if_db_empty() -> None: function delete_history_entities (line 483) | def delete_history_entities(): function main (line 496) | def main(args=None, topic=None) -> str: FILE: scripts/update_chromium_revision.py function all_passing_checks (line 28) | def all_passing_checks(repo_owner: str, repo_name: str, pr_number: str) ... function update_pr_body (line 44) | def update_pr_body( function get_new_revision (line 68) | def get_new_revision() -> str: function update_chromium_revision (line 75) | def update_chromium_revision(new_revision) -> None: function get_github_api_headers (line 84) | def get_github_api_headers(): function get_token (line 92) | def get_token() -> str: function get_sha (line 97) | def get_sha(repo_owner: str, repo_name: str, pr_number: str) -> str: function main (line 107) | def main(args, _): FILE: shared/appengine.go type clientsImpl (line 33) | type clientsImpl struct method Init (line 51) | func (c *clientsImpl) Init(ctx context.Context) (err error) { method Close (line 115) | func (c *clientsImpl) Close() { type AppEngineAPI (line 165) | type AppEngineAPI interface function init (line 228) | func init() { function isDevAppserver (line 254) | func isDevAppserver() bool { function NewAppEngineAPI (line 259) | func NewAppEngineAPI(ctx context.Context) AppEngineAPI { type appEngineAPIImpl (line 266) | type appEngineAPIImpl struct method Context (line 271) | func (a appEngineAPIImpl) Context() context.Context { method GetHTTPClient (line 275) | func (a appEngineAPIImpl) GetHTTPClient() *http.Client { method GetHTTPClientWithTimeout (line 280) | func (a appEngineAPIImpl) GetHTTPClientWithTimeout(timeout time.Durati... method GetGitHubClient (line 284) | func (a *appEngineAPIImpl) GetGitHubClient() (*github.Client, error) { method IsFeatureEnabled (line 295) | func (a appEngineAPIImpl) IsFeatureEnabled(featureName string) bool { method GetUploader (line 300) | func (a appEngineAPIImpl) GetUploader(uploader string) (Uploader, erro... method GetHostname (line 305) | func (a appEngineAPIImpl) GetHostname() string { method GetVersion (line 316) | func (a appEngineAPIImpl) GetVersion() string { method GetVersionedHostname (line 323) | func (a appEngineAPIImpl) GetVersionedHostname() string { method GetServiceHostname (line 330) | func (a appEngineAPIImpl) GetServiceHostname(service string) string { method GetResultsURL (line 337) | func (a appEngineAPIImpl) GetResultsURL(filter TestRunFilter) *url.URL { method GetRunsURL (line 341) | func (a appEngineAPIImpl) GetRunsURL(filter TestRunFilter) *url.URL { method GetResultsUploadURL (line 345) | func (a appEngineAPIImpl) GetResultsUploadURL() *url.URL { method ScheduleTask (line 350) | func (a appEngineAPIImpl) ScheduleTask(queueName, taskName, target str... function getURL (line 375) | func getURL(host, path string, filter TestRunFilter) *url.URL { function createTaskRequest (line 381) | func createTaskRequest(queueName, taskName, target string, params url.Va... FILE: shared/appengine_test.go function TestCreateTaskRequest (line 17) | func TestCreateTaskRequest(t *testing.T) { FILE: shared/browsers.go function init (line 22) | func init() { function GetDefaultBrowserNames (line 34) | func GetDefaultBrowserNames() []string { function IsBrowserName (line 43) | func IsBrowserName(name string) bool { function IsStableBrowserName (line 50) | func IsStableBrowserName(name string) bool { FILE: shared/browsers_test.go function TestGetDefaultBrowserNames (line 17) | func TestGetDefaultBrowserNames(t *testing.T) { function TestIsBrowserName (line 41) | func TestIsBrowserName(t *testing.T) { function TestIsBrowserName_DefaultBrowsers (line 65) | func TestIsBrowserName_DefaultBrowsers(t *testing.T) { FILE: shared/cache.go type Readable (line 35) | type Readable interface type ReadWritable (line 42) | type ReadWritable interface type httpReadable (line 49) | type httpReadable struct method NewReadCloser (line 53) | func (hr httpReadable) NewReadCloser(iURL interface{}) (io.ReadCloser,... function NewHTTPReadable (line 73) | func NewHTTPReadable(ctx context.Context) Readable { type compositeReadWriteCloser (line 77) | type compositeReadWriteCloser struct method Read (line 84) | func (crwc compositeReadWriteCloser) Read(p []byte) (n int, err error) { method Write (line 88) | func (crwc compositeReadWriteCloser) Write(p []byte) (n int, err error) { method Close (line 92) | func (crwc compositeReadWriteCloser) Close() error { type gzipReadWritable (line 99) | type gzipReadWritable struct method NewReadCloser (line 103) | func (gz gzipReadWritable) NewReadCloser(iID interface{}) (io.ReadClos... method NewWriteCloser (line 126) | func (gz gzipReadWritable) NewWriteCloser(iID interface{}) (io.WriteCl... function NewGZReadWritable (line 147) | func NewGZReadWritable(delegate ReadWritable) ReadWritable { type redisReadWritable (line 151) | type redisReadWritable struct method NewReadCloser (line 164) | func (mc redisReadWritable) NewReadCloser(iKey interface{}) (io.ReadCl... method NewWriteCloser (line 189) | func (mc redisReadWritable) NewWriteCloser(iKey interface{}) (io.Write... type redisWriteCloser (line 156) | type redisWriteCloser struct method Write (line 197) | func (mw *redisWriteCloser) Write(p []byte) (n int, err error) { method Close (line 205) | func (mw *redisWriteCloser) Close() error { function NewRedisReadWritable (line 220) | func NewRedisReadWritable(ctx context.Context, expiry time.Duration) Rea... type CachedStore (line 227) | type CachedStore interface type byteCachedStore (line 231) | type byteCachedStore struct method Get (line 237) | func (cs byteCachedStore) Get(cacheID, storeID, iValue interface{}) er... function NewByteCachedStore (line 311) | func NewByteCachedStore(ctx context.Context, cache ReadWritable, store R... type ObjectStore (line 316) | type ObjectStore interface type ObjectCache (line 322) | type ObjectCache interface type jsonObjectCache (line 327) | type jsonObjectCache struct method Get (line 332) | func (oc jsonObjectCache) Get(id, value interface{}) error { method Put (line 353) | func (oc jsonObjectCache) Put(id, value interface{}) error { function NewJSONObjectCache (line 382) | func NewJSONObjectCache(ctx context.Context, delegate ReadWritable) Obje... type objectCachedStore (line 386) | type objectCachedStore struct method Get (line 392) | func (cs objectCachedStore) Get(cacheID, storeID, value interface{}) e... function NewObjectCachedStore (line 421) | func NewObjectCachedStore(ctx context.Context, cache ObjectCache, store ... function FlushCache (line 426) | func FlushCache() error { function DeleteCache (line 439) | func DeleteCache(key string) error { type RedisSet (line 452) | type RedisSet interface type redisSetReadWritable (line 464) | type redisSetReadWritable struct method Add (line 471) | func (ms redisSetReadWritable) Add(key string, value string) error { method Remove (line 483) | func (ms redisSetReadWritable) Remove(key string, value string) error { method GetAll (line 495) | func (ms redisSetReadWritable) GetAll(key string) ([]string, error) { function NewRedisSet (line 467) | func NewRedisSet() RedisSet { FILE: shared/cache_test.go function TestGet_cacheHit (line 19) | func TestGet_cacheHit(t *testing.T) { function TestGet_cacheMiss (line 39) | func TestGet_cacheMiss(t *testing.T) { function TestGet_missing (line 64) | func TestGet_missing(t *testing.T) { FILE: shared/datastore.go constant MaxKeysPerLookup (line 23) | MaxKeysPerLookup = 1000 type Key (line 26) | type Key interface type Iterator (line 33) | type Iterator interface type Query (line 38) | type Query interface type Datastore (line 51) | type Datastore interface function GetFeatureFlags (line 78) | func GetFeatureFlags(ds Datastore) (flags []Flag, err error) { function IsFeatureEnabled (line 89) | func IsFeatureEnabled(ds Datastore, flagName string) bool { function SetFeature (line 99) | func SetFeature(ds Datastore, flag Flag) error { function GetSecret (line 107) | func GetSecret(ds Datastore, tokenName string) (string, error) { FILE: shared/datastore_cached.go type cachedDatastore (line 16) | type cachedDatastore struct method Get (line 21) | func (d cachedDatastore) Get(k Key, dst interface{}) error { method GetMulti (line 33) | func (d cachedDatastore) GetMulti(keys []Key, dst interface{}) error { type testRunObjectStore (line 57) | type testRunObjectStore struct method Get (line 61) | func (d testRunObjectStore) Get(id, dst interface{}) error { FILE: shared/datastore_cloud.go type cloudKey (line 15) | type cloudKey struct method IntID (line 19) | func (k cloudKey) IntID() int64 { method StringID (line 23) | func (k cloudKey) StringID() string { method Kind (line 27) | func (k cloudKey) Kind() string { function NewAppEngineDatastore (line 37) | func NewAppEngineDatastore(ctx context.Context, cached bool) Datastore { function NewCloudDatastore (line 50) | func NewCloudDatastore(ctx context.Context, client *datastore.Client) Da... type cloudDatastore (line 57) | type cloudDatastore struct method TestRunQuery (line 62) | func (d cloudDatastore) TestRunQuery() TestRunQuery { method Context (line 66) | func (d cloudDatastore) Context() context.Context { method Done (line 70) | func (d cloudDatastore) Done() interface{} { method NewQuery (line 74) | func (d cloudDatastore) NewQuery(typeName string) Query { method NewIDKey (line 80) | func (d cloudDatastore) NewIDKey(typeName string, id int64) Key { method NewIncompleteKey (line 86) | func (d cloudDatastore) NewIncompleteKey(typeName string) Key { method ReserveID (line 92) | func (d cloudDatastore) ReserveID(typeName string) (Key, error) { method NewNameKey (line 104) | func (d cloudDatastore) NewNameKey(typeName string, name string) Key { method GetAll (line 110) | func (d cloudDatastore) GetAll(q Query, dst interface{}) ([]Key, error) { method Get (line 119) | func (d cloudDatastore) Get(k Key, dst interface{}) error { method GetMulti (line 128) | func (d cloudDatastore) GetMulti(keys []Key, dst interface{}) error { method Put (line 148) | func (d cloudDatastore) Put(key Key, src interface{}) (Key, error) { method PutMulti (line 153) | func (d cloudDatastore) PutMulti(keys []Key, src interface{}) ([]Key, ... method Insert (line 167) | func (d cloudDatastore) Insert(key Key, src interface{}) error { method Update (line 182) | func (d cloudDatastore) Update(key Key, dst interface{}, mutator func(... type cloudQuery (line 196) | type cloudQuery struct method Filter (line 200) | func (q cloudQuery) Filter(filterStr string, value interface{}) Query { method Project (line 204) | func (q cloudQuery) Project(fields ...string) Query { method Offset (line 208) | func (q cloudQuery) Offset(offset int) Query { method Limit (line 212) | func (q cloudQuery) Limit(limit int) Query { method Order (line 216) | func (q cloudQuery) Order(order string) Query { method KeysOnly (line 220) | func (q cloudQuery) KeysOnly() Query { method Distinct (line 224) | func (q cloudQuery) Distinct() Query { method Run (line 228) | func (q cloudQuery) Run(store Datastore) Iterator { type cloudIterator (line 235) | type cloudIterator struct method Next (line 239) | func (i cloudIterator) Next(dst interface{}) (Key, error) { FILE: shared/datastore_medium_test.go function TestIsFeatureEnabled (line 13) | func TestIsFeatureEnabled(t *testing.T) { function TestGetSecret (line 35) | func TestGetSecret(t *testing.T) { FILE: shared/errors.go type MultiError (line 14) | type MultiError struct method Error (line 47) | func (e MultiError) Error() string { method Count (line 60) | func (e MultiError) Count() int { method Errors (line 65) | func (e MultiError) Errors() []error { function NewMultiErrorFromChan (line 25) | func NewMultiErrorFromChan(errors chan error, when string) error { function NewMultiError (line 40) | func NewMultiError(errors []error, when string) error { FILE: shared/errors_test.go function TestNewMultiErrorFromChan_non_empty (line 16) | func TestNewMultiErrorFromChan_non_empty(t *testing.T) { function TestNewMultiErrorFromChan_nil (line 29) | func TestNewMultiErrorFromChan_nil(t *testing.T) { function TestNewMultiError_non_empty (line 45) | func TestNewMultiError_non_empty(t *testing.T) { function TestNewMultiError_nil (line 55) | func TestNewMultiError_nil(t *testing.T) { FILE: shared/fetch_bsf.go constant experimentalBSFURL (line 19) | experimentalBSFURL = "https://raw.githubusercontent.com/web-platform-tes... constant stableBSFURL (line 22) | stableBSFURL = "https://raw.githubusercontent.com/web-platform-tests/res... type BSFData (line 26) | type BSFData struct function FilterandExtractBSFData (line 42) | func FilterandExtractBSFData(rawBSFdata [][]string, from *time.Time, to ... type FetchBSF (line 94) | type FetchBSF interface type fetchBSF (line 98) | type fetchBSF struct method Fetch (line 101) | func (f fetchBSF) Fetch(isExperimental bool) ([][]string, error) { function NewFetchBSF (line 128) | func NewFetchBSF() FetchBSF { FILE: shared/fetch_bsf_test.go function TestFilterandExtractBSFData_WithoutFilter (line 15) | func TestFilterandExtractBSFData_WithoutFilter(t *testing.T) { function TestFilterandExtractBSFData_WithFilter (line 30) | func TestFilterandExtractBSFData_WithFilter(t *testing.T) { function TestFilterandExtractBSFData_EmptyData (line 54) | func TestFilterandExtractBSFData_EmptyData(t *testing.T) { FILE: shared/fetch_runs.go function FetchLatestRuns (line 18) | func FetchLatestRuns(wptdHost string) (TestRuns, error) { function FetchRuns (line 24) | func FetchRuns(wptdHost string, filter TestRunFilter) (TestRuns, error) { function FetchJSON (line 35) | func FetchJSON(url string, value interface{}) error { FILE: shared/github_oauth.go function init (line 22) | func init() { type User (line 28) | type User struct type GitHubAccessControl (line 34) | type GitHubAccessControl interface type githubAccessControlImpl (line 40) | type githubAccessControlImpl struct method isValidAccessToken (line 137) | func (gaci githubAccessControlImpl) isValidAccessToken() (bool, error) { method IsValidWPTMember (line 146) | func (gaci githubAccessControlImpl) IsValidWPTMember() (bool, error) { method IsValidAdmin (line 158) | func (gaci githubAccessControlImpl) IsValidAdmin() (bool, error) { type GitHubOAuth (line 55) | type GitHubOAuth interface type githubOAuthImpl (line 65) | type githubOAuthImpl struct method Datastore (line 72) | func (g *githubOAuthImpl) Datastore() Datastore { method Context (line 76) | func (g *githubOAuthImpl) Context() context.Context { method GetAccessToken (line 80) | func (g *githubOAuthImpl) GetAccessToken() string { method SetRedirectURL (line 84) | func (g *githubOAuthImpl) SetRedirectURL(url string) { method GetAuthCodeURL (line 88) | func (g *githubOAuthImpl) GetAuthCodeURL(state string, opts ...oauth2.... method NewClient (line 92) | func (g *githubOAuthImpl) NewClient(oauthCode string) (*github.Client,... method GetUser (line 105) | func (g *githubOAuthImpl) GetUser(client *github.Client) (*github.User... function NewGitHubOAuth (line 116) | func NewGitHubOAuth(ctx context.Context) (GitHubOAuth, error) { function NewGitHubAccessControl (line 178) | func NewGitHubAccessControl(ctx context.Context, ds Datastore, botClient... function NewGitHubAccessControlFromRequest (line 201) | func NewGitHubAccessControlFromRequest(aeAPI AppEngineAPI, ds Datastore,... function NewSecureCookie (line 216) | func NewSecureCookie(store Datastore) (*securecookie.SecureCookie, error) { function GetUserFromCookie (line 234) | func GetUserFromCookie(ctx context.Context, ds Datastore, r *http.Reques... function NewGitHubClientFromToken (line 259) | func NewGitHubClientFromToken(ctx context.Context, token string) *github... function getOAuthClientIDSecret (line 266) | func getOAuthClientIDSecret(store Datastore) (clientID, clientSecret str... FILE: shared/logger.go type Logger (line 16) | type Logger interface type LoggerCtxKey (line 24) | type LoggerCtxKey struct function DefaultLoggerCtxKey (line 30) | func DefaultLoggerCtxKey() LoggerCtxKey { function withLogger (line 35) | func withLogger(ctx context.Context, logger Logger) context.Context { type nilLogger (line 39) | type nilLogger struct method Debugf (line 43) | func (l nilLogger) Debugf(format string, args ...interface{}) {} method Errorf (line 45) | func (l nilLogger) Errorf(format string, args ...interface{}) {} method Infof (line 47) | func (l nilLogger) Infof(format string, args ...interface{}) {} method Warningf (line 49) | func (l nilLogger) Warningf(format string, args ...interface{}) {} function NewNilLogger (line 52) | func NewNilLogger() Logger { type gcLogger (line 56) | type gcLogger struct method log (line 62) | func (gcl *gcLogger) log(severity gclog.Severity, format string, param... method Debugf (line 76) | func (gcl *gcLogger) Debugf(format string, params ...interface{}) { method Infof (line 80) | func (gcl *gcLogger) Infof(format string, params ...interface{}) { method Warningf (line 84) | func (gcl *gcLogger) Warningf(format string, params ...interface{}) { method Errorf (line 88) | func (gcl *gcLogger) Errorf(format string, params ...interface{}) { type responseWriter (line 92) | type responseWriter struct method Header (line 97) | func (w *responseWriter) Header() http.Header { method Write (line 101) | func (w *responseWriter) Write(b []byte) (int, error) { method WriteHeader (line 111) | func (w *responseWriter) WriteHeader(statusCode int) { function HandleWithLogging (line 119) | func HandleWithLogging(h http.HandlerFunc) http.HandlerFunc { function withLocalLogger (line 130) | func withLocalLogger(h http.HandlerFunc, w http.ResponseWriter, r *http.... function withGCLogger (line 136) | func withGCLogger(h http.HandlerFunc, w http.ResponseWriter, r *http.Req... function GetLogger (line 169) | func GetLogger(ctx context.Context) Logger { FILE: shared/manifest.go type Manifest (line 18) | type Manifest struct method FilterByPath (line 42) | func (m Manifest) FilterByPath(paths ...string) (*Manifest, error) { method unmarshalAll (line 59) | func (m *Manifest) unmarshalAll() error { method ContainsFile (line 88) | func (m *Manifest) ContainsFile(path string) (bool, error) { method ContainsTest (line 108) | func (m *Manifest) ContainsTest(testURL string) (bool, error) { type rawManifestTrie (line 31) | type rawManifestTrie method MarshalJSON (line 33) | func (t rawManifestTrie) MarshalJSON() ([]byte, error) { method UnmarshalJSON (line 37) | func (t *rawManifestTrie) UnmarshalJSON(b []byte) error { method FilterByPath (line 154) | func (t rawManifestTrie) FilterByPath(pathParts []string) (rawManifest... function findNode (line 74) | func findNode(t interface{}, parts []string) interface{} { function explosions (line 175) | func explosions() map[string][]string { function implosions (line 190) | func implosions() [][]string { function ExplodePossibleRenames (line 203) | func ExplodePossibleRenames(before, after string) map[string]string { function ExplodePossibleFilenames (line 219) | func ExplodePossibleFilenames(filePath string) []string { function ParseTestURL (line 239) | func ParseTestURL(testURL string) (filePath, query string) { FILE: shared/manifest_test.go function TestManifestFilterByPath (line 55) | func TestManifestFilterByPath(t *testing.T) { function TestExplodePossibleFilename_AnyJS (line 94) | func TestExplodePossibleFilename_AnyJS(t *testing.T) { function TestExplodePossibleFilename_WindowJS (line 105) | func TestExplodePossibleFilename_WindowJS(t *testing.T) { function TestExplodePossibleFilename_Standard (line 113) | func TestExplodePossibleFilename_Standard(t *testing.T) { function TestExplodePossibleRenames_AnyJS (line 118) | func TestExplodePossibleRenames_AnyJS(t *testing.T) { function TestExplodePossibleRenames_WindowJS (line 130) | func TestExplodePossibleRenames_WindowJS(t *testing.T) { function TestExplodePossibleRenames_WorkerJS (line 139) | func TestExplodePossibleRenames_WorkerJS(t *testing.T) { function TestParseTestURL (line 148) | func TestParseTestURL(t *testing.T) { function TestManifestContainsFile (line 174) | func TestManifestContainsFile(t *testing.T) { function TestManifestContainsTest (line 214) | func TestManifestContainsTest(t *testing.T) { FILE: shared/metadata.go constant ShowMetadataParam (line 15) | ShowMetadataParam = "metadataInfo" constant MetadataFileName (line 18) | MetadataFileName = "META.yml" type MetadataResults (line 23) | type MetadataResults type Metadata (line 26) | type Metadata struct type MetadataLinks (line 31) | type MetadataLinks type MetadataLink (line 36) | type MetadataLink struct type MetadataTestResult (line 45) | type MetadataTestResult struct function GetMetadataResponse (line 55) | func GetMetadataResponse(testRuns []TestRun, includeTestLevel bool, log ... function GetMetadataResponseOnProducts (line 75) | func GetMetadataResponseOnProducts(productSpecs ProductSpecs, includeTes... function GetMetadataByteMap (line 88) | func GetMetadataByteMap(log Logger, fetcher MetadataFetcher) (sha *strin... function parseMetadata (line 99) | func parseMetadata(metadataByteMap map[string][]byte, log Logger) map[st... function addResponseLink (line 116) | func addResponseLink(fullTestName string, link MetadataLink, result Meta... function constructMetadataResponse (line 139) | func constructMetadataResponse(productSpecs ProductSpecs, includeTestLev... function PrepareLinkFilter (line 166) | func PrepareLinkFilter(metadata MetadataResults) map[string][]string { function PrepareTestLabelFilter (line 184) | func PrepareTestLabelFilter(metadata MetadataResults) map[string][]string { function GetWPTTestPath (line 203) | func GetWPTTestPath(folderPath string, testname string) string { function SplitWPTTestPath (line 211) | func SplitWPTTestPath(githubPath string) (string, string) { function GetMetadataFilePath (line 227) | func GetMetadataFilePath(folderName string) string { FILE: shared/metadata_test.go function TestMarshalMetadata (line 16) | func TestMarshalMetadata(t *testing.T) { function TestParseMetadata (line 48) | func TestParseMetadata(t *testing.T) { function TestConstructMetadataResponse_OneLink (line 93) | func TestConstructMetadataResponse_OneLink(t *testing.T) { function TestConstructMetadataResponse_NoMatchingLink (line 164) | func TestConstructMetadataResponse_NoMatchingLink(t *testing.T) { function TestConstructMetadataResponse_MultipleLinks (line 199) | func TestConstructMetadataResponse_MultipleLinks(t *testing.T) { function TestConstructMetadataResponse_OneMatchingBrowserVersion (line 245) | func TestConstructMetadataResponse_OneMatchingBrowserVersion(t *testing.... function TestConstructMetadataResponse_TestIssueMetadata (line 282) | func TestConstructMetadataResponse_TestIssueMetadata(t *testing.T) { function TestGetWPTTestPath (line 316) | func TestGetWPTTestPath(t *testing.T) { function TestGetWPTTestPath_EmptyFolder (line 321) | func TestGetWPTTestPath_EmptyFolder(t *testing.T) { function TestSplitWPTTestPath_InvalidPath (line 326) | func TestSplitWPTTestPath_InvalidPath(t *testing.T) { function TestSplitWPTTestPath_EmptyPath (line 332) | func TestSplitWPTTestPath_EmptyPath(t *testing.T) { function TestSplitWPTTestPath_NoFolderPath (line 338) | func TestSplitWPTTestPath_NoFolderPath(t *testing.T) { function TestSplitWPTTestPath_Success (line 344) | func TestSplitWPTTestPath_Success(t *testing.T) { function TestGetMetadataFilePath (line 354) | func TestGetMetadataFilePath(t *testing.T) { function TestPrepareLinkFilter (line 362) | func TestPrepareLinkFilter(t *testing.T) { function TestPrepareTestLabelFilter (line 391) | func TestPrepareTestLabelFilter(t *testing.T) { FILE: shared/metadata_util.go constant PendingMetadataCacheKey (line 24) | PendingMetadataCacheKey = "WPT-PENDING-METADATA" constant PendingMetadataCachePrefix (line 28) | PendingMetadataCachePrefix = "PENDING-PR-" constant SourceOwner (line 31) | SourceOwner string = "web-platform-tests" constant SourceRepo (line 34) | SourceRepo string = "wpt-metadata" constant baseBranch (line 35) | baseBranch string = "master" type MetadataFetcher (line 39) | type MetadataFetcher interface function GetWPTMetadataMasterSHA (line 44) | func GetWPTMetadataMasterSHA(ctx context.Context, gitHubClient *github.C... function GetWPTMetadataArchive (line 55) | func GetWPTMetadataArchive(client *http.Client, ref *string) (res map[st... function getWPTMetadataArchiveWithURL (line 60) | func getWPTMetadataArchiveWithURL(client *http.Client, url string, ref *... function parseMetadataFromGZip (line 84) | func parseMetadataFromGZip(gzip *gzip.Reader) (res map[string][]byte, er... FILE: shared/metadata_util_test.go function TestGetWPTMetadataArchiveWithURL (line 19) | func TestGetWPTMetadataArchiveWithURL(t *testing.T) { function TestParseMetadataFromGZip_Success (line 54) | func TestParseMetadataFromGZip_Success(t *testing.T) { FILE: shared/metrics/models.go type SubTest (line 18) | type SubTest struct type TestResults (line 25) | type TestResults struct type RunInfo (line 34) | type RunInfo struct method MarshalJSON (line 40) | func (r RunInfo) MarshalJSON() ([]byte, error) { type TestResultsReport (line 55) | type TestResultsReport struct type TestRunsMetadata (line 61) | type TestRunsMetadata struct method Load (line 72) | func (t *TestRunsMetadata) Load(ps []datastore.Property) error { method Save (line 83) | func (t *TestRunsMetadata) Save() ([]datastore.Property, error) { method LoadTestRuns (line 88) | func (t *TestRunsMetadata) LoadTestRuns(ctx context.Context) (err erro... type TestRunLegacy (line 98) | type TestRunLegacy struct method Load (line 125) | func (r *TestRunLegacy) Load(ps []datastore.Property) error { method Save (line 137) | func (r *TestRunLegacy) Save() ([]datastore.Property, error) { function ConvertRuns (line 142) | func ConvertRuns(runs shared.TestRuns) (converted []TestRunLegacy, err e... type TestRunsMetadataLegacy (line 155) | type TestRunsMetadataLegacy struct method LoadTestRuns (line 164) | func (t *TestRunsMetadataLegacy) LoadTestRuns(ctx context.Context) (er... method Load (line 178) | func (t *TestRunsMetadataLegacy) Load(ps []datastore.Property) error { method Save (line 189) | func (t *TestRunsMetadataLegacy) Save() ([]datastore.Property, error) { type PassRateMetadata (line 197) | type PassRateMetadata struct type PassRateMetadataLegacy (line 206) | type PassRateMetadataLegacy struct function GetDatastoreKindName (line 212) | func GetDatastoreKindName(data interface{}) string { FILE: shared/metrics/models_test.go function TestTestRunsLegacy_Convert (line 17) | func TestTestRunsLegacy_Convert(t *testing.T) { function TestGetDatastoreKindName (line 44) | func TestGetDatastoreKindName(t *testing.T) { FILE: shared/models.go type Product (line 17) | type Product struct method String (line 24) | func (p Product) String() string { type ByBrowserName (line 39) | type ByBrowserName method Len (line 41) | func (e ByBrowserName) Len() int { return len(e) } method Swap (line 42) | func (e ByBrowserName) Swap(i, j int) { e[i], e[j] = e[j], e[i] } method Less (line 43) | func (e ByBrowserName) Less(i, j int) bool { return e[i].BrowserName <... type Version (line 46) | type Version struct method String (line 54) | func (v Version) String() string { type ProductAtRevision (line 73) | type ProductAtRevision struct method String (line 85) | func (p ProductAtRevision) String() string { type TestRun (line 90) | type TestRun struct method IsExperimental (line 116) | func (r TestRun) IsExperimental() bool { method IsPRBase (line 121) | func (r TestRun) IsPRBase() bool { method hasLabel (line 125) | func (r TestRun) hasLabel(label string) bool { method Channel (line 130) | func (r TestRun) Channel() string { method Load (line 144) | func (r *TestRun) Load(ps []datastore.Property) error { method Save (line 156) | func (r *TestRun) Save() ([]datastore.Property, error) { method LabelsSet (line 328) | func (r TestRun) LabelsSet() mapset.Set { type PendingTestRunStage (line 161) | type PendingTestRunStage method String (line 179) | func (s PendingTestRunStage) String() string { method MarshalJSON (line 210) | func (s PendingTestRunStage) MarshalJSON() ([]byte, error) { method UnmarshalJSON (line 215) | func (s *PendingTestRunStage) UnmarshalJSON(b []byte) error { constant StageGitHubQueued (line 165) | StageGitHubQueued PendingTestRunStage = 100 constant StageGitHubInProgress (line 166) | StageGitHubInProgress PendingTestRunStage = 200 constant StageCIRunning (line 167) | StageCIRunning PendingTestRunStage = 300 constant StageCIFinished (line 168) | StageCIFinished PendingTestRunStage = 400 constant StageGitHubSuccess (line 169) | StageGitHubSuccess PendingTestRunStage = 500 constant StageGitHubFailure (line 170) | StageGitHubFailure PendingTestRunStage = 550 constant StageWptFyiReceived (line 171) | StageWptFyiReceived PendingTestRunStage = 600 constant StageWptFyiProcessing (line 172) | StageWptFyiProcessing PendingTestRunStage = 700 constant StageValid (line 173) | StageValid PendingTestRunStage = 800 constant StageInvalid (line 174) | StageInvalid PendingTestRunStage = 850 constant StageEmpty (line 175) | StageEmpty PendingTestRunStage = 851 constant StageDuplicate (line 176) | StageDuplicate PendingTestRunStage = 852 type PendingTestRun (line 256) | type PendingTestRun struct method Transition (line 270) | func (s *PendingTestRun) Transition(next PendingTestRunStage) error { method Load (line 280) | func (s *PendingTestRun) Load(ps []datastore.Property) error { method Save (line 291) | func (s *PendingTestRun) Save() ([]datastore.Property, error) { type PendingTestRunByUpdated (line 296) | type PendingTestRunByUpdated method Len (line 298) | func (a PendingTestRunByUpdated) Len() int { return len(a) } method Swap (line 299) | func (a PendingTestRunByUpdated) Swap(i, j int) { a[i], a[j] = a[... method Less (line 300) | func (a PendingTestRunByUpdated) Less(i, j int) bool { return a[i].Upd... type TestHistoryEntry (line 303) | type TestHistoryEntry struct type CheckSuite (line 315) | type CheckSuite struct type TestRuns (line 337) | type TestRuns method Len (line 339) | func (t TestRuns) Len() int { return len(t) } method Less (line 340) | func (t TestRuns) Less(i, j int) bool { return t[i].TimeStart.Before(t... method Swap (line 341) | func (t TestRuns) Swap(i, j int) { t[i], t[j] = t[j], t[i] } method SetTestRunIDs (line 344) | func (t TestRuns) SetTestRunIDs(ids TestRunIDs) { method GetTestRunIDs (line 351) | func (t TestRuns) GetTestRunIDs() TestRunIDs { method OldestRunTimeStart (line 360) | func (t TestRuns) OldestRunTimeStart() time.Time { type ProductTestRuns (line 374) | type ProductTestRuns struct type TestRunsByProduct (line 381) | type TestRunsByProduct method AllRuns (line 384) | func (t TestRunsByProduct) AllRuns() TestRuns { method First (line 393) | func (t TestRunsByProduct) First() *TestRun { type ProductTestRunKeys (line 402) | type ProductTestRunKeys struct type KeysByProduct (line 409) | type KeysByProduct method AllKeys (line 412) | func (t KeysByProduct) AllKeys() []Key { type TestRunIDs (line 421) | type TestRunIDs method GetKeys (line 433) | func (ids TestRunIDs) GetKeys(store Datastore) []Key { method LoadTestRuns (line 443) | func (ids TestRunIDs) LoadTestRuns(store Datastore) (testRuns TestRuns... function GetTestRunIDs (line 424) | func GetTestRunIDs(keys []Key) TestRunIDs { type Browser (line 456) | type Browser struct type Token (line 467) | type Token struct type Uploader (line 473) | type Uploader struct type Flag (line 479) | type Flag struct type LegacySearchRunResult (line 488) | type LegacySearchRunResult struct type SearchResult (line 504) | type SearchResult struct type SearchResponse (line 528) | type SearchResponse struct FILE: shared/models_test.go function TestTestRunIDs_LoadTestRuns (line 13) | func TestTestRunIDs_LoadTestRuns(t *testing.T) { FILE: shared/params.go type QueryFilter (line 26) | type QueryFilter struct constant MaxCountMaxValue (line 32) | MaxCountMaxValue = 500 constant MaxCountMinValue (line 35) | MaxCountMinValue = 1 function ParseSHAParam (line 41) | func ParseSHAParam(v url.Values) (SHAs, error) { function ParseSHA (line 55) | func ParseSHA(shaParam string) (sha string, err error) { function ParseProductSpecs (line 68) | func ParseProductSpecs(specs ...string) (products ProductSpecs, err erro... function splitAtNonMainAt (line 84) | func splitAtNonMainAt(stringInput string) []string { function ParseProductSpec (line 111) | func ParseProductSpec(spec string) (productSpec ProductSpec, err error) { function ParseProductSpecUnsafe (line 154) | func ParseProductSpecUnsafe(s string) ProductSpec { function ParseProduct (line 160) | func ParseProduct(product string) (result Product, err error) { function ParseVersion (line 190) | func ParseVersion(version string) (result *Version, err error) { function ParseBrowserParam (line 237) | func ParseBrowserParam(v url.Values) (product *Product, err error) { function ParseBrowsersParam (line 253) | func ParseBrowsersParam(v url.Values) (browsers []string, err error) { function ParseProductParam (line 268) | func ParseProductParam(v url.Values) (product *ProductSpec, err error) { function ParseProductsParam (line 283) | func ParseProductsParam(v url.Values) (ProductSpecs, error) { function ParseProductOrBrowserParams (line 305) | func ParseProductOrBrowserParams(v url.Values) (products ProductSpecs, e... function ParseMaxCountParam (line 323) | func ParseMaxCountParam(v url.Values) (*int, error) { function ParseOffsetParam (line 341) | func ParseOffsetParam(v url.Values) (*int, error) { function ParseMaxCountParamWithDefault (line 354) | func ParseMaxCountParamWithDefault(v url.Values, defaultValue int) (coun... function ParseViewParam (line 364) | func ParseViewParam(v url.Values) (*string, error) { function ParseDateTimeParam (line 373) | func ParseDateTimeParam(v url.Values, name string) (*time.Time, error) { type DiffFilterParam (line 389) | type DiffFilterParam struct method String (line 407) | func (d DiffFilterParam) String() string { function ParseDiffFilterParams (line 427) | func ParseDiffFilterParams(v url.Values) (param DiffFilterParam, paths m... function ParsePathsParam (line 456) | func ParsePathsParam(v url.Values) []string { function ParseLabelsParam (line 462) | func ParseLabelsParam(v url.Values) []string { function ParseRepeatedParam (line 469) | func ParseRepeatedParam(v url.Values, singular string, plural string) (p... function parseRepeatedParamValues (line 475) | func parseRepeatedParamValues(repeatedParam []string, pluralParam string... function ParseIntParam (line 498) | func ParseIntParam(v url.Values, param string) (*int, error) { function ParseRepeatedInt64Param (line 511) | func ParseRepeatedInt64Param(v url.Values, singular, plural string) (par... function ParseQueryParamInt (line 528) | func ParseQueryParamInt(v url.Values, key string) (*int, error) { function ParseAlignedParam (line 541) | func ParseAlignedParam(v url.Values) (aligned *bool, err error) { function ParseBooleanParam (line 552) | func ParseBooleanParam(v url.Values, name string) (result *bool, err err... function ParseRunIDsParam (line 567) | func ParseRunIDsParam(v url.Values) (ids TestRunIDs, err error) { function ParsePRParam (line 573) | func ParsePRParam(v url.Values) (*int, error) { function ParseQueryFilterParams (line 578) | func ParseQueryFilterParams(v url.Values) (filter QueryFilter, err error) { function ParseTestRunFilterParams (line 591) | func ParseTestRunFilterParams(v url.Values) (filter TestRunFilter, err e... function ParseBeforeAndAfterParams (line 634) | func ParseBeforeAndAfterParams(v url.Values) (ProductSpecs, error) { function ParsePageToken (line 662) | func ParsePageToken(v url.Values) (*TestRunFilter, error) { function ExtractRunIDsBodyParam (line 681) | func ExtractRunIDsBodyParam(r *http.Request, replay bool) (TestRunIDs, e... FILE: shared/params_test.go function TestParseSHAParam (line 24) | func TestParseSHAParam(t *testing.T) { function TestParseSHAParam_Latest (line 31) | func TestParseSHAParam_Latest(t *testing.T) { function TestParseSHAParam_ShortSHA (line 38) | func TestParseSHAParam_ShortSHA(t *testing.T) { function TestParseSHAParam_FullSHA (line 46) | func TestParseSHAParam_FullSHA(t *testing.T) { function TestParseSHAParam_TooShortSHA (line 54) | func TestParseSHAParam_TooShortSHA(t *testing.T) { function TestParseSHAParam_TooLongSHA (line 60) | func TestParseSHAParam_TooLongSHA(t *testing.T) { function TestParseSHAParam_NonSHAs (line 67) | func TestParseSHAParam_NonSHAs(t *testing.T) { function TestParseSHAParam_Multiple (line 77) | func TestParseSHAParam_Multiple(t *testing.T) { function TestParseBrowserParam (line 90) | func TestParseBrowserParam(t *testing.T) { function TestParseBrowserParam_Chrome (line 97) | func TestParseBrowserParam_Chrome(t *testing.T) { function TestParseBrowserParam_Invalid (line 105) | func TestParseBrowserParam_Invalid(t *testing.T) { function TestGetProductsOrDefault_Default (line 112) | func TestGetProductsOrDefault_Default(t *testing.T) { function TestGetProductsOrDefault_BrowserParam_ChromeSafari (line 124) | func TestGetProductsOrDefault_BrowserParam_ChromeSafari(t *testing.T) { function TestGetProductsOrDefault_BrowserParam_ChromeInvalid (line 134) | func TestGetProductsOrDefault_BrowserParam_ChromeInvalid(t *testing.T) { function TestGetProductsOrDefault_BrowserParam_EmptyCommas (line 140) | func TestGetProductsOrDefault_BrowserParam_EmptyCommas(t *testing.T) { function TestGetProductsOrDefault_BrowserParam_SafariChrome (line 150) | func TestGetProductsOrDefault_BrowserParam_SafariChrome(t *testing.T) { function TestGetProductsOrDefault_BrowserParam_WebKitNightly (line 160) | func TestGetProductsOrDefault_BrowserParam_WebKitNightly(t *testing.T) { function TestGetProductsOrDefault_BrowserParam_MultiBrowserParam_SafariChrome (line 174) | func TestGetProductsOrDefault_BrowserParam_MultiBrowserParam_SafariChrom... function TestGetProductsOrDefault_BrowserParam_MultiBrowserParam_SafariInvalid (line 184) | func TestGetProductsOrDefault_BrowserParam_MultiBrowserParam_SafariInval... function TestGetProductsOrDefault_BrowserAndProductParam (line 190) | func TestGetProductsOrDefault_BrowserAndProductParam(t *testing.T) { function TestGetProductsOrDefault_BrowsersAndProductsParam (line 201) | func TestGetProductsOrDefault_BrowsersAndProductsParam(t *testing.T) { function TestParseMaxCountParam_Missing (line 214) | func TestParseMaxCountParam_Missing(t *testing.T) { function TestParseMaxCountParam_TooSmall (line 225) | func TestParseMaxCountParam_TooSmall(t *testing.T) { function TestParseMaxCountParam_TooLarge (line 237) | func TestParseMaxCountParam_TooLarge(t *testing.T) { function TestParseMaxCountParam (line 249) | func TestParseMaxCountParam(t *testing.T) { function TestParseDateTimeParam (line 256) | func TestParseDateTimeParam(t *testing.T) { function TestParsePathsParam_Missing (line 295) | func TestParsePathsParam_Missing(t *testing.T) { function TestParsePathsParam_Empty (line 301) | func TestParsePathsParam_Empty(t *testing.T) { function TestParsePathsParam_Path_Duplicate (line 311) | func TestParsePathsParam_Path_Duplicate(t *testing.T) { function TestParsePathsParam_Paths_Duplicate (line 317) | func TestParsePathsParam_Paths_Duplicate(t *testing.T) { function TestParsePathsParam_PathsAndPath_Duplicate (line 323) | func TestParsePathsParam_PathsAndPath_Duplicate(t *testing.T) { function TestParsePathsParam_Paths_DiffFilter (line 329) | func TestParsePathsParam_Paths_DiffFilter(t *testing.T) { function TestParseDiffFilterParam (line 336) | func TestParseDiffFilterParam(t *testing.T) { function TestParseDiffFilterParam_Empty (line 366) | func TestParseDiffFilterParam_Empty(t *testing.T) { function TestParseDiffFilterParam_Invalid (line 373) | func TestParseDiffFilterParam_Invalid(t *testing.T) { function TestParseLabelsParam_Missing (line 379) | func TestParseLabelsParam_Missing(t *testing.T) { function TestParseLabelsParam_Empty (line 385) | func TestParseLabelsParam_Empty(t *testing.T) { function TestParseLabelsParam_Label_Duplicate (line 395) | func TestParseLabelsParam_Label_Duplicate(t *testing.T) { function TestParseLabelsParam_Labels_Duplicate (line 401) | func TestParseLabelsParam_Labels_Duplicate(t *testing.T) { function TestParseLabelsParam_LabelsAndLabel_Duplicate (line 407) | func TestParseLabelsParam_LabelsAndLabel_Duplicate(t *testing.T) { function valuePtr (line 414) | func valuePtr[T any](in T) *T { function TestParseViewParam (line 418) | func TestParseViewParam(t *testing.T) { function TestParseVersion (line 462) | func TestParseVersion(t *testing.T) { function TestParseProductSpec (line 499) | func TestParseProductSpec(t *testing.T) { function TestParseProductSpec_FullSHA (line 510) | func TestParseProductSpec_FullSHA(t *testing.T) { function TestParseProductSpec_BrowserVersion (line 522) | func TestParseProductSpec_BrowserVersion(t *testing.T) { function TestParseProductSpec_OS (line 547) | func TestParseProductSpec_OS(t *testing.T) { function TestParseProductSpec_OSVersion (line 556) | func TestParseProductSpec_OSVersion(t *testing.T) { function TestParseProductSpec_Labels (line 566) | func TestParseProductSpec_Labels(t *testing.T) { function TestParseProductSpec_String (line 596) | func TestParseProductSpec_String(t *testing.T) { function TestParseProductSpec_Plural (line 602) | func TestParseProductSpec_Plural(t *testing.T) { function TestParseAligned (line 618) | func TestParseAligned(t *testing.T) { function TestParseRunIDsParam_nil (line 636) | func TestParseRunIDsParam_nil(t *testing.T) { function TestParseRunIDsParam_ok (line 643) | func TestParseRunIDsParam_ok(t *testing.T) { function TestParseRunIDsParam_err (line 660) | func TestParseRunIDsParam_err(t *testing.T) { function TestParseQueryFilterParams_nil (line 672) | func TestParseQueryFilterParams_nil(t *testing.T) { function TestParseQueryFilterParams_runIDs (line 679) | func TestParseQueryFilterParams_runIDs(t *testing.T) { function TestParseQueryFilterParams_q (line 688) | func TestParseQueryFilterParams_q(t *testing.T) { function TestParseQueryFilterParams_aligned (line 697) | func TestParseQueryFilterParams_aligned(t *testing.T) { function TestParseQueryFilterParams_err (line 707) | func TestParseQueryFilterParams_err(t *testing.T) { function TestParseTestRunFilterParams (line 713) | func TestParseTestRunFilterParams(t *testing.T) { function TestParseTestRunFilterParams_Invalid (line 730) | func TestParseTestRunFilterParams_Invalid(t *testing.T) { function TestProductSpecMatches (line 736) | func TestProductSpecMatches(t *testing.T) { function TestProductSpecMatches_Labels (line 760) | func TestProductSpecMatches_Labels(t *testing.T) { function TestProductSpecMatches_Revision (line 771) | func TestProductSpecMatches_Revision(t *testing.T) { function TestMatchesProductSpec_Labels (line 788) | func TestMatchesProductSpec_Labels(t *testing.T) { function TestParsePageToken (line 801) | func TestParsePageToken(t *testing.T) { function TestExtractRunIDsBodyParam_ParseError (line 820) | func TestExtractRunIDsBodyParam_ParseError(t *testing.T) { function TestExtractRunIDsBodyParam_MissingRunIDs (line 828) | func TestExtractRunIDsBodyParam_MissingRunIDs(t *testing.T) { function TestExtractRunIDsBodyParam_NonInt (line 836) | func TestExtractRunIDsBodyParam_NonInt(t *testing.T) { function TestExtractRunIDsBodyParam_OK (line 851) | func TestExtractRunIDsBodyParam_OK(t *testing.T) { function TestExtractRunIDsBodyParam_Replayable (line 862) | func TestExtractRunIDsBodyParam_Replayable(t *testing.T) { function TestParseTestRunFilterParams_Page (line 871) | func TestParseTestRunFilterParams_Page(t *testing.T) { FILE: shared/product_spec.go type ProductSpec (line 16) | type ProductSpec struct method Matches (line 23) | func (p ProductSpec) Matches(run TestRun) bool { method MatchesProductSpec (line 29) | func (p ProductSpec) MatchesProductSpec(productSpec ProductSpec) bool { method MatchesLabels (line 36) | func (p ProductSpec) MatchesLabels(labels mapset.Set) bool { method MatchesProductAtRevision (line 46) | func (p ProductSpec) MatchesProductAtRevision(productAtRevision Produc... method IsExperimental (line 66) | func (p ProductSpec) IsExperimental() bool { method DisplayName (line 71) | func (p ProductSpec) DisplayName() string { method String (line 144) | func (p ProductSpec) String() string { method MarshalJSON (line 168) | func (p ProductSpec) MarshalJSON() ([]byte, error) { method UnmarshalJSON (line 173) | func (p *ProductSpec) UnmarshalJSON(data []byte) (err error) { method UnmarshalYAML (line 183) | func (p *ProductSpec) UnmarshalYAML(unmarshal func(interface{}) error)... method MarshalYAML (line 193) | func (p ProductSpec) MarshalYAML() (interface{}, error) { type ProductSpecs (line 115) | type ProductSpecs method Products (line 118) | func (p ProductSpecs) Products() []Product { method OrDefault (line 127) | func (p ProductSpecs) OrDefault() ProductSpecs { method Strings (line 136) | func (p ProductSpecs) Strings() []string { method Len (line 163) | func (p ProductSpecs) Len() int { return len(p) } method Swap (line 164) | func (p ProductSpecs) Swap(i, j int) { p[i], p[j] = p[j], p[i] } method Less (line 165) | func (p ProductSpecs) Less(i, j int) bool { return p[i].String() < p[j... FILE: shared/request_caching.go type CachingResponseWriter (line 18) | type CachingResponseWriter interface type cachingResponseWriter (line 26) | type cachingResponseWriter struct method Header (line 33) | func (w *cachingResponseWriter) Header() http.Header { method Write (line 37) | func (w *cachingResponseWriter) Write(data []byte) (int, error) { method WriteHeader (line 52) | func (w *cachingResponseWriter) WriteHeader(statusCode int) { method WriteTo (line 57) | func (w *cachingResponseWriter) WriteTo(wtr io.Writer) (int64, error) { method StatusCode (line 65) | func (w *cachingResponseWriter) StatusCode() int { method Bytes (line 69) | func (w *cachingResponseWriter) Bytes() []byte { function NewCachingResponseWriter (line 74) | func NewCachingResponseWriter(delegate http.ResponseWriter) CachingRespo... type cachingHandler (line 81) | type cachingHandler struct method ServeHTTP (line 90) | func (h cachingHandler) ServeHTTP(w http.ResponseWriter, r *http.Reque... method delegateAndCache (line 128) | func (h cachingHandler) delegateAndCache(w http.ResponseWriter, r *htt... function NewCachingHandler (line 159) | func NewCachingHandler(ctx context.Context, delegate http.Handler, cache... function AlwaysCachable (line 164) | func AlwaysCachable(r *http.Request) bool { function URLAsCacheKey (line 172) | func URLAsCacheKey(r *http.Request) interface{} { function CacheStatusOK (line 178) | func CacheStatusOK(ctx context.Context, statusCode int, payload []byte) ... FILE: shared/request_caching_test.go type failReader (line 22) | type failReader struct method Read (line 30) | func (failReader) Read([]byte) (int, error) { return 0, errFailRead } type okHandler (line 23) | type okHandler struct method ServeHTTP (line 32) | func (okHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { function TestNoCaching404 (line 36) | func TestNoCaching404(t *testing.T) { function TestCaching200 (line 54) | func TestCaching200(t *testing.T) { FILE: shared/routing.go function Router (line 17) | func Router() *mux.Router { function AddRoute (line 28) | func AddRoute(route, name string, h http.HandlerFunc) *mux.Route { function WrapHSTS (line 34) | func WrapHSTS(h http.HandlerFunc) http.HandlerFunc { function WrapPermissiveCORS (line 44) | func WrapPermissiveCORS(h http.HandlerFunc, methods ...string) http.Hand... function WrapTrustedCORS (line 57) | func WrapTrustedCORS(h http.HandlerFunc, origins []string, methods []str... function WrapApplicationJSON (line 71) | func WrapApplicationJSON(h http.HandlerFunc) http.HandlerFunc { FILE: shared/run_diff.go type DiffAPI (line 31) | type DiffAPI interface type diffAPIImpl (line 37) | type diffAPIImpl struct method GetDiffURL (line 50) | func (d diffAPIImpl) GetDiffURL(before, after TestRun, diffFilter *Dif... method GetMasterDiffURL (line 65) | func (d diffAPIImpl) GetMasterDiffURL(testRun TestRun, diffFilter *Dif... method GetRunsDiff (line 349) | func (d diffAPIImpl) GetRunsDiff(before, after TestRun, filter DiffFil... method getRunsDiffFromSearchCache (line 382) | func (d diffAPIImpl) getRunsDiffFromSearchCache(before, after TestRun,... function NewDiffAPI (line 43) | func NewDiffAPI(ctx context.Context) DiffAPI { type RunDiff (line 88) | type RunDiff struct type TestSummary (line 101) | type TestSummary method Add (line 104) | func (s TestSummary) Add(other TestSummary) { type ResultsSummary (line 110) | type ResultsSummary method Add (line 114) | func (s ResultsSummary) Add(k string, other TestSummary) { type TestDiff (line 122) | type TestDiff method IsEmpty (line 125) | func (d TestDiff) IsEmpty() bool { method NewlyPassing (line 141) | func (d TestDiff) NewlyPassing() int { method Regressions (line 149) | func (d TestDiff) Regressions() int { method TotalDelta (line 157) | func (d TestDiff) TotalDelta() int { method Add (line 165) | func (d TestDiff) Add(other TestDiff) { method Append (line 172) | func (d TestDiff) Append(before, after TestStatus, filter *DiffFilterP... constant newlyPassingIndex (line 135) | newlyPassingIndex = 0 constant newlyFailingIndex (line 136) | newlyFailingIndex = 1 constant totalDeltaIndex (line 137) | totalDeltaIndex = 2 function NewTestDiff (line 204) | func NewTestDiff(before, after []int, filter DiffFilterParam) TestDiff { type ResultsDiff (line 249) | type ResultsDiff method Add (line 253) | func (r ResultsDiff) Add(k string, diff TestDiff) { method Regressions (line 266) | func (r ResultsDiff) Regressions() mapset.Set { function FetchRunResultsJSONForParam (line 279) | func FetchRunResultsJSONForParam( function FetchRunResultsJSONForSpec (line 297) | func FetchRunResultsJSONForSpec( function FetchRunForSpec (line 309) | func FetchRunForSpec(ctx context.Context, spec ProductSpec) (*TestRun, e... function FetchRunResultsJSON (line 326) | func FetchRunResultsJSON(ctx context.Context, run TestRun) (results Resu... function RunDiffFromSearchResponse (line 417) | func RunDiffFromSearchResponse(aeAPI AppEngineAPI, before, after TestRun... function GetResultsDiff (line 451) | func GetResultsDiff( function getDiffRenames (line 505) | func getDiffRenames(aeAPI AppEngineAPI, shaBefore, shaAfter string) map[... function anyPathMatches (line 539) | func anyPathMatches(paths mapset.Set, testPath string) bool { function abs (line 551) | func abs(x int) int { function max (line 558) | func max(x int, y int) int { FILE: shared/run_diff_test.go constant mockTestPath (line 22) | mockTestPath = "/mock/path.html" function allDifferences (line 24) | func allDifferences() shared.DiffFilterParam { function TestDiffResults_NoDifference (line 33) | func TestDiffResults_NoDifference(t *testing.T) { function TestDiffResults_Difference (line 38) | func TestDiffResults_Difference(t *testing.T) { function TestDiffResults_Added (line 52) | func TestDiffResults_Added(t *testing.T) { function TestDiffResults_Removed (line 75) | func TestDiffResults_Removed(t *testing.T) { function TestDiffResults_Filtered (line 89) | func TestDiffResults_Filtered(t *testing.T) { function assertNoDeltaDifferences (line 139) | func assertNoDeltaDifferences(t *testing.T, before []int, after []int) { function assertNoDeltaDifferencesWithFilter (line 143) | func assertNoDeltaDifferencesWithFilter(t *testing.T, before []int, afte... function assertDelta (line 148) | func assertDelta(t *testing.T, before []int, after []int, delta []int) { function assertDeltaWithFilter (line 152) | func assertDeltaWithFilter(t *testing.T, before []int, after []int, delt... function getDeltaResultsMaps (line 160) | func getDeltaResultsMaps(before []int, after []int) (shared.ResultsSumma... function TestRegressions (line 165) | func TestRegressions(t *testing.T) { function TestRunDiffFromSearchResponse (line 191) | func TestRunDiffFromSearchResponse(t *testing.T) { FILE: shared/secret_manager.go type SecretManager (line 8) | type SecretManager interface function GetUploader (line 13) | func GetUploader(m SecretManager, uploader string) (Uploader, error) { FILE: shared/secret_manager_cloud.go type CloudSecretManager (line 17) | type CloudSecretManager struct method GetSecret (line 35) | func (m CloudSecretManager) GetSecret(name string) ([]byte, error) { function NewAppEngineSecretManager (line 25) | func NewAppEngineSecretManager(ctx context.Context, projectID string) Cl... FILE: shared/secret_manager_cloud_cloud_test.go function TestCloudSecretManagerGetSecret (line 22) | func TestCloudSecretManagerGetSecret(t *testing.T) { FILE: shared/sharedtest/appengine_mock.go type MockAppEngineAPI (line 25) | type MockAppEngineAPI struct method EXPECT (line 44) | func (m *MockAppEngineAPI) EXPECT() *MockAppEngineAPIMockRecorder { method Context (line 49) | func (m *MockAppEngineAPI) Context() context.Context { method GetGitHubClient (line 63) | func (m *MockAppEngineAPI) GetGitHubClient() (*github.Client, error) { method GetHTTPClient (line 78) | func (m *MockAppEngineAPI) GetHTTPClient() *http.Client { method GetHTTPClientWithTimeout (line 92) | func (m *MockAppEngineAPI) GetHTTPClientWithTimeout(arg0 time.Duration... method GetHostname (line 106) | func (m *MockAppEngineAPI) GetHostname() string { method GetResultsURL (line 120) | func (m *MockAppEngineAPI) GetResultsURL(filter shared.TestRunFilter) ... method GetResultsUploadURL (line 134) | func (m *MockAppEngineAPI) GetResultsUploadURL() *url.URL { method GetRunsURL (line 148) | func (m *MockAppEngineAPI) GetRunsURL(filter shared.TestRunFilter) *ur... method GetServiceHostname (line 162) | func (m *MockAppEngineAPI) GetServiceHostname(service string) string { method GetUploader (line 176) | func (m *MockAppEngineAPI) GetUploader(uploader string) (shared.Upload... method GetVersion (line 191) | func (m *MockAppEngineAPI) GetVersion() string { method GetVersionedHostname (line 205) | func (m *MockAppEngineAPI) GetVersionedHostname() string { method IsFeatureEnabled (line 219) | func (m *MockAppEngineAPI) IsFeatureEnabled(featureName string) bool { method ScheduleTask (line 233) | func (m *MockAppEngineAPI) ScheduleTask(queueName, taskName, target st... type MockAppEngineAPIMockRecorder (line 32) | type MockAppEngineAPIMockRecorder struct method Context (line 57) | func (mr *MockAppEngineAPIMockRecorder) Context() *gomock.Call { method GetGitHubClient (line 72) | func (mr *MockAppEngineAPIMockRecorder) GetGitHubClient() *gomock.Call { method GetHTTPClient (line 86) | func (mr *MockAppEngineAPIMockRecorder) GetHTTPClient() *gomock.Call { method GetHTTPClientWithTimeout (line 100) | func (mr *MockAppEngineAPIMockRecorder) GetHTTPClientWithTimeout(arg0 ... method GetHostname (line 114) | func (mr *MockAppEngineAPIMockRecorder) GetHostname() *gomock.Call { method GetResultsURL (line 128) | func (mr *MockAppEngineAPIMockRecorder) GetResultsURL(filter any) *gom... method GetResultsUploadURL (line 142) | func (mr *MockAppEngineAPIMockRecorder) GetResultsUploadURL() *gomock.... method GetRunsURL (line 156) | func (mr *MockAppEngineAPIMockRecorder) GetRunsURL(filter any) *gomock... method GetServiceHostname (line 170) | func (mr *MockAppEngineAPIMockRecorder) GetServiceHostname(service any... method GetUploader (line 185) | func (mr *MockAppEngineAPIMockRecorder) GetUploader(uploader any) *gom... method GetVersion (line 199) | func (mr *MockAppEngineAPIMockRecorder) GetVersion() *gomock.Call { method GetVersionedHostname (line 213) | func (mr *MockAppEngineAPIMockRecorder) GetVersionedHostname() *gomock... method IsFeatureEnabled (line 227) | func (mr *MockAppEngineAPIMockRecorder) IsFeatureEnabled(featureName a... method ScheduleTask (line 242) | func (mr *MockAppEngineAPIMockRecorder) ScheduleTask(queueName, taskNa... function NewMockAppEngineAPI (line 37) | func NewMockAppEngineAPI(ctrl *gomock.Controller) *MockAppEngineAPI { FILE: shared/sharedtest/cache_mock.go type MockCachedStore (line 20) | type MockCachedStore struct method EXPECT (line 39) | func (m *MockCachedStore) EXPECT() *MockCachedStoreMockRecorder { method Get (line 44) | func (m *MockCachedStore) Get(cacheID, storeID, value any) error { type MockCachedStoreMockRecorder (line 27) | type MockCachedStoreMockRecorder struct method Get (line 52) | func (mr *MockCachedStoreMockRecorder) Get(cacheID, storeID, value any... function NewMockCachedStore (line 32) | func NewMockCachedStore(ctrl *gomock.Controller) *MockCachedStore { type MockObjectCache (line 58) | type MockObjectCache struct method EXPECT (line 77) | func (m *MockObjectCache) EXPECT() *MockObjectCacheMockRecorder { method Get (line 82) | func (m *MockObjectCache) Get(id, value any) error { method Put (line 96) | func (m *MockObjectCache) Put(id, value any) error { type MockObjectCacheMockRecorder (line 65) | type MockObjectCacheMockRecorder struct method Get (line 90) | func (mr *MockObjectCacheMockRecorder) Get(id, value any) *gomock.Call { method Put (line 104) | func (mr *MockObjectCacheMockRecorder) Put(id, value any) *gomock.Call { function NewMockObjectCache (line 70) | func NewMockObjectCache(ctrl *gomock.Controller) *MockObjectCache { type MockObjectStore (line 110) | type MockObjectStore struct method EXPECT (line 129) | func (m *MockObjectStore) EXPECT() *MockObjectStoreMockRecorder { method Get (line 134) | func (m *MockObjectStore) Get(id, value any) error { type MockObjectStoreMockRecorder (line 117) | type MockObjectStoreMockRecorder struct method Get (line 142) | func (mr *MockObjectStoreMockRecorder) Get(id, value any) *gomock.Call { function NewMockObjectStore (line 122) | func NewMockObjectStore(ctrl *gomock.Controller) *MockObjectStore { type MockReadWritable (line 148) | type MockReadWritable struct method EXPECT (line 167) | func (m *MockReadWritable) EXPECT() *MockReadWritableMockRecorder { method NewReadCloser (line 172) | func (m *MockReadWritable) NewReadCloser(arg0 any) (io.ReadCloser, err... method NewWriteCloser (line 187) | func (m *MockReadWritable) NewWriteCloser(arg0 any) (io.WriteCloser, e... type MockReadWritableMockRecorder (line 155) | type MockReadWritableMockRecorder struct method NewReadCloser (line 181) | func (mr *MockReadWritableMockRecorder) NewReadCloser(arg0 any) *gomoc... method NewWriteCloser (line 196) | func (mr *MockReadWritableMockRecorder) NewWriteCloser(arg0 any) *gomo... function NewMockReadWritable (line 160) | func NewMockReadWritable(ctrl *gomock.Controller) *MockReadWritable { type MockReadable (line 202) | type MockReadable struct method EXPECT (line 221) | func (m *MockReadable) EXPECT() *MockReadableMockRecorder { method NewReadCloser (line 226) | func (m *MockReadable) NewReadCloser(arg0 any) (io.ReadCloser, error) { type MockReadableMockRecorder (line 209) | type MockReadableMockRecorder struct method NewReadCloser (line 235) | func (mr *MockReadableMockRecorder) NewReadCloser(arg0 any) *gomock.Ca... function NewMockReadable (line 214) | func NewMockReadable(ctrl *gomock.Controller) *MockReadable { type MockRedisSet (line 241) | type MockRedisSet struct method EXPECT (line 260) | func (m *MockRedisSet) EXPECT() *MockRedisSetMockRecorder { method Add (line 265) | func (m *MockRedisSet) Add(key, value string) error { method GetAll (line 279) | func (m *MockRedisSet) GetAll(key string) ([]string, error) { method Remove (line 294) | func (m *MockRedisSet) Remove(key, value string) error { type MockRedisSetMockRecorder (line 248) | type MockRedisSetMockRecorder struct method Add (line 273) | func (mr *MockRedisSetMockRecorder) Add(key, value any) *gomock.Call { method GetAll (line 288) | func (mr *MockRedisSetMockRecorder) GetAll(key any) *gomock.Call { method Remove (line 302) | func (mr *MockRedisSetMockRecorder) Remove(key, value any) *gomock.Call { function NewMockRedisSet (line 253) | func NewMockRedisSet(ctrl *gomock.Controller) *MockRedisSet { FILE: shared/sharedtest/datastore_mock.go type MockDatastore (line 21) | type MockDatastore struct method EXPECT (line 40) | func (m *MockDatastore) EXPECT() *MockDatastoreMockRecorder { method Context (line 45) | func (m *MockDatastore) Context() context.Context { method Done (line 59) | func (m *MockDatastore) Done() any { method Get (line 73) | func (m *MockDatastore) Get(key shared.Key, dst any) error { method GetAll (line 87) | func (m *MockDatastore) GetAll(q shared.Query, dst any) ([]shared.Key,... method GetMulti (line 102) | func (m *MockDatastore) GetMulti(keys []shared.Key, dst any) error { method Insert (line 116) | func (m *MockDatastore) Insert(key shared.Key, src any) error { method NewIDKey (line 130) | func (m *MockDatastore) NewIDKey(typeName string, id int64) shared.Key { method NewIncompleteKey (line 144) | func (m *MockDatastore) NewIncompleteKey(typeName string) shared.Key { method NewNameKey (line 158) | func (m *MockDatastore) NewNameKey(typeName, name string) shared.Key { method NewQuery (line 172) | func (m *MockDatastore) NewQuery(typeName string) shared.Query { method Put (line 186) | func (m *MockDatastore) Put(key shared.Key, src any) (shared.Key, erro... method PutMulti (line 201) | func (m *MockDatastore) PutMulti(keys []shared.Key, src any) ([]shared... method ReserveID (line 216) | func (m *MockDatastore) ReserveID(typeName string) (shared.Key, error) { method TestRunQuery (line 231) | func (m *MockDatastore) TestRunQuery() shared.TestRunQuery { method Update (line 245) | func (m *MockDatastore) Update(key shared.Key, dst any, mutator func(a... type MockDatastoreMockRecorder (line 28) | type MockDatastoreMockRecorder struct method Context (line 53) | func (mr *MockDatastoreMockRecorder) Context() *gomock.Call { method Done (line 67) | func (mr *MockDatastoreMockRecorder) Done() *gomock.Call { method Get (line 81) | func (mr *MockDatastoreMockRecorder) Get(key, dst any) *gomock.Call { method GetAll (line 96) | func (mr *MockDatastoreMockRecorder) GetAll(q, dst any) *gomock.Call { method GetMulti (line 110) | func (mr *MockDatastoreMockRecorder) GetMulti(keys, dst any) *gomock.C... method Insert (line 124) | func (mr *MockDatastoreMockRecorder) Insert(key, src any) *gomock.Call { method NewIDKey (line 138) | func (mr *MockDatastoreMockRecorder) NewIDKey(typeName, id any) *gomoc... method NewIncompleteKey (line 152) | func (mr *MockDatastoreMockRecorder) NewIncompleteKey(typeName any) *g... method NewNameKey (line 166) | func (mr *MockDatastoreMockRecorder) NewNameKey(typeName, name any) *g... method NewQuery (line 180) | func (mr *MockDatastoreMockRecorder) NewQuery(typeName any) *gomock.Ca... method Put (line 195) | func (mr *MockDatastoreMockRecorder) Put(key, src any) *gomock.Call { method PutMulti (line 210) | func (mr *MockDatastoreMockRecorder) PutMulti(keys, src any) *gomock.C... method ReserveID (line 225) | func (mr *MockDatastoreMockRecorder) ReserveID(typeName any) *gomock.C... method TestRunQuery (line 239) | func (mr *MockDatastoreMockRecorder) TestRunQuery() *gomock.Call { method Update (line 253) | func (mr *MockDatastoreMockRecorder) Update(key, dst, mutator any) *go... function NewMockDatastore (line 33) | func NewMockDatastore(ctrl *gomock.Controller) *MockDatastore { FILE: shared/sharedtest/fetch_bsf_mock.go type MockFetchBSF (line 19) | type MockFetchBSF struct method EXPECT (line 38) | func (m *MockFetchBSF) EXPECT() *MockFetchBSFMockRecorder { method Fetch (line 43) | func (m *MockFetchBSF) Fetch(isExperimental bool) ([][]string, error) { type MockFetchBSFMockRecorder (line 26) | type MockFetchBSFMockRecorder struct method Fetch (line 52) | func (mr *MockFetchBSFMockRecorder) Fetch(isExperimental any) *gomock.... function NewMockFetchBSF (line 31) | func NewMockFetchBSF(ctrl *gomock.Controller) *MockFetchBSF { FILE: shared/sharedtest/github_oauth_mock.go type MockGitHubOAuth (line 23) | type MockGitHubOAuth struct method EXPECT (line 42) | func (m *MockGitHubOAuth) EXPECT() *MockGitHubOAuthMockRecorder { method Context (line 47) | func (m *MockGitHubOAuth) Context() context.Context { method Datastore (line 61) | func (m *MockGitHubOAuth) Datastore() shared.Datastore { method GetAccessToken (line 75) | func (m *MockGitHubOAuth) GetAccessToken() string { method GetAuthCodeURL (line 89) | func (m *MockGitHubOAuth) GetAuthCodeURL(state string, opts ...oauth2.... method GetUser (line 108) | func (m *MockGitHubOAuth) GetUser(client *github.Client) (*github.User... method NewClient (line 123) | func (m *MockGitHubOAuth) NewClient(oauthCode string) (*github.Client,... method SetRedirectURL (line 138) | func (m *MockGitHubOAuth) SetRedirectURL(url string) { type MockGitHubOAuthMockRecorder (line 30) | type MockGitHubOAuthMockRecorder struct method Context (line 55) | func (mr *MockGitHubOAuthMockRecorder) Context() *gomock.Call { method Datastore (line 69) | func (mr *MockGitHubOAuthMockRecorder) Datastore() *gomock.Call { method GetAccessToken (line 83) | func (mr *MockGitHubOAuthMockRecorder) GetAccessToken() *gomock.Call { method GetAuthCodeURL (line 101) | func (mr *MockGitHubOAuthMockRecorder) GetAuthCodeURL(state any, opts ... method GetUser (line 117) | func (mr *MockGitHubOAuthMockRecorder) GetUser(client any) *gomock.Call { method NewClient (line 132) | func (mr *MockGitHubOAuthMockRecorder) NewClient(oauthCode any) *gomoc... method SetRedirectURL (line 144) | func (mr *MockGitHubOAuthMockRecorder) SetRedirectURL(url any) *gomock... function NewMockGitHubOAuth (line 35) | func NewMockGitHubOAuth(ctrl *gomock.Controller) *MockGitHubOAuth { type MockGitHubAccessControl (line 150) | type MockGitHubAccessControl struct method EXPECT (line 169) | func (m *MockGitHubAccessControl) EXPECT() *MockGitHubAccessControlMoc... method IsValidAdmin (line 174) | func (m *MockGitHubAccessControl) IsValidAdmin() (bool, error) { method IsValidWPTMember (line 189) | func (m *MockGitHubAccessControl) IsValidWPTMember() (bool, error) { type MockGitHubAccessControlMockRecorder (line 157) | type MockGitHubAccessControlMockRecorder struct method IsValidAdmin (line 183) | func (mr *MockGitHubAccessControlMockRecorder) IsValidAdmin() *gomock.... method IsValidWPTMember (line 198) | func (mr *MockGitHubAccessControlMockRecorder) IsValidWPTMember() *gom... function NewMockGitHubAccessControl (line 162) | func NewMockGitHubAccessControl(ctrl *gomock.Controller) *MockGitHubAcce... FILE: shared/sharedtest/io.go type MockWriteCloser (line 17) | type MockWriteCloser struct method Write (line 23) | func (mwc *MockWriteCloser) Write(p []byte) (n int, err error) { method Close (line 29) | func (mwc *MockWriteCloser) Close() error { method IsClosed (line 35) | func (mwc *MockWriteCloser) IsClosed() bool { method Bytes (line 40) | func (mwc *MockWriteCloser) Bytes() []byte { function NewMockWriteCloser (line 45) | func NewMockWriteCloser(t *testing.T) *MockWriteCloser { type MockReadCloser (line 54) | type MockReadCloser struct method Read (line 60) | func (mrc *MockReadCloser) Read(p []byte) (n int, err error) { method Close (line 66) | func (mrc *MockReadCloser) Close() error { method IsClosed (line 81) | func (mrc *MockReadCloser) IsClosed() bool { function NewMockReadCloser (line 72) | func NewMockReadCloser(t *testing.T, data []byte) *MockReadCloser { FILE: shared/sharedtest/metadata_util_mock.go type MockMetadataFetcher (line 19) | type MockMetadataFetcher struct method EXPECT (line 38) | func (m *MockMetadataFetcher) EXPECT() *MockMetadataFetcherMockRecorder { method Fetch (line 43) | func (m *MockMetadataFetcher) Fetch() (*string, map[string][]byte, err... type MockMetadataFetcherMockRecorder (line 26) | type MockMetadataFetcherMockRecorder struct method Fetch (line 53) | func (mr *MockMetadataFetcherMockRecorder) Fetch() *gomock.Call { function NewMockMetadataFetcher (line 31) | func NewMockMetadataFetcher(ctrl *gomock.Controller) *MockMetadataFetcher { FILE: shared/sharedtest/run_diff_mock.go type MockDiffAPI (line 22) | type MockDiffAPI struct method EXPECT (line 41) | func (m *MockDiffAPI) EXPECT() *MockDiffAPIMockRecorder { method GetDiffURL (line 46) | func (m *MockDiffAPI) GetDiffURL(before, after shared.TestRun, diffFil... method GetMasterDiffURL (line 60) | func (m *MockDiffAPI) GetMasterDiffURL(testRun shared.TestRun, diffFil... method GetRunsDiff (line 74) | func (m *MockDiffAPI) GetRunsDiff(before, after shared.TestRun, filter... type MockDiffAPIMockRecorder (line 29) | type MockDiffAPIMockRecorder struct method GetDiffURL (line 54) | func (mr *MockDiffAPIMockRecorder) GetDiffURL(before, after, diffFilte... method GetMasterDiffURL (line 68) | func (mr *MockDiffAPIMockRecorder) GetMasterDiffURL(testRun, diffFilte... method GetRunsDiff (line 83) | func (mr *MockDiffAPIMockRecorder) GetRunsDiff(before, after, filter, ... function NewMockDiffAPI (line 34) | func NewMockDiffAPI(ctrl *gomock.Controller) *MockDiffAPI { FILE: shared/sharedtest/test_run_query_mock.go type MockTestRunQuery (line 22) | type MockTestRunQuery struct method EXPECT (line 41) | func (m *MockTestRunQuery) EXPECT() *MockTestRunQueryMockRecorder { method GetAlignedRunSHAs (line 46) | func (m *MockTestRunQuery) GetAlignedRunSHAs(products shared.ProductSp... method LoadTestRunKeys (line 62) | func (m *MockTestRunQuery) LoadTestRunKeys(products []shared.ProductSp... method LoadTestRuns (line 77) | func (m *MockTestRunQuery) LoadTestRuns(products []shared.ProductSpec,... method LoadTestRunsByKeys (line 92) | func (m *MockTestRunQuery) LoadTestRunsByKeys(arg0 shared.KeysByProduc... type MockTestRunQueryMockRecorder (line 29) | type MockTestRunQueryMockRecorder struct method GetAlignedRunSHAs (line 56) | func (mr *MockTestRunQueryMockRecorder) GetAlignedRunSHAs(products, la... method LoadTestRunKeys (line 71) | func (mr *MockTestRunQueryMockRecorder) LoadTestRunKeys(products, labe... method LoadTestRuns (line 86) | func (mr *MockTestRunQueryMockRecorder) LoadTestRuns(products, labels,... method LoadTestRunsByKeys (line 101) | func (mr *MockTestRunQueryMockRecorder) LoadTestRunsByKeys(arg0 any) *... function NewMockTestRunQuery (line 34) | func NewMockTestRunQuery(ctrl *gomock.Controller) *MockTestRunQuery { FILE: shared/sharedtest/triage_metadata_mock.go type MockTriageMetadata (line 20) | type MockTriageMetadata struct method EXPECT (line 39) | func (m *MockTriageMetadata) EXPECT() *MockTriageMetadataMockRecorder { method Triage (line 44) | func (m *MockTriageMetadata) Triage(metadata shared.MetadataResults) (... type MockTriageMetadataMockRecorder (line 27) | type MockTriageMetadataMockRecorder struct method Triage (line 53) | func (mr *MockTriageMetadataMockRecorder) Triage(metadata any) *gomock... function NewMockTriageMetadata (line 32) | func NewMockTriageMetadata(ctrl *gomock.Controller) *MockTriageMetadata { FILE: shared/sharedtest/util.go type Instance (line 26) | type Instance interface type aeInstance (line 33) | type aeInstance struct method Close (line 40) | func (i aeInstance) Close() error { method NewRequest (line 45) | func (i aeInstance) NewRequest(method, urlStr string, body io.Reader) ... method start (line 50) | func (i *aeInstance) start(stronglyConsistentDatastore bool) error { method stop (line 111) | func (i aeInstance) stop() error { function NewAEInstance (line 152) | func NewAEInstance(stronglyConsistentDatastore bool) (Instance, error) { function NewAEContext (line 167) | func NewAEContext(stronglyConsistentDatastore bool) (context.Context, fu... function NewTestContext (line 184) | func NewTestContext() context.Context { function ctxWithNilLogger (line 188) | func ctxWithNilLogger(ctx context.Context) context.Context { type sameStringSpec (line 192) | type sameStringSpec struct method Matches (line 200) | func (s sameStringSpec) Matches(x interface{}) bool { method String (line 208) | func (s sameStringSpec) String() string { type stringifiable (line 196) | type stringifiable interface function SameProductSpec (line 213) | func SameProductSpec(spec string) gomock.Matcher { function SameDiffFilter (line 220) | func SameDiffFilter(filter string) gomock.Matcher { type sameKeys (line 226) | type sameKeys struct method Matches (line 230) | func (s sameKeys) Matches(x interface{}) bool { method String (line 249) | func (s sameKeys) String() string { function SameKeys (line 254) | func SameKeys(ids []int64) gomock.Matcher { function MultiRuns (line 260) | func MultiRuns(runs shared.TestRuns) func(keys []shared.Key, dst interfa... type MockKey (line 277) | type MockKey struct method IntID (line 284) | func (m MockKey) IntID() int64 { method StringID (line 289) | func (m MockKey) StringID() string { method Kind (line 294) | func (m MockKey) Kind() string { FILE: shared/statuses.go type TestStatus (line 14) | type TestStatus method IsPassOrOK (line 140) | func (s TestStatus) IsPassOrOK() bool { method IsHarnessStatus (line 146) | func (s TestStatus) IsHarnessStatus() bool { method IsPass (line 151) | func (s TestStatus) IsPass() bool { method String (line 166) | func (s TestStatus) String() string { method UnmarshalJSON (line 175) | func (s *TestStatus) UnmarshalJSON(b []byte) error { method UnmarshalYAML (line 191) | func (s *TestStatus) UnmarshalYAML(unmarshal func(interface{}) error) ... method MarshalYAML (line 206) | func (s *TestStatus) MarshalYAML() (interface{}, error) { constant TestStatusUnknown (line 19) | TestStatusUnknown TestStatus = 0 constant TestStatusPass (line 22) | TestStatusPass TestStatus = 1 constant TestStatusOK (line 25) | TestStatusOK TestStatus = 2 constant TestStatusError (line 29) | TestStatusError TestStatus = 3 constant TestStatusTimeout (line 32) | TestStatusTimeout TestStatus = 4 constant TestStatusNotRun (line 35) | TestStatusNotRun TestStatus = 5 constant TestStatusFail (line 38) | TestStatusFail TestStatus = 6 constant TestStatusCrash (line 41) | TestStatusCrash TestStatus = 7 constant TestStatusSkip (line 44) | TestStatusSkip TestStatus = 8 constant TestStatusAssert (line 48) | TestStatusAssert TestStatus = 9 constant TestStatusPreconditionFailed (line 52) | TestStatusPreconditionFailed TestStatus = 10 constant TestStatusNameUnknown (line 56) | TestStatusNameUnknown string = "UNKNOWN" constant TestStatusNamePass (line 60) | TestStatusNamePass string = "PASS" constant TestStatusNameOK (line 65) | TestStatusNameOK string = "OK" constant TestStatusNameError (line 69) | TestStatusNameError string = "ERROR" constant TestStatusNameTimeout (line 73) | TestStatusNameTimeout string = "TIMEOUT" constant TestStatusNameNotRun (line 77) | TestStatusNameNotRun string = "NOTRUN" constant TestStatusNameFail (line 81) | TestStatusNameFail string = "FAIL" constant TestStatusNameCrash (line 85) | TestStatusNameCrash string = "CRASH" constant TestStatusNameSkip (line 89) | TestStatusNameSkip string = "SKIP" constant TestStatusNameAssert (line 94) | TestStatusNameAssert string = "ASSERT" constant TestStatusNamePreconditionFailed (line 99) | TestStatusNamePreconditionFailed string = "PRECONDITION_FAILED" constant TestStatusDefault (line 103) | TestStatusDefault TestStatus = TestStatusUnknown constant TestStatusNameDefault (line 107) | TestStatusNameDefault string = TestStatusNameUnknown function TestStatusValueFromString (line 157) | func TestStatusValueFromString(str string) TestStatus { FILE: shared/statuses_test.go function TestMaps (line 15) | func TestMaps(t *testing.T) { function TestDefaults (line 28) | func TestDefaults(t *testing.T) { function TestPass (line 33) | func TestPass(t *testing.T) { function TestDefaultsFromAPI (line 38) | func TestDefaultsFromAPI(t *testing.T) { function TestPreconditionFailed (line 43) | func TestPreconditionFailed(t *testing.T) { FILE: shared/tag_test.go function init (line 5) | func init() { FILE: shared/test_run_filter.go type SHAs (line 19) | type SHAs method EmptyOrLatest (line 23) | func (s SHAs) EmptyOrLatest() bool { method FirstOrLatest (line 28) | func (s SHAs) FirstOrLatest() string { method ShortSHAs (line 36) | func (s SHAs) ShortSHAs() []string { type TestRunFilter (line 46) | type TestRunFilter struct method MarshalJSON (line 65) | func (filter TestRunFilter) MarshalJSON() ([]byte, error) { method UnmarshalJSON (line 74) | func (filter *TestRunFilter) UnmarshalJSON(data []byte) error { method IsDefaultQuery (line 86) | func (filter TestRunFilter) IsDefaultQuery() bool { method OrDefault (line 98) | func (filter TestRunFilter) OrDefault() TestRunFilter { method OrAlignedStableRuns (line 108) | func (filter TestRunFilter) OrAlignedStableRuns() TestRunFilter { method OrExperimentalRuns (line 120) | func (filter TestRunFilter) OrExperimentalRuns() TestRunFilter { method MasterOnly (line 130) | func (filter TestRunFilter) MasterOnly() TestRunFilter { method IsDefaultProducts (line 140) | func (filter TestRunFilter) IsDefaultProducts() bool { method GetProductsOrDefault (line 158) | func (filter TestRunFilter) GetProductsOrDefault() (products ProductSp... method ToQuery (line 163) | func (filter TestRunFilter) ToQuery() (q url.Values) { method NextPage (line 205) | func (filter TestRunFilter) NextPage(loadedRuns TestRunsByProduct) *Te... method Token (line 242) | func (filter TestRunFilter) Token() (string, error) { type testRunFilterNoCustomMarshalling (line 58) | type testRunFilterNoCustomMarshalling type marshallableTestRunFilter (line 59) | type marshallableTestRunFilter struct FILE: shared/test_run_filter_test.go function TestTestRunFilter_NextPage_MaxCount (line 18) | func TestTestRunFilter_NextPage_MaxCount(t *testing.T) { function TestTestRunFilter_NextPage_From (line 36) | func TestTestRunFilter_NextPage_From(t *testing.T) { function TestTestRunFilter_NextPage_FromAndMax (line 60) | func TestTestRunFilter_NextPage_FromAndMax(t *testing.T) { function TestTestRunFilter_JSONRoundTrip (line 101) | func TestTestRunFilter_JSONRoundTrip(t *testing.T) { FILE: shared/test_run_query.go type TestRunQuery (line 22) | type TestRunQuery interface type testRunQueryImpl (line 63) | type testRunQueryImpl struct method LoadTestRuns (line 72) | func (t testRunQueryImpl) LoadTestRuns( method LoadTestRunsByKeys (line 91) | func (t testRunQueryImpl) LoadTestRunsByKeys(keysByProduct KeysByProdu... method LoadTestRunKeys (line 111) | func (t testRunQueryImpl) LoadTestRunKeys( method GetAlignedRunSHAs (line 256) | func (t testRunQueryImpl) GetAlignedRunSHAs( function NewTestRunQuery (line 68) | func NewTestRunQuery(store Datastore) TestRunQuery { function clientSideFilter (line 208) | func clientSideFilter( function merge (line 335) | func merge(s1, s2 mapset.Set) mapset.Set { function contains (line 346) | func contains(s []string, x string) bool { function loadIDsForRevision (line 356) | func loadIDsForRevision(store Datastore, query Query, sha string) (resul... function loadIDsForBrowserVersion (line 384) | func loadIDsForBrowserVersion(store Datastore, query Query, version stri... function VersionPrefix (line 407) | func VersionPrefix(query Query, fieldName, versionPrefix string, desc bo... function getTestRunRedisKey (line 419) | func getTestRunRedisKey(id int64) string { FILE: shared/test_run_query_medium_test.go function TestLoadTestRuns (line 18) | func TestLoadTestRuns(t *testing.T) { function TestLoadTestRunsBySHAs (line 47) | func TestLoadTestRunsBySHAs(t *testing.T) { function TestLoadTestRuns_Experimental_Only (line 89) | func TestLoadTestRuns_Experimental_Only(t *testing.T) { function TestLoadTestRuns_LabelinProductSpec (line 175) | func TestLoadTestRuns_LabelinProductSpec(t *testing.T) { function TestLoadTestRuns_SHAinProductSpec (line 213) | func TestLoadTestRuns_SHAinProductSpec(t *testing.T) { function TestLoadTestRuns_Ordering (line 277) | func TestLoadTestRuns_Ordering(t *testing.T) { function TestLoadTestRuns_From (line 321) | func TestLoadTestRuns_From(t *testing.T) { function TestLoadTestRuns_To (line 364) | func TestLoadTestRuns_To(t *testing.T) { function TestGetAlignedRunSHAs (line 406) | func TestGetAlignedRunSHAs(t *testing.T) { FILE: shared/triage_metadata.go type TriageMetadata (line 22) | type TriageMetadata interface type triageMetadata (line 27) | type triageMetadata struct method getCommitBranchRef (line 88) | func (tm triageMetadata) getCommitBranchRef(sha *string) (ref *github.... method getTree (line 100) | func (tm triageMetadata) getTree(ref *github.Reference, triagedMetadat... method pushCommit (line 114) | func (tm triageMetadata) pushCommit(ref *github.Reference, tree *githu... method createPR (line 144) | func (tm triageMetadata) createPR() (*github.PullRequest, error) { method addPRLabels (line 162) | func (tm triageMetadata) addPRLabels(pr *github.PullRequest) (err erro... method createWPTMetadataPR (line 172) | func (tm triageMetadata) createWPTMetadataPR(sha *string, triagedMetad... method Triage (line 291) | func (tm triageMetadata) Triage(metadata MetadataResults) (string, err... type wptmetadataGitHubInfo (line 39) | type wptmetadataGitHubInfo struct function init (line 52) | func init() { function getNewCommitBranchName (line 56) | func getNewCommitBranchName(ctx context.Context, client *github.Client, ... function getWptmetadataGitHubInfo (line 72) | func getWptmetadataGitHubInfo(ctx context.Context, client *github.Client... function addToFiles (line 211) | func addToFiles(metadata MetadataResults, filesMap map[string]Metadata, ... function appendTestName (line 259) | func appendTestName(test string, metadata MetadataResults) { function containsInterop (line 275) | func containsInterop(metadata MetadataResults) bool { function generateRandomInt (line 287) | func generateRandomInt() string { function NewTriageMetadata (line 304) | func NewTriageMetadata(ctx context.Context, githubClient *github.Client,... FILE: shared/triage_metadata_test.go function TestAppendTestName (line 18) | func TestAppendTestName(t *testing.T) { function TestAppendTestName_EmptyResults (line 68) | func TestAppendTestName_EmptyResults(t *testing.T) { function TestAddToFiles_AddNewFile (line 96) | func TestAddToFiles_AddNewFile(t *testing.T) { function TestAddToFiles_AddNewMetadataResult (line 146) | func TestAddToFiles_AddNewMetadataResult(t *testing.T) { function TestAddToFiles_AddNewMetadataLink (line 200) | func TestAddToFiles_AddNewMetadataLink(t *testing.T) { function TestAddToFiles_AddNewMetadataLink_Label (line 254) | func TestAddToFiles_AddNewMetadataLink_Label(t *testing.T) { function TestAddToFiles_AddNewMetadataResults_Label (line 304) | func TestAddToFiles_AddNewMetadataResults_Label(t *testing.T) { function TestAddToFiles_AddNewMetadataLink_Asterisk (line 342) | func TestAddToFiles_AddNewMetadataLink_Asterisk(t *testing.T) { function TestNewTriageMetadata_email_fallback (line 396) | func TestNewTriageMetadata_email_fallback(t *testing.T) { function TestContainsInterop_True (line 410) | func TestContainsInterop_True(t *testing.T) { function TestContainsInterop_NotInteropLabel (line 425) | func TestContainsInterop_NotInteropLabel(t *testing.T) { function TestContainsInterop_False (line 440) | func TestContainsInterop_False(t *testing.T) { FILE: shared/util.go constant ExperimentalLabel (line 19) | ExperimentalLabel = "experimental" constant LatestSHA (line 22) | LatestSHA = "latest" constant StableLabel (line 25) | StableLabel = "stable" constant BetaLabel (line 28) | BetaLabel = "beta" constant MasterLabel (line 32) | MasterLabel = "master" constant PRBaseLabel (line 36) | PRBaseLabel = "pr_base" constant PRHeadLabel (line 40) | PRHeadLabel = "pr_head" constant UserLabelPrefix (line 44) | UserLabelPrefix = "user:" constant WPTRepoOwner (line 47) | WPTRepoOwner = "web-platform-tests" constant WPTRepoName (line 50) | WPTRepoName = "wpt" function GetUserLabel (line 53) | func GetUserLabel(username string) string { function ProductChannelToLabel (line 59) | func ProductChannelToLabel(channel string) string { function GetDefaultProducts (line 72) | func GetDefaultProducts() ProductSpecs { function ToStringSlice (line 83) | func ToStringSlice(set mapset.Set) []string { function IsLatest (line 97) | func IsLatest(sha string) bool { function NewSetFromStringSlice (line 102) | func NewSetFromStringSlice(items []string) mapset.Set { function StringSliceContains (line 114) | func StringSliceContains(ss []string, s string) bool { function MapStringKeys (line 124) | func MapStringKeys(m interface{}) ([]string, error) { function GetResultsURL (line 142) | func GetResultsURL(run TestRun, testFile string) (resultsURL string) { function CropString (line 157) | func CropString(s string, i int) string { function GetSharedPath (line 165) | func GetSharedPath(paths ...string) string { function IsValidURL (line 187) | func IsValidURL(s string) bool { FILE: shared/util_test.go constant shortSHA (line 15) | shortSHA = "abcdef0123" constant resultsURLBase (line 16) | resultsURLBase = "https://storage.googleapis.com/wptd/" + shortSHA + "/" constant product (line 17) | product = "chrome-63.0-linux" constant resultsURL (line 18) | resultsURL = resultsURLBase + "/" + product + "-summary_v2.json.gz" function TestMapStringKeys (line 20) | func TestMapStringKeys(t *testing.T) { function TestMapStringKeys_NotAMap (line 36) | func TestMapStringKeys_NotAMap(t *testing.T) { function TestMapStringKeys_NotAStringKeyedMap (line 43) | func TestMapStringKeys_NotAStringKeyedMap(t *testing.T) { function TestProductChannelToLabel (line 50) | func TestProductChannelToLabel(t *testing.T) { function TestGetResultsURL_EmptyFile (line 61) | func TestGetResultsURL_EmptyFile(t *testing.T) { function TestGetResultsURL_TestFile (line 67) | func TestGetResultsURL_TestFile(t *testing.T) { function TestGetResultsURL_TrailingSlash (line 74) | func TestGetResultsURL_TrailingSlash(t *testing.T) { function checkResult (line 80) | func checkResult(t *testing.T, testRun TestRun, testFile string, expecte... function TestGetSharedPath (line 87) | func TestGetSharedPath(t *testing.T) { FILE: shared/web_features.go type WebFeaturesData (line 18) | type WebFeaturesData method TestMatchesWithWebFeature (line 35) | func (d WebFeaturesData) TestMatchesWithWebFeature(test, webFeature st... type webFeaturesManifestFile (line 49) | type webFeaturesManifestFile struct type webFeaturesManifestV1Data (line 59) | type webFeaturesManifestV1Data method prepareTestWebFeatureFilter (line 88) | func (d webFeaturesManifestV1Data) prepareTestWebFeatureFilter() WebFe... type webFeaturesManifestJSONParser (line 62) | type webFeaturesManifestJSONParser struct method Parse (line 65) | func (p webFeaturesManifestJSONParser) Parse(_ context.Context, r io.R... FILE: shared/web_features_manifest_github_download.go constant WebFeatureManifestRepo (line 20) | WebFeatureManifestRepo = "wpt" constant webFeaturesManifestFilename (line 23) | webFeaturesManifestFilename = "WEB_FEATURES_MANIFEST.json.gz" type gzipBodyTransformer (line 39) | type gzipBodyTransformer struct method Transform (line 41) | func (t gzipBodyTransformer) Transform(body io.Reader) (io.ReadCloser,... type responseBodyTransformer (line 47) | type responseBodyTransformer interface function newGitHubWebFeaturesManifestDownloader (line 53) | func newGitHubWebFeaturesManifestDownloader( type repositoryReleaseGetter (line 64) | type repositoryReleaseGetter interface type gitHubWebFeaturesManifestDownloader (line 71) | type gitHubWebFeaturesManifestDownloader struct method Download (line 78) | func (d gitHubWebFeaturesManifestDownloader) Download(ctx context.Cont... type gitHubDownloadStream (line 130) | type gitHubDownloadStream struct method Read (line 135) | func (s *gitHubDownloadStream) Read(p []byte) (int, error) { method Close (line 139) | func (s *gitHubDownloadStream) Close() error { type GitHubWebFeaturesClient (line 147) | type GitHubWebFeaturesClient struct method Get (line 192) | func (c GitHubWebFeaturesClient) Get(ctx context.Context) (WebFeatures... type gitHubWebFeaturesClientOptions (line 154) | type gitHubWebFeaturesClientOptions struct type GitHubWebFeaturesClientOption (line 159) | type GitHubWebFeaturesClientOption function SetHTTPClientForGitHubWebFeatures (line 163) | func SetHTTPClientForGitHubWebFeatures(netClient *http.Client) GitHubWeb... function NewGitHubWebFeaturesClient (line 178) | func NewGitHubWebFeaturesClient(ghClient *github.Client) *GitHubWebFeatu... FILE: shared/web_features_manifest_github_download_test.go function createWebFeaturesTestdata (line 28) | func createWebFeaturesTestdata() { function TestResponseBodyTransformer_Success (line 62) | func TestResponseBodyTransformer_Success(t *testing.T) { type RoundTripFunc (line 82) | type RoundTripFunc struct method RoundTrip (line 87) | func (f RoundTripFunc) RoundTrip(req *http.Request) (*http.Response, e... type mockBodyTransformerInput (line 91) | type mockBodyTransformerInput struct type mockBodyTransformer (line 97) | type mockBodyTransformer struct method Transform (line 102) | func (tr mockBodyTransformer) Transform(body io.Reader) (io.ReadCloser... type mockRepositoryReleaseGetter (line 109) | type mockRepositoryReleaseGetter struct method GetLatestRelease (line 122) | func (g mockRepositoryReleaseGetter) GetLatestRelease( type mockRepositoryReleaseGetterInput (line 114) | type mockRepositoryReleaseGetterInput struct function TestGitHubWebFeaturesManifestDownloader_Download (line 154) | func TestGitHubWebFeaturesManifestDownloader_Download(t *testing.T) { FILE: shared/web_features_manifest_util.go function getWPTWebFeaturesManifest (line 15) | func getWPTWebFeaturesManifest( type webFeaturesManifestDownloader (line 34) | type webFeaturesManifestDownloader interface type webFeatureManifestParser (line 41) | type webFeatureManifestParser interface FILE: shared/web_features_manifest_util_test.go type mockDownloader (line 26) | type mockDownloader struct method Download (line 31) | func (m *mockDownloader) Download(ctx context.Context) (io.ReadCloser,... type mockParser (line 37) | type mockParser struct method Parse (line 42) | func (m *mockParser) Parse(ctx context.Context, manifest io.ReadCloser... function TestGetWPTWebFeaturesManifest (line 46) | func TestGetWPTWebFeaturesManifest(t *testing.T) { FILE: shared/web_features_test.go function TestWebFeaturesData_TestMatchesWithWebFeature (line 19) | func TestWebFeaturesData_TestMatchesWithWebFeature(t *testing.T) { function TestWebFeaturesManifestJSONParser_Parse (line 92) | func TestWebFeaturesManifestJSONParser_Parse(t *testing.T) { function TestWebFeaturesManifestV1Data_prepareTestWebFeatureFilter (line 150) | func TestWebFeaturesManifestV1Data_prepareTestWebFeatureFilter(t *testin... FILE: util/add_production_run.py function main (line 30) | def main(): class ProdRunCopier (line 43) | class ProdRunCopier(object): method __init__ (line 44) | def __init__(self, method copy_prod_run (line 49) | def copy_prod_run(self, sha): # type: (str) -> None function parse_flags (line 102) | def parse_flags(): # type: () -> argparse.Namespace FILE: util/generate_testrun_index.py function main (line 21) | def main(): function list_directory (line 68) | def list_directory(bucket, prefix=None): FILE: util/populate_dev_data.go function main (line 39) | func main() { function copyProdRuns (line 245) | func copyProdRuns(store shared.Datastore, filters shared.TestRunFilter) { function copyProdPendingRuns (line 268) | func copyProdPendingRuns(store shared.Datastore, numRuns int) { function labelRuns (line 280) | func labelRuns(runs []shared.TestRun, labels ...string) { function addSecretToken (line 288) | func addSecretToken(store shared.Datastore, id string, data interface{}) { function addFlag (line 296) | func addFlag(store shared.Datastore, id string, data interface{}) { function addData (line 304) | func addData(store shared.Datastore, kindName string, data []interface{}... function FetchPendingRuns (line 318) | func FetchPendingRuns(wptdHost string) ([]shared.PendingTestRun, error) { function addFakeHistoryData (line 326) | func addFakeHistoryData(store shared.Datastore) { FILE: util/pull_run_into_static.py function main (line 35) | def main(): function parse_flags (line 119) | def parse_flags(): # type: () -> argparse.Namespace function write_file (line 152) | def write_file(jsonData, # type: bytes FILE: webapp/about_handler.go function aboutHandler (line 13) | func aboutHandler(w http.ResponseWriter, r *http.Request) { FILE: webapp/about_handler_medium_test.go function TestAboutHandler (line 16) | func TestAboutHandler(t *testing.T) { FILE: webapp/admin_handler.go function checkAdmin (line 16) | func checkAdmin(acl shared.GitHubAccessControl, log shared.Logger, w htt... function adminUploadHandler (line 34) | func adminUploadHandler(w http.ResponseWriter, r *http.Request) { function showAdminUploadForm (line 49) | func showAdminUploadForm(a shared.AppEngineAPI, acl shared.GitHubAccessC... function adminFlagsHandler (line 63) | func adminFlagsHandler(w http.ResponseWriter, r *http.Request) { function handleAdminFlags (line 78) | func handleAdminFlags(a shared.AppEngineAPI, ds shared.Datastore, acl sh... function adminCacheFlushHandler (line 106) | func adminCacheFlushHandler(w http.ResponseWriter, r *http.Request) { FILE: webapp/admin_handler_test.go function TestCheckAdmin_not_logged_in (line 22) | func TestCheckAdmin_not_logged_in(t *testing.T) { function TestCheckAdmin_not_admin (line 28) | func TestCheckAdmin_not_admin(t *testing.T) { function TestCheckAdmin_error (line 40) | func TestCheckAdmin_error(t *testing.T) { function TestCheckAdmin_admin (line 52) | func TestCheckAdmin_admin(t *testing.T) { FILE: webapp/analyzer_handler.go function analyzerHandler (line 14) | func analyzerHandler(w http.ResponseWriter, r *http.Request) { FILE: webapp/components/browser-picker.js class BrowserPicker (line 11) | class BrowserPicker extends ProductInfo(PolymerElement) { method is (line 12) | static get is() { method template (line 16) | static get template() { method properties (line 31) | static get properties() { class BrowserMultiPicker (line 51) | class BrowserMultiPicker extends ProductInfo(PolymerElement) { method is (line 52) | static get is() { method template (line 56) | static get template() { method properties (line 82) | static get properties() { method ready (line 102) | ready() { method productsChanged (line 110) | productsChanged(products) { method selectedChanged (line 114) | selectedChanged(browser, e) { FILE: webapp/components/channel-picker.js class ChannelPicker (line 10) | class ChannelPicker extends ProductInfo(PolymerElement) { method is (line 11) | static get is() { method template (line 15) | static get template() { method properties (line 31) | static get properties() { method productWithChannel (line 50) | productWithChannel(browser, channel) { FILE: webapp/components/compat-2021.js constant GITHUB_URL_PREFIX (line 14) | const GITHUB_URL_PREFIX = 'https://raw.githubusercontent.com/web-platfor... constant DATA_BRANCH (line 15) | const DATA_BRANCH = 'gh-pages'; constant DATA_FILES_PATH (line 18) | const DATA_FILES_PATH = (new URL(document.location)).searchParams.has('u... constant SUMMARY_FEATURE_NAME (line 22) | const SUMMARY_FEATURE_NAME = 'summary'; constant FEATURES (line 23) | const FEATURES = [ class Compat2021DataManager (line 35) | class Compat2021DataManager { method constructor (line 36) | constructor() { method getDataTable (line 45) | async getDataTable(feature, stable) { method getBrowserVersions (line 55) | async getBrowserVersions(stable) { method _loadCsv (line 66) | async _loadCsv(label) { method createTooltip (line 157) | createTooltip(browser, version, score) { class Compat2021 (line 165) | class Compat2021 extends PolymerElement { method template (line 166) | static get template() { method is (line 280) | static get is() { method properties (line 284) | static get properties() { method observers (line 294) | static get observers() { method ready (line 300) | ready() { method updateUrlParams (line 319) | updateUrlParams(embedded, useWebKitGTK, stable, feature) { method experimentalButtonClass (line 346) | experimentalButtonClass(stable) { method stableButtonClass (line 350) | stableButtonClass(stable) { method clickExperimental (line 354) | clickExperimental() { method clickStable (line 361) | clickStable() { method getTestListTextVisibility (line 368) | getTestListTextVisibility(feature) { method getTestListHref (line 372) | getTestListHref(feature) { constant STABLE_TITLES (line 378) | const STABLE_TITLES = [ constant EXPERIMENTAL_TITLES (line 384) | const EXPERIMENTAL_TITLES = [ class Compat2021Summary (line 390) | class Compat2021Summary extends PolymerElement { method template (line 391) | static get template() { method is (line 471) | static get is() { method properties (line 475) | static get properties() { method _stableChanged (line 484) | _stableChanged() { method updateSummaryTitles (line 489) | updateSummaryTitles() { method updateSummaryScores (line 497) | async updateSummaryScores() { method updateSummaryTooltip (line 510) | updateSummaryTooltip(tooltipDiv, scoreBreakdown) { method calculateSummaryScores (line 528) | async calculateSummaryScores(stable) { method calculateColor (line 563) | calculateColor(score) { class Compat2021FeatureChart (line 586) | class Compat2021FeatureChart extends PolymerElement { method template (line 587) | static get template() { method properties (line 650) | static get properties() { method observers (line 658) | static get observers() { method is (line 664) | static get is() { method ready (line 668) | ready() { method updateChart (line 678) | async updateChart(feature, stable) { method getChromeChangelogUrl (line 736) | getChromeChangelogUrl(fromVersion, toVersion) { method getFirefoxStableChangelogUrl (line 743) | getFirefoxStableChangelogUrl(fromVersion, toVersion) { method clickFirefoxNightlyDialogGoButton (line 753) | clickFirefoxNightlyDialogGoButton() { method getChartOptions (line 760) | getChartOptions(containerDiv, feature) { function fetchCsvContents (line 829) | async function fetchCsvContents(url) { FILE: webapp/components/display-logo.js class DisplayLogo (line 12) | class DisplayLogo extends ProductInfo(PolymerElement) { method template (line 13) | static get template() { method is (line 60) | static get is() { method properties (line 64) | static get properties() { method containerClass (line 99) | containerClass(small) { method computeSource (line 103) | computeSource(product, showSource) { method computePlatform (line 110) | computePlatform(product, showPlatform) { FILE: webapp/components/github-login.js class GitHubLogin (line 19) | class GitHubLogin extends PolymerElement { method template (line 20) | static get template() { method is (line 71) | static get is() { method properties (line 75) | static get properties() { method handleLogIn (line 91) | handleLogIn() { method handleLogOut (line 97) | handleLogOut() { method handleTriageToggle (line 103) | handleTriageToggle() { method _fireEvent (line 107) | _fireEvent(eventName, detail) { method openHelpDialog (line 116) | openHelpDialog() { method computeShowTriage (line 120) | computeShowTriage(isTriageMode) { FILE: webapp/components/info-banner.js class InfoBanner (line 14) | class InfoBanner extends PolymerElement { method template (line 15) | static get template() { method is (line 54) | static get is() { method properties (line 58) | static get properties() { FILE: webapp/components/interop-dashboard.js class InteropDashboard (line 19) | class InteropDashboard extends WPTFlags(PolymerElement) { method template (line 20) | static get template() { method is (line 612) | static get is() { method properties (line 616) | static get properties() { method observers (line 661) | static get observers() { method ready (line 668) | async ready() { method getSubtotalScoreStyle (line 726) | getSubtotalScoreStyle(section, isStable) { method getScoreStyle (line 733) | getScoreStyle(feature, isStable) { method addSortEvents (line 741) | addSortEvents() { method isSelected (line 746) | isSelected(feature) { method featureLinks (line 750) | featureLinks(feature, isStable) { method filterGroupSections (line 762) | filterGroupSections() { method getRowInfo (line 766) | getRowInfo(name, prop) { method formatTestsURL (line 771) | formatTestsURL(testsURL, isStable) { method getTestsURL (line 799) | getTestsURL(name, isStable) { method getInvestigationScore (line 804) | getInvestigationScore(rowName, isPreviousYear) { method getInvestigationUrl (line 818) | getInvestigationUrl(rowName, isPreviousYear) { method getInvestigationScoreSubtotal (line 831) | getInvestigationScoreSubtotal(isPreviousYear) { method getNumericalSubtotalScore (line 840) | getNumericalSubtotalScore(browserIndex, section, isStable) { method getSubtotalScore (line 848) | getSubtotalScore(browserIndex, section, isStable) { method getInteropSubtotalScore (line 857) | getInteropSubtotalScore(section, isStable) { method getSummaryOptionText (line 862) | getSummaryOptionText() { method showBrowserIcons (line 870) | showBrowserIcons(index, scoreAsGroup) { method showNoOtherColumns (line 874) | showNoOtherColumns(scoreAsGroup, index) { method getBrowserScoreForFeature (line 878) | getBrowserScoreForFeature(browserIndex, feature, isStable) { method getInteropScoreForFeature (line 888) | getInteropScoreForFeature(feature, isStable) { method getNumericalBrowserScoreByFeature (line 895) | getNumericalBrowserScoreByFeature(browserIndex, feature, isStable) { method getBrowserScoreTotal (line 902) | getBrowserScoreTotal(browserIndex) { method getAllYears (line 906) | getAllYears() { method getYearProp (line 910) | getYearProp(prop) { method updateTotals (line 914) | updateTotals(features) { method updateUrlParams (line 925) | updateUrlParams(embedded, isStable, feature, isMobileScoresView) { method experimentalButtonClass (line 952) | experimentalButtonClass(stable, isMobileScoresView) { method stableButtonClass (line 956) | stableButtonClass(stable, isMobileScoresView) { method mobileButtonClass (line 960) | mobileButtonClass(isMobileScoresView) { method clickExperimental (line 964) | clickExperimental() { method clickStable (line 978) | clickStable() { method clickMobile (line 992) | clickMobile() { method toggleMobileView (line 999) | toggleMobileView(showMobileScores, isStable) { method shouldShowMobileScoresView (line 1015) | shouldShowMobileScoresView() { method isFirstTable (line 1021) | isFirstTable(tableIndex) { method shouldShowFocusAreasDescriptionLink (line 1025) | shouldShowFocusAreasDescriptionLink(tableIndex) { method shouldShowSortIcon (line 1029) | shouldShowSortIcon(columnNumber, sortColumn) { method getFocusAreaSortIcon (line 1034) | getFocusAreaSortIcon(sortColumn, isSortedAsc) { method getInteropSortIcon (line 1045) | getInteropSortIcon(sortColumn, isSortedAsc) { method getSortIcon (line 1058) | getSortIcon(index, sortColumn, isSortedAsc) { method isChromeEdgeCombo (line 1123) | isChromeEdgeCombo(browserInfo) { method getBrowserIcon (line 1127) | getBrowserIcon(browserInfo, isStable) { method getBrowserIconName (line 1132) | getBrowserIconName(browserInfo, isStable) { FILE: webapp/components/interop-data-manager.js constant BROWSER_INFO (line 11) | const BROWSER_INFO = { class InteropDataManager (line 87) | class InteropDataManager { method constructor (line 88) | constructor(year, isMobileScoresView) { method fetchYearData (line 103) | async fetchYearData() { method getDataTable (line 155) | async getDataTable(feature, stable) { method #calcInvestigationTotalScore (line 164) | #calcInvestigationTotalScore(investigationScores) { method getMostRecentScores (line 181) | async getMostRecentScores(stable) { method getBrowserVersions (line 214) | async getBrowserVersions(stable) { method _loadCsv (line 225) | async _loadCsv(label) { method #getInvestigationScoreAndWeight (line 350) | #getInvestigationScoreAndWeight(date) { method createTooltip (line 367) | createTooltip(browser, version, score) { method getYearProp (line 375) | getYearProp(prop) { function fetchCsvContents (line 383) | async function fetchCsvContents(url, isMobileScoresView) { FILE: webapp/components/interop-feature-chart.js class InteropFeatureChart (line 16) | class InteropFeatureChart extends PolymerElement { method template (line 17) | static get template() { method properties (line 119) | static get properties() { method observers (line 135) | static get observers() { method is (line 141) | static get is() { method ready (line 145) | ready() { method getYearProp (line 155) | getYearProp(prop) { method updateChart (line 159) | async updateChart(feature, stable) { method _onLegendItemClick (line 174) | _onLegendItemClick(e) { method getChromeChangelogUrl (line 193) | getChromeChangelogUrl(fromVersion, toVersion) { method getFirefoxStableChangelogUrl (line 200) | getFirefoxStableChangelogUrl(fromVersion, toVersion) { method clickFirefoxNightlyDialogGoButton (line 210) | clickFirefoxNightlyDialogGoButton() { method getChartOptions (line 217) | getChartOptions(feature) { FILE: webapp/components/interop-summary.js class InteropSummary (line 14) | class InteropSummary extends PolymerElement { method template (line 15) | static get template() { method is (line 213) | static get is() { method properties (line 217) | static get properties() { method _stableChanged (line 230) | _stableChanged() { method ready (line 234) | ready() { method shouldDisplayInvestigationNumber (line 254) | shouldDisplayInvestigationNumber() { method roundScore (line 260) | roundScore(score) { method updateSummaryScore (line 275) | updateSummaryScore(number, score) { method updateSummaryScores (line 286) | async updateSummaryScores() { method setSummaryNumberSizes (line 311) | setSummaryNumberSizes() { method getYearProp (line 319) | getYearProp(prop) { method isChromeEdgeCombo (line 324) | isChromeEdgeCombo(browserInfo) { method getBrowserIcon (line 328) | getBrowserIcon(browserInfo, isStable) { method getBrowserIconName (line 333) | getBrowserIconName(browserInfo, isStable) { method getBrowserNameParts (line 342) | getBrowserNameParts(browserInfo) { FILE: webapp/components/loading-state.js method properties (line 12) | static get properties() { method _computeIsLoading (line 46) | _computeIsLoading(loadingCount) { method _loadingCountChanged (line 56) | _loadingCountChanged(now, then) { method load (line 68) | async load(promise, opt_errHandler) { method retry (line 91) | retry(f, shouldRetry, num, wait) { FILE: webapp/components/ohm.js function s (line 13) | function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&re... function getProp (line 13) | function getProp(name,thing,fn){return fn(thing[name])} function mapProp (line 13) | function mapProp(name,thing,fn){return thing[name].map(fn)} function getPropWalkFn (line 13) | function getPropWalkFn(descriptor){var parts=descriptor.split(/ ?\[\]/);... function getProps (line 13) | function getProps(walkFns,thing,fn){return walkFns.map(function(walkFn){... function getWalkFn (line 13) | function getWalkFn(shape){if(typeof shape==="string"){return getProps.bi... function isRestrictedIdentifier (line 13) | function isRestrictedIdentifier(str){return/^[a-zA-Z_][0-9a-zA-Z_]*$/.te... function trim (line 13) | function trim(s){return s.trim()} function parseSignature (line 13) | function parseSignature(sig){var parts=sig.split(/[()]/).map(trim);if(pa... function VisitorFamily (line 13) | function VisitorFamily(config){this._shapes=config.shapes;this._getTag=c... function toAST (line 13) | function toAST(res,mapping){if(!(res instanceof MatchResult)||res.failed... function semanticsForToAST (line 13) | function semanticsForToAST(g){if(!(g instanceof Grammar)){throw new Erro... function isBuffer (line 14) | function isBuffer(obj){return!!obj.constructor&&typeof obj.constructor.i... function isSlowBuffer (line 14) | function isSlowBuffer(obj){return typeof obj.readFloatLE==="function"&&t... function extend (line 14) | function extend(origin,add){if(!add||typeof add!=="object")return origin... function Builder (line 14) | function Builder(){} function CaseInsensitiveTerminal (line 14) | function CaseInsensitiveTerminal(param){this.obj=param} function isValidType (line 14) | function isValidType(type){return type==="description"||type==="string"|... function Failure (line 14) | function Failure(pexpr,text,type){if(!isValidType(type)){throw new Error... function getSortedRuleValues (line 14) | function getSortedRuleValues(grammar){return Object.keys(grammar.rules).... function Grammar (line 14) | function Grammar(name,superGrammar,rules,optDefaultStartRule){this.name=... function isSpecialAction (line 14) | function isSpecialAction(a){return a==="_iter"||a==="_terminal"||a==="_n... function GrammarDecl (line 14) | function GrammarDecl(name){this.name=name} function InputStream (line 14) | function InputStream(source){this.source=source;this.pos=0;this.examined... function Interval (line 14) | function Interval(sourceString,startIdx,endIdx){this.sourceString=source... function MatchResult (line 14) | function MatchResult(matcher,input,startExpr,cst,cstOffset,rightmostFail... function MatchState (line 14) | function MatchState(matcher,startExpr,optPositionToRecordFailures){this.... function Matcher (line 15) | function Matcher(grammar){this.grammar=grammar;this.memoTable=[];this.in... function Namespace (line 15) | function Namespace(){} function PosInfo (line 15) | function PosInfo(){this.applicationMemoKeyStack=[];this.memo={};this.max... function jsonToJS (line 15) | function jsonToJS(str){var output=str.replace(/[\u2028\u2029]/g,function... function Wrapper (line 15) | function Wrapper(){} function Semantics (line 15) | function Semantics(grammar,superSemantics){var self=this;this.grammar=gr... function hasSuperSemantics (line 15) | function hasSuperSemantics(s){return s.super!==Semantics.BuiltInSemantic... function parseSignature (line 15) | function parseSignature(signature,type){if(!prototypeGrammar){common.ass... function newDefaultAction (line 15) | function newDefaultAction(type,name,doIt){return function(children){var ... function doIt (line 15) | function doIt(){var thisThing=this._semantics[typePlural][name];if(argum... function Operation (line 15) | function Operation(name,formals,actionDict,builtInDefault){this.name=nam... function Attribute (line 15) | function Attribute(name,actionDict,builtInDefault){this.name=name;this.f... function initBuiltInSemantics (line 15) | function initBuiltInSemantics(builtInRules){var actions={empty:function(... function initPrototypeParser (line 15) | function initPrototypeParser(grammar){prototypeGrammarSemantics=grammar.... function spaces (line 15) | function spaces(n){return common.repeat(" ",n).join("")} function getInputExcerpt (line 15) | function getInputExcerpt(input,pos,len){var excerpt=asEscapedString(inpu... function asEscapedString (line 15) | function asEscapedString(obj){if(typeof obj==="string"){return obj.repla... function Trace (line 15) | function Trace(input,pos1,pos2,expr,succeeded,bindings,optChildren){this... function _walk (line 15) | function _walk(node,parent,depth){var recurse=true;if(visitor.enter){if(... function createError (line 16) | function createError(message,optInterval){var e;if(optInterval){e=new Er... function intervalSourcesDontMatch (line 16) | function intervalSourcesDontMatch(){return createError("Interval sources... function grammarSyntaxError (line 16) | function grammarSyntaxError(matchFailure){var e=new Error;Object.defineP... function undeclaredGrammar (line 16) | function undeclaredGrammar(grammarName,namespace,interval){var message=n... function duplicateGrammarDeclaration (line 16) | function duplicateGrammarDeclaration(grammar,namespace){return createErr... function undeclaredRule (line 16) | function undeclaredRule(ruleName,grammarName,optInterval){return createE... function cannotOverrideUndeclaredRule (line 16) | function cannotOverrideUndeclaredRule(ruleName,grammarName,optSource){re... function cannotExtendUndeclaredRule (line 16) | function cannotExtendUndeclaredRule(ruleName,grammarName,optSource){retu... function duplicateRuleDeclaration (line 16) | function duplicateRuleDeclaration(ruleName,grammarName,declGrammarName,o... function wrongNumberOfParameters (line 16) | function wrongNumberOfParameters(ruleName,expected,actual,source){return... function wrongNumberOfArguments (line 16) | function wrongNumberOfArguments(ruleName,expected,actual,expr){return cr... function duplicateParameterNames (line 16) | function duplicateParameterNames(ruleName,duplicates,source){return crea... function invalidParameter (line 16) | function invalidParameter(ruleName,expr){return createError("Invalid par... function applicationOfSyntacticRuleFromLexicalContext (line 16) | function applicationOfSyntacticRuleFromLexicalContext(ruleName,applyExpr... function incorrectArgumentType (line 16) | function incorrectArgumentType(expectedType,expr){return createError("In... function kleeneExprHasNullableOperand (line 16) | function kleeneExprHasNullableOperand(kleeneExpr){return createError("Nu... function inconsistentArity (line 16) | function inconsistentArity(ruleName,expected,actual,expr){return createE... function duplicatePropertyNames (line 16) | function duplicatePropertyNames(duplicates){return createError("Object p... function invalidConstructorCall (line 16) | function invalidConstructorCall(grammar,ctorName,children){return create... function multipleErrors (line 16) | function multipleErrors(errors){var messages=errors.map(function(e){retu... function missingSemanticAction (line 16) | function missingSemanticAction(ctorName,name,type,stack){var stackTrace=... function isElement (line 16) | function isElement(obj){return!!(obj&&obj.nodeType===1)} function isUndefined (line 16) | function isUndefined(obj){return obj===void 0} function isArrayLike (line 16) | function isArrayLike(obj){if(obj==null){return false}var length=obj.leng... function load (line 16) | function load(url){var req=new XMLHttpRequest;req.open("GET",url,false);... function buildGrammar (line 16) | function buildGrammar(match,namespace,optOhmGrammarForTesting){var build... function compileAndLoad (line 16) | function compileAndLoad(source,namespace){var m=ohmGrammar.match(source,... function getScriptElementContents (line 16) | function getScriptElementContents(el){if(!isElement(el)){throw new TypeE... function grammar (line 16) | function grammar(source,optNamespace){var ns=grammars(source,optNamespac... function grammars (line 16) | function grammars(source,optNamespace){var ns=Namespace.extend(Namespace... function grammarFromScriptElement (line 16) | function grammarFromScriptElement(optNode){var node=optNode;if(isUndefin... function grammarsFromScriptElements (line 16) | function grammarsFromScriptElements(optNodeOrNodeList){if(isElement(optN... function makeRecipe (line 16) | function makeRecipe(recipe){if(typeof recipe==="function"){return recipe... function Node (line 16) | function Node(grammar,ctorName,matchLength){this.grammar=grammar;this.ct... function TerminalNode (line 16) | function TerminalNode(grammar,value){var matchLength=value?value.length:... function NonterminalNode (line 16) | function NonterminalNode(grammar,ruleName,children,childOffsets,matchLen... function IterationNode (line 16) | function IterationNode(grammar,children,childOffsets,matchLength,isOptio... function flatten (line 17) | function flatten(listOfLists){return Array.prototype.concat.apply([],lis... function categorizeExamples (line 17) | function categorizeExamples(examples){var examplesNeeded=examples.filter... function getMetaInfo (line 17) | function getMetaInfo(expr,grammarInterval){var metaInfo={};if(expr.sourc... function isRestrictedJSIdentifier (line 17) | function isRestrictedJSIdentifier(str){return/^[a-zA-Z_$][0-9a-zA-Z_$]*$... function resolveDuplicatedNames (line 17) | function resolveDuplicatedNames(argumentNameList){var count=Object.creat... function PExpr (line 17) | function PExpr(){throw new Error("PExpr cannot be instantiated -- it's a... function Terminal (line 17) | function Terminal(obj){this.obj=obj} function Range (line 17) | function Range(from,to){this.from=from;this.to=to} function Param (line 17) | function Param(index){this.index=index} function Alt (line 17) | function Alt(terms){this.terms=terms} function Extend (line 17) | function Extend(superGrammar,name,body){this.superGrammar=superGrammar;t... function Seq (line 17) | function Seq(factors){this.factors=factors} function Iter (line 17) | function Iter(expr){this.expr=expr} function Star (line 17) | function Star(expr){this.expr=expr} function Plus (line 17) | function Plus(expr){this.expr=expr} function Opt (line 17) | function Opt(expr){this.expr=expr} function Not (line 17) | function Not(expr){this.expr=expr} function Lookahead (line 17) | function Lookahead(expr){this.expr=expr} function Lex (line 17) | function Lex(expr){this.expr=expr} function Apply (line 17) | function Apply(ruleName,optArgs){this.ruleName=ruleName;this.args=optArg... function UnicodeChar (line 17) | function UnicodeChar(category){this.category=category;this.pattern=Unico... function padNumbersToEqualLength (line 17) | function padNumbersToEqualLength(arr){var maxLen=0;var strings=arr.map(f... function strcpy (line 17) | function strcpy(dest,src,offset){var origDestLen=dest.length;var start=d... function appendLine (line 17) | function appendLine(num,content,prefix){sb.append(prefix+lineNumbers[num... FILE: webapp/components/path.js method properties (line 14) | static get properties() { method encodeTestPath (line 42) | encodeTestPath(path) { method computeTestScheme (line 53) | computeTestScheme(path) { method computePathIsASubfolder (line 61) | computePathIsASubfolder(path) { method computePathIsATestFile (line 70) | computePathIsATestFile(path) { method computePathIsRootDir (line 76) | computePathIsRootDir(path) { method isParentDir (line 80) | isParentDir(path, dir) { method getDirname (line 88) | getDirname(path) { method splitPathIntoLinkedParts (line 94) | splitPathIntoLinkedParts(inputPath) { class PathPart (line 118) | class PathPart extends PathInfo(PolymerElement) { method template (line 119) | static get template() { method is (line 142) | static get is() { method properties (line 146) | static get properties() { method computeHref (line 181) | computeHref(prefix, path, query, isTriageMode) { method computeDisplayableRelativePath (line 196) | computeDisplayableRelativePath(path) { method computePathClass (line 206) | computePathClass(isDir) { FILE: webapp/components/pluralize.js function sanitizeRule (line 55) | function sanitizeRule (rule) { function restoreCase (line 71) | function restoreCase (word, token) { function interpolate (line 94) | function interpolate (str, args) { function replace (line 107) | function replace (word, rule) { function sanitizeWord (line 127) | function sanitizeWord (token, word, rules) { function replaceWord (line 153) | function replaceWord (replaceMap, keepMap, rules) { function checkWord (line 176) | function checkWord (replaceMap, keepMap, rules, bool) { function pluralize (line 195) | function pluralize (word, count, inclusive) { method pluralize (line 516) | pluralize(word, count) { FILE: webapp/components/product-builder.js class ProductBuilder (line 22) | class ProductBuilder extends ProductInfo(PolymerElement) { method template (line 23) | static get template() { method is (line 85) | static get is() { method properties (line 89) | static get properties() { method constructor (line 159) | constructor() { method computeProduct (line 167) | computeProduct(browserName, browserVersion, labels) { method computeSpec (line 177) | computeSpec(product) { method labelsChanged (line 181) | labelsChanged(labels) { method semanticLabelChanged (line 192) | semanticLabelChanged(newValue, oldValue) { method productWithChannel (line 207) | productWithChannel(product, channel) { method computeVersionsURL (line 214) | computeVersionsURL(product) { method versionsURLUpdated (line 223) | versionsURLUpdated(url, urlBefore) { method versionsUpdated (line 233) | versionsUpdated(version, versions) { method versionsAutocompleteUpdated (line 250) | versionsAutocompleteUpdated(versionsAutocomplete) { FILE: webapp/components/product-info.js function parseProductSpec (line 77) | function parseProductSpec(spec) { function parseProduct (line 110) | function parseProduct(name) { function productFromRun (line 124) | function productFromRun(run) { method properties (line 135) | static get properties() { method displayName (line 148) | displayName(name) { method displayLabels (line 152) | displayLabels(labels) { method displayMetadataLogo (line 159) | displayMetadataLogo(productName) { method displayLogo (line 167) | displayLogo(name, labels) { method sourceName (line 204) | sourceName(product) { method minorIsSignificant (line 211) | minorIsSignificant(browserName) { method shortVersion (line 219) | shortVersion(browserName, browserVersion) { method parseProductSpec (line 237) | parseProductSpec(spec) { method parseProduct (line 241) | parseProduct(name) { method getSpec (line 245) | getSpec(product, withRevision=true) { method computeIsLatest (line 259) | computeIsLatest(sha) { FILE: webapp/components/reftest-analyzer.js class ReftestAnalyzer (line 21) | class ReftestAnalyzer extends LoadingState(PolymerElement) { method template (line 22) | static get template() { method is (line 144) | static get is() { method properties (line 148) | static get properties() { method constructor (line 177) | constructor() { method ready (line 182) | ready() { method setupCanvases (line 204) | async setupCanvases() { method makeCanvas (line 209) | async makeCanvas(image) { method sourceImage (line 221) | get sourceImage() { method setupZoomSVG (line 225) | async setupZoomSVG() { method getRGB (line 250) | getRGB(canvas, x, y) { method computeDiff (line 259) | computeDiff(canvasBefore, canvasAfter) { method handleZoom (line 311) | handleZoom(e) { method showError (line 342) | showError() { FILE: webapp/components/results-navigation.js method properties (line 15) | static get properties() { method computedQueryChanged (line 36) | computedQueryChanged(computedQueryParams) { method queryParamsChanged (line 43) | queryParamsChanged(queryParams, queryParamsBefore) { method computeQuery (line 57) | computeQuery(params) { method _queryChanged (line 79) | _queryChanged(query, queryBefore) { method queryChanged (line 86) | queryChanged(query) { method parseQuery (line 95) | parseQuery(query) { FILE: webapp/components/self-navigator.js method properties (line 17) | static get properties() { method ready (line 28) | ready() { method urlToPath (line 48) | urlToPath(location) { method encodeTestPath (line 64) | encodeTestPath(path) { method decodeTestPath (line 71) | decodeTestPath(path) { method pathUpdated (line 78) | pathUpdated(path) { method navigationPathPrefix (line 88) | navigationPathPrefix() { method navigationQueryParams (line 96) | navigationQueryParams() { method bindNavigate (line 100) | bindNavigate() { method navigate (line 104) | navigate(event) { method navigateToLocation (line 116) | navigateToLocation(location) { method navigateToPath (line 140) | navigateToPath(testPath) { method getLocation (line 146) | getLocation(params, location) { FILE: webapp/components/test-file-results-table.js class TestFileResultsTable (line 22) | class TestFileResultsTable extends WPTFlags(Pluralizer(AmendMetadataMixi... method is (line 23) | static get is() { method template (line 27) | static get template() { method properties (line 202) | static get properties() { method observers (line 286) | static get observers() { method constructor (line 293) | constructor() { method computeDisplayedProducts (line 301) | computeDisplayedProducts(testRuns) { method subtestMessage (line 309) | subtestMessage(result, verbose) { method computeAnalyzerURL (line 327) | computeAnalyzerURL(screenshots) { method computeSubtestThWidth (line 338) | computeSubtestThWidth(testRuns, diffRun) { method computeRunThWidth (line 344) | computeRunThWidth(testRuns, diffRun) { method computeFirstRow (line 350) | computeFirstRow(rows) { method computeTotals (line 354) | computeTotals(rows) { method colorClass (line 383) | colorClass(status) { method totalsColorClass (line 392) | totalsColorClass(passes, total) { method parseFailureMessage (line 401) | parseFailureMessage(result) { method anyScreenshots (line 414) | anyScreenshots(row) { method testScreenshot (line 418) | testScreenshot(screenshots) { method diffDisplay (line 431) | diffDisplay(results) { method diffClass (line 443) | diffClass(results) { method canAmendMetadata (line 452) | canAmendMetadata(status) { method hasFailed (line 456) | hasFailed(status) { method clearSelectedCells (line 460) | clearSelectedCells() { method selectedMetadataChanged (line 466) | selectedMetadataChanged(e) { method handleTriageMode (line 470) | handleTriageMode(isTriageMode) { method handleTriageHover (line 474) | handleTriageHover() { method handleTriageSelect (line 481) | handleTriageSelect() { method openAmendMetadata (line 492) | openAmendMetadata() { method shouldDisplayMetadata (line 496) | shouldDisplayMetadata(index, subtestname, metadataMap, status, isTriag... method shouldShowTotals (line 510) | shouldShowTotals(totals) { method getMetadataUrlForSubtest (line 514) | getMetadataUrlForSubtest(index, subtestname, metadataMap) { FILE: webapp/components/test-file-results.js class TestFileResults (line 19) | class TestFileResults extends WPTFlags(LoadingState(PathInfo( method template (line 21) | static get template() { method is (line 63) | static get is() { method properties (line 67) | static get properties() { method connectedCallback (line 97) | async connectedCallback() { method observers (line 103) | static get observers() { method loadData (line 107) | async loadData(path, testRuns, structuredSearch) { method fetchSearchResults (line 117) | async fetchSearchResults(path, testRuns, structuredSearch) { method fetchTestFile (line 159) | async fetchTestFile(path, testRuns) { method loadResultFile (line 201) | async loadResultFile(testRun) { method resultsTableHeaders (line 210) | resultsTableHeaders(resultsPerTestRun) { method filterResultsTableBySearch (line 233) | filterResultsTableBySearch(path, resultsTable, searchResults) { method mergeNamesInto (line 247) | mergeNamesInto(names, allNames) { method resultsURL (line 272) | resultsURL(testRun, path) { method statusName (line 284) | statusName(numSubtests) { method shuffleScreenshots (line 288) | shuffleScreenshots(path, rawScreenshots) { method computeRows (line 301) | computeRows(resultsTable, onlyShowDifferences) { method _fireEvent (line 323) | _fireEvent(eventName, detail) { FILE: webapp/components/test-info.js class TestStatus (line 1) | class TestStatus { method constructor (line 2) | constructor(name) { method isPass (line 6) | get isPass() { method toString (line 10) | toString() { FILE: webapp/components/test-results-history-timeline.js constant PASS_COLOR (line 11) | const PASS_COLOR = pageStyle.getPropertyValue('--paper-green-300'); constant FAIL_COLOR (line 12) | const FAIL_COLOR = pageStyle.getPropertyValue('--paper-red-300'); constant NEUTRAL_COLOR (line 13) | const NEUTRAL_COLOR = pageStyle.getPropertyValue('--paper-grey-300'); constant COLOR_MAPPING (line 14) | const COLOR_MAPPING = { constant BROWSER_NAMES (line 33) | const BROWSER_NAMES = [ class TestResultsTimeline (line 40) | class TestResultsTimeline extends PathInfo(PolymerElement) { method template (line 41) | static get template() { method properties (line 78) | static get properties() { method observers (line 91) | static get observers() { method is (line 97) | static get is() { method displayCharts (line 101) | displayCharts(showTestHistory, path, subtestNames) { method loadCharts (line 120) | async loadCharts() { method updateAllCharts (line 124) | updateAllCharts(historicalData, subtestNames) { method updateChart (line 142) | updateChart(browserTestData, divID, chartIndex, subtestNames) { method getTestHistory (line 255) | async getTestHistory(path) { FILE: webapp/components/test-run.js class TestRun (line 29) | class TestRun extends WPTFlags(ProductInfo(PolymerElement)) { method template (line 30) | static get template() { method is (line 99) | static get is() { method properties (line 103) | static get properties() { method dateFormat (line 125) | dateFormat(isoDate) { method timeFormat (line 133) | timeFormat(isoDate) { method timeTaken (line 145) | timeTaken(testRun) { method isDiff (line 153) | isDiff(browserName) { method moreTooltip (line 157) | moreTooltip(testRun) { method sevenCharSHA (line 168) | sevenCharSHA(sha) { method displaySource (line 172) | displaySource(testRun) { FILE: webapp/components/test-runs-query-builder.js class TestRunsQueryBuilder (line 29) | class TestRunsQueryBuilder extends WPTFlags(TestRunsUIQuery(PolymerEleme... method template (line 30) | static get template() { method is (line 121) | static get is() { method properties (line 125) | static get properties() { method constructor (line 168) | constructor() { method ready (line 187) | ready() { method computeCanShowDiff (line 197) | computeCanShowDiff(productSpecs) { method handleDeleteProduct (line 201) | handleDeleteProduct(i) { method handleProductChanged (line 205) | handleProductChanged(i, product) { method handleSubmit (line 209) | handleSubmit() { method computeSHAsURL (line 226) | computeSHAsURL(query) { method shasURLUpdated (line 234) | shasURLUpdated(url) { method shasUpdated (line 241) | shasUpdated(sha, matchingSHAs) { method shaUpdated (line 257) | shaUpdated(sha) { method shasAutocompleteUpdated (line 261) | shasAutocompleteUpdated(shasAutocomplete) { method labelsUpdated (line 271) | labelsUpdated(labels) { method labelsStringUpdated (line 279) | labelsStringUpdated(labelsString) { method handleAddProduct (line 287) | handleAddProduct() { method clearQuery (line 300) | clearQuery() { method handleClearAll (line 305) | handleClearAll() { method fromISOChanged (line 310) | fromISOChanged(from) { method toISOChanged (line 317) | toISOChanged(to) { FILE: webapp/components/test-runs-query.js method properties (line 17) | static get properties() { method ready (line 63) | ready() { method queryChanged (line 76) | queryChanged(query, queryBefore) { method sha (line 87) | get sha() { method productsChanged (line 91) | productsChanged(products) { method productSpecsChanged (line 100) | productSpecsChanged(productSpecs) { method computeTestRunQueryParams (line 112) | computeTestRunQueryParams(shas, aligned, master, labels, productSpecs, t... method showDefaultView (line 174) | showDefaultView(view, q) { method parseQuery (line 178) | parseQuery(query) { method computeProducts (line 204) | computeProducts(productSpecs) { method computeIsDefaultProducts (line 208) | computeIsDefaultProducts(productSpecs) { method emptyQuery (line 213) | get emptyQuery() { method clearQuery (line 223) | clearQuery() { method updateQueryParams (line 230) | updateQueryParams(params) { method _getBatchUpdate (line 242) | _getBatchUpdate(params) { method computeResultsRangeMessage (line 298) | computeResultsRangeMessage(shas, productSpecs, from, to, maxCount, label... method properties (line 342) | static get properties() { method computeTestRunUIQueryParams (line 367) | computeTestRunUIQueryParams(shas, aligned, master, labels, productSpecs,... method parseQuery (line 387) | parseQuery(query) { method _getBatchUpdate (line 403) | _getBatchUpdate(params) { FILE: webapp/components/test-runs.js method properties (line 17) | static get properties() { method _fireTestRunsLoadEvent (line 28) | _fireTestRunsLoadEvent() { method loadRuns (line 38) | async loadRuns() { method loadMoreRuns (line 71) | async loadMoreRuns() { class TestRunsBase (line 90) | class TestRunsBase extends TestRunsQueryLoader(TestRunsQuery(PolymerElem... method is (line 92) | static get is() { class TestRunsUIBase (line 97) | class TestRunsUIBase extends TestRunsQueryLoader(TestRunsUIQuery(Polymer... FILE: webapp/components/test-search.js constant QUERY_GRAMMAR (line 38) | const QUERY_GRAMMAR = ohm.grammar(` constant QUERY_SEMANTICS (line 226) | const QUERY_SEMANTICS = QUERY_GRAMMAR.createSemantics().addOperation('ev... constant QUERY_DEBOUNCE_ID (line 383) | const QUERY_DEBOUNCE_ID = Symbol('query_debounce_timeout'); class TestSearch (line 385) | class TestSearch extends WPTFlags(PolymerElement) { method template (line 386) | static get template() { method QUERY_GRAMMAR (line 417) | static get QUERY_GRAMMAR() { method QUERY_SEMANTICS (line 420) | static get QUERY_SEMANTICS() { method is (line 423) | static get is() { method properties (line 426) | static get properties() { method constructor (line 460) | constructor() { method ready (line 470) | ready() { method queryUpdated (line 476) | queryUpdated(query) { method parseAndInterpretQuery (line 492) | parseAndInterpretQuery(query) { method updateDatalist (line 501) | updateDatalist(query, paths) { method queryInputChanged (line 536) | queryInputChanged(_, oldQuery) { method latchQuery (line 547) | latchQuery() { method commitQuery (line 551) | commitQuery() { method handleKeyDown (line 562) | handleKeyDown(e) { method handleKeyUp (line 570) | handleKeyUp(e) { method handleChange (line 577) | handleChange(e) { method handleFocus (line 599) | handleFocus() { method handleBlur (line 603) | handleBlur() { method clear (line 607) | clear() { FILE: webapp/components/test/util/helpers.js function waitingOn (line 7) | async function waitingOn(predicate) { constant TEST_RUNS_DATA (line 18) | const TEST_RUNS_DATA = [ FILE: webapp/components/utils.js function timeTaken (line 1) | function timeTaken(millis) { function calculateColor (line 32) | function calculateColor(score) { FILE: webapp/components/wpt-amend-metadata.js method properties (line 17) | static get properties() { method observers (line 37) | static get observers() { method pathChanged (line 43) | pathChanged() { method computeHasSelections (line 47) | computeHasSelections(selectedMetadata) { method handleClear (line 51) | handleClear(selectedMetadata) { method handleHover (line 60) | handleHover(td, canAmend) { method _updateSelectedMetadataAndCells (line 71) | _updateSelectedMetadataAndCells(td, browser, test) { method handleSelect (line 92) | handleSelect(td, browser, test, toast) { method handleTriageModeChange (line 100) | handleTriageModeChange(mode, toast) { method triageToastMsg (line 112) | triageToastMsg(arrayLen) { class AmendMetadata (line 124) | class AmendMetadata extends LoadingState(PathInfo(ProductInfo(PolymerEle... method is (line 125) | static get is() { method template (line 129) | static get template() { method properties (line 208) | static get properties() { method constructor (line 228) | constructor() { method dialog (line 235) | get dialog() { method open (line 239) | open() { method close (line 245) | close() { method triageSubmit (line 258) | triageSubmit() { method triageOnEnter (line 263) | triageOnEnter(e) { method getTriagedMetadataMap (line 269) | getTriagedMetadataMap(displayedMetadata) { method hasSearchURL (line 313) | hasSearchURL(product) { method getSearchURL (line 331) | getSearchURL(testName, product) { method hasFileIssueURL (line 372) | hasFileIssueURL(product) { method getFileIssueURL (line 379) | getFileIssueURL(testName) { method populateDisplayData (line 386) | populateDisplayData() { method handleFieldInput (line 423) | handleFieldInput(event) { method handleTriage (line 471) | handleTriage() { FILE: webapp/components/wpt-bsf.js class WPTBSF (line 16) | class WPTBSF extends LoadingState(PolymerElement) { method template (line 17) | static get template() { method is (line 86) | static get is() { method properties (line 90) | static get properties() { method constructor (line 136) | constructor() { method computeGitHubHref (line 169) | computeGitHubHref(sha) { method computeShortSHA (line 173) | computeShortSHA(sha) { method stableButtonClass (line 177) | stableButtonClass(isExperimental) { method experimentalButtonClass (line 181) | experimentalButtonClass(isExperimental) { method loadBSFData (line 185) | loadBSFData() { FILE: webapp/components/wpt-colors.js method passRateClass (line 60) | passRateClass(passes, total) { method passRateColorRGBA (line 63) | passRateColorRGBA(passes, total, alpha) { FILE: webapp/components/wpt-flags.js method is (line 98) | static get is() { method properties (line 102) | static get properties() { method setLocalStorageFlag (line 108) | setLocalStorageFlag(value, feature) { method getLocalStorageFlag (line 114) | getLocalStorageFlag(feature) { method ready (line 143) | ready() { method properties (line 157) | static get properties() { method valueChanged (line 166) | valueChanged(value, feature) { method handleChange (line 187) | handleChange(e) { class WPTFlagsEditor (line 195) | class WPTFlagsEditor extends FlagsEditorClass(/*environmentFlags*/ false) { method template (line 196) | static get template() { method is (line 277) | static get is() { class WPTEnvironmentFlagsEditor (line 287) | class WPTEnvironmentFlagsEditor extends FlagsEditorClass(/*environmentFl... method template (line 288) | static get template() { method is (line 343) | static get is() { method ready (line 347) | ready() { FILE: webapp/components/wpt-header.js class WPTHeader (line 14) | class WPTHeader extends WPTFlags(PolymerElement) { method template (line 15) | static get template() { method is (line 237) | static get is() { method properties (line 241) | static get properties() { method _toggleMenu (line 266) | _toggleMenu() { method _computeMenuButtonClass (line 275) | _computeMenuButtonClass(isOpen) { method _computeNavLinksClass (line 284) | _computeNavLinksClass(isOpen) { method _computeAriaLabel (line 293) | _computeAriaLabel(isOpen) { FILE: webapp/components/wpt-insights.js class Insights (line 18) | class Insights extends ProductInfo(PolymerElement) { method template (line 19) | static get template() { method is (line 36) | static get is() { class Flakes (line 53) | class Flakes extends ProductInfo(PolymerElement) { method is (line 54) | static get is() { method template (line 58) | static get template() { method properties (line 78) | static get properties() { method computeQuery (line 96) | computeQuery() { method computeURL (line 104) | computeURL(browser, query) { class Anomalies (line 115) | class Anomalies extends ProductInfo(PolymerElement) { method is (line 116) | static get is() { method template (line 120) | static get template() { method properties (line 149) | static get properties() { method allProductsExcept (line 179) | allProductsExcept(browser) { method computeOthersDisplayNames (line 183) | computeOthersDisplayNames(others) { method computeQuery (line 189) | computeQuery(anomalyType, browser, others) { method computeURL (line 198) | computeURL(query, browser, others) { class ReleaseRegressions (line 211) | class ReleaseRegressions extends ProductInfo(PolymerElement) { method is (line 212) | static get is() { method template (line 216) | static get template() { method properties (line 254) | static get properties() { method computeQuery (line 284) | computeQuery() { method computeURL (line 292) | computeURL(browser, channel, query) { method computeBrowser (line 301) | computeBrowser(browser, channel) { FILE: webapp/components/wpt-metadata.js class WPTMetadataNode (line 19) | class WPTMetadataNode extends ProductInfo(PolymerElement) { method template (line 20) | static get template() { method is (line 53) | static get is() { method properties (line 57) | static get properties() { method computeTestHref (line 68) | computeTestHref(path, metadataNode) { class WPTMetadata (line 79) | class WPTMetadata extends PathInfo(LoadingState(PolymerElement)) { method template (line 80) | static get template() { method is (line 112) | static get is() { method properties (line 116) | static get properties() { method constructor (line 160) | constructor() { method _resetSelectors (line 165) | _resetSelectors() { method loadMergedMetadata (line 175) | loadMergedMetadata(products) { method loadPendingMetadata (line 197) | loadPendingMetadata() { method computeMetadata (line 206) | computeMetadata(mergedMetadata, pendingMetadata) { method computeTestResultSet (line 221) | computeTestResultSet(searchResults) { method appendTestLabel (line 239) | appendTestLabel(testname, labelMap, label) { method computeDisplayedMetadata (line 251) | computeDisplayedMetadata(path, metadata, testResultSet) { method computeFirstThree (line 325) | computeFirstThree(displayedMetadata) { method computeOthers (line 329) | computeOthers(displayedMetadata) { method getUrlHref (line 336) | getUrlHref(url) { method handleOpenCollapsible (line 345) | handleOpenCollapsible() { method shouldShowMetadata (line 350) | shouldShowMetadata(metadataTestName, path, testResultSet) { FILE: webapp/components/wpt-permalinks.js class Permalinks (line 17) | class Permalinks extends QueryBuilder(PolymerElement) { method is (line 18) | static get is() { method template (line 22) | static get template() { method properties (line 56) | static get properties() { method constructor (line 85) | constructor() { method dialog (line 90) | get dialog() { method toast (line 94) | get toast() { method open (line 98) | open() { method computeURL (line 102) | computeURL(selectedTab, queryParams, pathPrefix, path, includePath, in... method handleCopyToClipboard (line 136) | async handleCopyToClipboard() { FILE: webapp/components/wpt-processor.js class WPTProcessor (line 18) | class WPTProcessor extends ProductInfo(LoadingState(PolymerElement)) { method template (line 19) | static get template() { method is (line 125) | static get is() { method properties (line 129) | static get properties() { method _selectedTabChanged (line 147) | _selectedTabChanged(tab) { method loadPendingRuns (line 157) | async loadPendingRuns(path) { method _product (line 170) | _product(item) { method _timestamp (line 176) | _timestamp(date) { method refreshContextMenu (line 184) | refreshContextMenu(e) { method toggleAllDetails (line 213) | toggleAllDetails(e) { FILE: webapp/components/wpt-runs.js class WPTRuns (line 29) | class WPTRuns extends Pluralizer(WPTFlags(SelfNavigation(LoadingState(Te... method template (line 30) | static get template() { method is (line 238) | static get is() { method properties (line 242) | static get properties() { method constructor (line 281) | constructor() { method ready (line 297) | async ready() { method resetScrollThreshold (line 303) | resetScrollThreshold() { method computeIsLoadingFirstRuns (line 308) | computeIsLoadingFirstRuns(isLoading) { method computeDateDisplay (line 312) | computeDateDisplay(results) { method computeTimeDisplay (line 328) | computeTimeDisplay(results) { method testRunsLoaded (line 340) | testRunsLoaded(testRuns) { method runClass (line 395) | runClass(testRuns, browser) { method runList (line 403) | runList(testRuns, browser) { method runLink (line 407) | runLink(run) { method revisionLink (line 418) | revisionLink(results) { method computeThWidth (line 427) | computeThWidth(browsers) { method handleSubmitQuery (line 431) | handleSubmitQuery() { method handleLoadNextPage (line 449) | handleLoadNextPage() { method githubRevision (line 455) | githubRevision(sha) { method commitType (line 459) | commitType(runsByBrowser) { method _showRuns (line 474) | _showRuns(diff) { method handleSelectRun (line 485) | handleSelectRun(e) { method computeRunPlural (line 502) | computeRunPlural(selectedRuns) { method computeTwoRunsSelected (line 506) | computeTwoRunsSelected(selectedRuns) { FILE: webapp/components_handler.go constant packageRegexReplacement (line 18) | packageRegexReplacement = "$1 $2/node_modules/$3" function componentsHandler (line 28) | func componentsHandler(w http.ResponseWriter, r *http.Request) { FILE: webapp/components_handler_test.go function TestPackageRegex (line 15) | func TestPackageRegex(t *testing.T) { FILE: webapp/dynamic_components_handler.go function init (line 19) | func init() { function flagsComponentHandler (line 27) | func flagsComponentHandler(w http.ResponseWriter, r *http.Request) { FILE: webapp/flags_handler.go function flagsHandler (line 11) | func flagsHandler(w http.ResponseWriter, r *http.Request) { FILE: webapp/insights_handler.go function insightsHandler (line 13) | func insightsHandler(w http.ResponseWriter, r *http.Request) { FILE: webapp/interop_handler.go type interopData (line 15) | type interopData struct constant defaultRedirectYear (line 26) | defaultRedirectYear = "2026" function interopHandler (line 29) | func interopHandler(w http.ResponseWriter, r *http.Request) { FILE: webapp/interop_handler_test.go function TestInteropHandler_redirect (line 20) | func TestInteropHandler_redirect(t *testing.T) { function TestInteropHandler_redirectMobile (line 42) | func TestInteropHandler_redirectMobile(t *testing.T) { function TestInteropHandler_redirectdefault (line 64) | func TestInteropHandler_redirectdefault(t *testing.T) { function TestInteropHandler_compatRedirect (line 85) | func TestInteropHandler_compatRedirect(t *testing.T) { function TestInteropHandler_success (line 99) | func TestInteropHandler_success(t *testing.T) { function TestInteropHandler_mobileSuccess (line 113) | func TestInteropHandler_mobileSuccess(t *testing.T) { FILE: webapp/login.go function loginHandler (line 19) | func loginHandler(w http.ResponseWriter, r *http.Request) { function handleLogin (line 35) | func handleLogin(g shared.GitHubOAuth, w http.ResponseWriter, r *http.Re... function oauthHandler (line 75) | func oauthHandler(w http.ResponseWriter, r *http.Request) { function handleOauth (line 85) | func handleOauth(g shared.GitHubOAuth, w http.ResponseWriter, r *http.Re... function logoutHandler (line 158) | func logoutHandler(response http.ResponseWriter, r *http.Request) { function setSession (line 167) | func setSession(ctx context.Context, ds shared.Datastore, user *shared.U... function setState (line 202) | func setState(ctx context.Context, ds shared.Datastore, state string, re... function decodeState (line 225) | func decodeState(ctx context.Context, ds shared.Datastore, encryptedStat... function clearSession (line 238) | func clearSession(response http.ResponseWriter) { function generateRandomState (line 248) | func generateRandomState(size int) (string, error) { function getCallbackURI (line 258) | func getCallbackURI(ret string, r *http.Request) string { FILE: webapp/login_test.go function TestHandleLogin (line 32) | func TestHandleLogin(t *testing.T) { function TestHandleOauth (line 68) | func TestHandleOauth(t *testing.T) { FILE: webapp/processor.go function processorStatusHandler (line 12) | func processorStatusHandler(w http.ResponseWriter, r *http.Request) { FILE: webapp/routes.go function RegisterRoutes (line 14) | func RegisterRoutes() { function livenessCheckHandler (line 71) | func livenessCheckHandler(w http.ResponseWriter, r *http.Request) { function readinessCheckHandler (line 79) | func readinessCheckHandler(w http.ResponseWriter, r *http.Request) { FILE: webapp/template.go function init (line 21) | func init() { type templateData (line 29) | type templateData struct function RenderTemplate (line 41) | func RenderTemplate(w http.ResponseWriter, r *http.Request, name string,... FILE: webapp/test_results_handler.go type testRunUIFilter (line 19) | type testRunUIFilter struct type homepageData (line 36) | type homepageData struct function testResultsHandler (line 49) | func testResultsHandler(w http.ResponseWriter, r *http.Request) { function populateHomepageData (line 80) | func populateHomepageData(r *http.Request) (data homepageData, err error) { function convertTestRunUIFilter (line 149) | func convertTestRunUIFilter(testRunFilter shared.TestRunFilter) (filter ... function unpackTestRun (line 177) | func unpackTestRun(base64Run string) (*shared.TestRun, error) { FILE: webapp/test_results_handler_medium_test.go function TestPopulateHomepageData (line 17) | func TestPopulateHomepageData(t *testing.T) { FILE: webapp/test_runs_handler.go function testRunsHandler (line 15) | func testRunsHandler(w http.ResponseWriter, r *http.Request) { function parseTestRunsUIFilter (line 31) | func parseTestRunsUIFilter(r *http.Request) (filter testRunUIFilter, err... FILE: webapp/views/wpt-404.js class WPT404 (line 5) | class WPT404 extends PolymerElement { method template (line 6) | static get template() { method is (line 34) | static get is() { return 'wpt-404'; } FILE: webapp/views/wpt-app.js class WPTApp (line 20) | class WPTApp extends PathInfo(WPTFlags(TestRunsUIBase)) { method is (line 21) | static get is() { method template (line 25) | static get template() { method properties (line 179) | static get properties() { method observers (line 228) | static get observers() { method constructor (line 235) | constructor() { method connectedCallback (line 290) | connectedCallback() { method disconnectedCallback (line 299) | disconnectedCallback() { method ready (line 306) | ready() { method bsfIsInteractingChanged (line 318) | bsfIsInteractingChanged(e) { method queryChanged (line 322) | queryChanged(query) { method _routeChanged (line 331) | _routeChanged(routeData) { method _subrouteChanged (line 338) | _subrouteChanged(subroute) { method activeView (line 342) | get activeView() { method _computeIsLoading (line 346) | _computeIsLoading(resultsLoading) { method handleKeyDown (line 350) | handleKeyDown(e) { method handleSubmitQuery (line 362) | handleSubmitQuery() { method handleSearchCommit (line 368) | handleSearchCommit(e) { method handleSearchAutocomplete (line 376) | handleSearchAutocomplete(e) { method handleAddMasterLabel (line 381) | handleAddMasterLabel(e) { method handleTriageToggle (line 388) | handleTriageToggle(e) { method handleTestRunsLoad (line 392) | handleTestRunsLoad(e) { method computeEditable (line 396) | computeEditable(queryParams) { method computeResultsTotalsRangeMessage (line 403) | computeResultsTotalsRangeMessage(page, path, searchResults, shas, prod... method computeBSFBannerMessage (line 440) | computeBSFBannerMessage(isBSFCollapsed) { method computeShowBSFGraph (line 448) | computeShowBSFGraph(page, queryParams, pathIsRootDir, showBSF) { method computeIsBSFCollapsed (line 462) | computeIsBSFCollapsed() { method getCollapseIcon (line 470) | getCollapseIcon(isBSFCollapsed) { FILE: webapp/views/wpt-results.js constant TEST_TYPES (line 38) | const TEST_TYPES = ['manual', 'reftest', 'testharness', 'visual', 'wdspe... constant STATUS_ABBREVIATIONS (line 45) | const STATUS_ABBREVIATIONS = { constant PASSING_STATUSES (line 56) | const PASSING_STATUSES = ['O', 'P']; constant VIEW_ENUM (line 59) | const VIEW_ENUM = { function isViewTestPass (line 77) | function isViewTestPass(total, passes, status) { function isTestMissing (line 94) | function isTestMissing(total, status) { class WPTResults (line 98) | class WPTResults extends AmendMetadataMixin(Pluralizer(WPTColors(WPTFlag... method template (line 99) | static get template() { method is (line 445) | static get is() { method properties (line 449) | static get properties() { method observers (line 536) | static get observers() { method isInvalidDiffUse (line 544) | isInvalidDiffUse(diff, testRuns) { method computePathIsASubfolderOrFile (line 548) | computePathIsASubfolderOrFile(isSubfolder, isFile) { method computeLiveTestDomain (line 552) | computeLiveTestDomain() { method computeTestPaths (line 559) | computeTestPaths(searchResults) { method computeDisplayedTests (line 564) | computeDisplayedTests(path, searchResults) { method computeDiffURL (line 570) | computeDiffURL(testRuns) { method constructor (line 582) | constructor() { method connectedCallback (line 603) | connectedCallback() { method disconnectedCallback (line 609) | disconnectedCallback() { method loadData (line 614) | loadData() { method reloadData (line 637) | reloadData() { method handleGetSubtestRows (line 649) | handleGetSubtestRows(event) { method fetchResults (line 659) | fetchResults(q) { method fetchDiff (line 727) | fetchDiff() { method pathUpdated (line 746) | pathUpdated(path) { method aggregateTestTotals (line 755) | aggregateTestTotals(nodes, row, rs, diffRun) { method refreshDisplayedNodes (line 833) | refreshDisplayedNodes() { method computeDifferences (line 944) | computeDifferences(before, after) { method platformID (line 981) | platformID({ browser_name, browser_version, os_name, os_version }) { method canAmendMetadata (line 985) | canAmendMetadata(node, index, testRun) { method testResultClass (line 1000) | testResultClass(node, index, testRun, prop) { method shouldDisplayToggle (line 1045) | shouldDisplayToggle(canViewInteropScores, pathIsATestFile) { method interopButtonClass (line 1049) | interopButtonClass(view) { method defaultButtonClass (line 1053) | defaultButtonClass(view) { method clickInterop (line 1057) | clickInterop() { method clickDefault (line 1064) | clickDefault() { method changeView (line 1071) | changeView(view) { method isDefaultView (line 1098) | isDefaultView() { method isInteropView (line 1103) | isInteropView() { method isTestView (line 1107) | isTestView() { method getTotalsClass (line 1111) | getTotalsClass(totalInfo) { method getDiffDelta (line 1125) | getDiffDelta(node, prop) { method getDiffDeltaStr (line 1135) | getDiffDeltaStr(node, prop) { method hasResults (line 1144) | hasResults(node, testRun) { method isDiff (line 1148) | isDiff(testRun) { method getNodeResultDataByPropertyName (line 1152) | getNodeResultDataByPropertyName(node, index, testRun, property) { method shouldDisplayHarnessWarning (line 1161) | shouldDisplayHarnessWarning(node, index) { method getStatusDisplay (line 1168) | getStatusDisplay(node, index) { method getTestNumbersDisplay (line 1177) | getTestNumbersDisplay(passes, total, isDir=true) { method formatCellDisplayInterop (line 1208) | formatCellDisplayInterop(passes, total, isDir) { method formatCellDisplayTestView (line 1237) | formatCellDisplayTestView(passes, total, status, isDir) { method formatCellDisplay (line 1260) | formatCellDisplay(passes, total, status=undefined, isDir=true) { method isSubtestView (line 1287) | isSubtestView(node) { method getNodeTotalProp (line 1291) | getNodeTotalProp(node) { method getNodePassProp (line 1299) | getNodePassProp(node) { method getNodeResult (line 1307) | getNodeResult(node, index) { method getTotalDisplay (line 1318) | getTotalDisplay(totalInfo) { method getTotalText (line 1332) | getTotalText() { method generateTotalPassNumbers (line 1344) | generateTotalPassNumbers() { method showHistoryClicked (line 1375) | showHistoryClicked() { method queryChanged (line 1381) | queryChanged(query, queryBefore) { method moveToNext (line 1397) | moveToNext() { method moveToPrev (line 1401) | moveToPrev() { method _move (line 1405) | _move(forward) { method sortTestName (line 1420) | sortTestName() { method compareTestName (line 1437) | compareTestName(a, b) { method compareTestNameDefaultOrder (line 1444) | compareTestNameDefaultOrder(a, b) { method sortTestResults (line 1457) | sortTestResults(index) { method getSortIcon (line 1507) | getSortIcon(isSorted) { method handleTriageMode (line 1514) | handleTriageMode(isTriageMode) { method clearSelectedCells (line 1521) | clearSelectedCells() { method selectedMetadataChanged (line 1527) | selectedMetadataChanged(e) { method metadataMapChanged (line 1531) | metadataMapChanged(e) { method labelMapChanged (line 1535) | labelMapChanged(e) { method handleTriageHover (line 1539) | handleTriageHover() { method handleTriageSelect (line 1546) | handleTriageSelect() { method handleReloadPendingMetadata (line 1558) | handleReloadPendingMetadata() { method openAmendMetadata (line 1562) | openAmendMetadata() { method shouldDisplayTestLabel (line 1566) | shouldDisplayTestLabel(testname, labelMap) { method shouldDisplayTotals (line 1570) | shouldDisplayTotals(displayedTotals, diffRun) { method getTestLabelTitle (line 1574) | getTestLabelTitle(testname, labelMap) { method getTestLabel (line 1582) | getTestLabel(testname, labelMap) { method shouldDisplayMetadata (line 1598) | shouldDisplayMetadata(index, testname, metadataMap) { method getMetadataUrl (line 1602) | getMetadataUrl(index, testname, metadataMap) { FILE: webapp/web/main.go function init (line 20) | func init() { function main (line 42) | func main() { FILE: webapp/web/routes_test.go function TestLandingPageBound (line 20) | func TestLandingPageBound(t *testing.T) { function TestAboutBound (line 28) | func TestAboutBound(t *testing.T) { function TestAnalyzerBound (line 32) | func TestAnalyzerBound(t *testing.T) { function TestFlagsBound (line 36) | func TestFlagsBound(t *testing.T) { function TestRunsBound (line 40) | func TestRunsBound(t *testing.T) { function TestApiDiffBound (line 44) | func TestApiDiffBound(t *testing.T) { function TestApiManifestBound (line 48) | func TestApiManifestBound(t *testing.T) { function TestApiRunsBound (line 52) | func TestApiRunsBound(t *testing.T) { function TestApiShasBound (line 56) | func TestApiShasBound(t *testing.T) { function TestApiRunBound (line 60) | func TestApiRunBound(t *testing.T) { function TestApiStatusBound (line 65) | func TestApiStatusBound(t *testing.T) { function TestApiResultsBoundCORS (line 73) | func TestApiResultsBoundCORS(t *testing.T) { function TestApiScreenshotBoundCORS (line 79) | func TestApiScreenshotBoundCORS(t *testing.T) { function TestApiResultsUploadBoundHSTS (line 85) | func TestApiResultsUploadBoundHSTS(t *testing.T) { function TestApiResultsCreateBoundHSTS (line 91) | func TestApiResultsCreateBoundHSTS(t *testing.T) { function TestResultsBound (line 97) | func TestResultsBound(t *testing.T) { function TestAdminResultsUploadBound (line 104) | func TestAdminResultsUploadBound(t *testing.T) { function TestAdminCacheFlushBound (line 108) | func TestAdminCacheFlushBound(t *testing.T) { function TestApiMetadataCORS (line 112) | func TestApiMetadataCORS(t *testing.T) { function TestApiMetadataTriageCORS (line 128) | func TestApiMetadataTriageCORS(t *testing.T) { function TestApiBSFBound (line 162) | func TestApiBSFBound(t *testing.T) { function TestApiPendingMetadataBound (line 167) | func TestApiPendingMetadataBound(t *testing.T) { function assertBound (line 172) | func assertBound(t *testing.T, path string) mux.RouteMatch { function assertHandlerIs (line 180) | func assertHandlerIs(t *testing.T, path string, name string) { function assertHSTS (line 187) | func assertHSTS(t *testing.T, path string) { function sendHttptestRequest (line 199) | func sendHttptestRequest(req *http.Request) *http.Response { function assertCORS (line 206) | func assertCORS(t *testing.T, path string) { function assertNoCORS (line 226) | func assertNoCORS(t *testing.T, path string) { function assertHandlerIsDefault (line 235) | func assertHandlerIsDefault(t *testing.T, path string) { FILE: webdriver/appserver.js class DevAppserver (line 15) | class DevAppserver { method constructor (line 25) | constructor(config) { method ready (line 45) | get ready() { method _awaitReady (line 49) | _awaitReady(process) { method close (line 61) | close() { function launch (line 77) | function launch(config) { function startDevAppserver (line 81) | function startDevAppserver(config) { FILE: webdriver/builder_test.go function TestQueryBuilder_MasterCheckedForMasterLabelQuery (line 20) | func TestQueryBuilder_MasterCheckedForMasterLabelQuery(t *testing.T) { FILE: webdriver/chrome.go function ChromeWebDriver (line 18) | func ChromeWebDriver(port int, options []selenium.ServiceOption) (*selen... FILE: webdriver/datastore.js class DatastoreEmulator (line 16) | class DatastoreEmulator { method constructor (line 25) | constructor(config) { method ready (line 39) | get ready() { method _awaitReady (line 43) | _awaitReady(process) { method close (line 65) | close() { function launch (line 84) | function launch(config) { function startDatastoreEmulator (line 88) | function startDatastoreEmulator(config) { FILE: webdriver/dev-data.js function populate (line 16) | function populate(server) { FILE: webdriver/file_results_test.go function TestFileResults (line 12) | func TestFileResults(t *testing.T) { function getFileResultRows (line 32) | func getFileResultRows(wd selenium.WebDriver) ([]selenium.WebElement, er... FILE: webdriver/firefox.go function FirefoxWebDriver (line 19) | func FirefoxWebDriver(port int, options []selenium.ServiceOption) (*sele... FILE: webdriver/label_test.go function TestLabelParam_Results (line 16) | func TestLabelParam_Results(t *testing.T) { function testLabel (line 24) | func testLabel( function assertAligned (line 64) | func assertAligned(t *testing.T, wd selenium.WebDriver, testRuns []selen... FILE: webdriver/path_test.go function TestPath (line 13) | func TestPath(t *testing.T) { function testPath (line 24) | func testPath(t *testing.T, app AppServer, wd selenium.WebDriver, path, ... FILE: webdriver/product_test.go function TestProductParam_Order (line 16) | func TestProductParam_Order(t *testing.T) { function testProductParamSets (line 47) | func testProductParamSets(t *testing.T, wd selenium.WebDriver, app AppSe... function testProducts (line 55) | func testProducts( function assertProducts (line 103) | func assertProducts(t *testing.T, wd selenium.WebDriver, testRuns []sele... FILE: webdriver/search_test.go function TestSearch (line 14) | func TestSearch(t *testing.T) { function testSearch (line 25) | func testSearch(t *testing.T, wd selenium.WebDriver, app AppServer, path... function assertListIsFiltered (line 68) | func assertListIsFiltered(t *testing.T, wd selenium.WebDriver, elementNa... function getSearchElement (line 92) | func getSearchElement(wd selenium.WebDriver) (selenium.WebElement, error) { FILE: webdriver/test_runs_test.go function TestTestRuns (line 13) | func TestTestRuns(t *testing.T) { function getRunRowElements (line 33) | func getRunRowElements(wd selenium.WebDriver) ([]selenium.WebElement, er... FILE: webdriver/webapp_server.go constant StaticTestDataRevision (line 20) | StaticTestDataRevision = "24278ab61781de72ed363b866ae6b50b86822b27" type AppServer (line 23) | type AppServer interface type remoteAppServer (line 31) | type remoteAppServer struct method GetWebappURL (line 35) | func (i *remoteAppServer) GetWebappURL(path string) string { method Close (line 40) | func (i *remoteAppServer) Close() error { type devAppServerInstance (line 44) | type devAppServerInstance struct method GetWebappURL (line 50) | func (i *devAppServerInstance) GetWebappURL(path string) string { method Close (line 55) | func (i *devAppServerInstance) Close() error { function newDevAppServer (line 61) | func newDevAppServer() (*devAppServerInstance, error) { function NewWebserver (line 88) | func NewWebserver() (s AppServer, err error) { function addStaticData (line 107) | func addStaticData(i *devAppServerInstance) (err error) { FILE: webdriver/webdriver.go constant LongTimeout (line 29) | LongTimeout = time.Second * 30 function frameBufferDefault (line 32) | func frameBufferDefault() bool { function pickUnusedPort (line 36) | func pickUnusedPort() int { type webdriverTest (line 44) | type webdriverTest function GetWebDriver (line 58) | func GetWebDriver() (*selenium.Service, selenium.WebDriver, error) { function FindShadowElements (line 91) | func FindShadowElements( function FindShadowElement (line 121) | func FindShadowElement( function FindShadowText (line 134) | func FindShadowText( function ExtractScriptRawValue (line 147) | func ExtractScriptRawValue(bytes []byte, key string) (value interface{},... function runWebdriverTest (line 158) | func runWebdriverTest(t *testing.T, test webdriverTest) { function getTestRunElements (line 177) | func getTestRunElements(wd selenium.WebDriver, element string) ([]seleni... function getPathPartElements (line 185) | func getPathPartElements(wd selenium.WebDriver, element string) ([]selen...