[perf] Make cluster-page and lastn-page puppeteer tests deterministic.
Change-Id: I58b318b4dcca3423e940fa0b4f06fd99863fce2e
Reviewed-on: https://skia-review.googlesource.com/c/buildbot/+/301840
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
diff --git a/perf/go/frontend/frontend.go b/perf/go/frontend/frontend.go
index 1898c51..6db4c42 100644
--- a/perf/go/frontend/frontend.go
+++ b/perf/go/frontend/frontend.go
@@ -183,6 +183,7 @@
Interesting float32 `json:"interesting"` // The threshold for a cluster to be interesting.
StepUpOnly bool `json:"step_up_only"` // If true then only regressions that are a step up are displayed.
CommitRangeURL string `json:"commit_range_url"` // A URI Template to be used for expanding details on a range of commits. See cluster-summary2-sk.
+ Demo bool `json:"demo"` // True if this is a demo page, as opposed to being in production. Used to make puppeteer tests deterministic.
}
func (f *Frontend) templateHandler(name string) http.HandlerFunc {
diff --git a/perf/modules/cluster-lastn-page-sk/cluster-lastn-page-sk-demo.ts b/perf/modules/cluster-lastn-page-sk/cluster-lastn-page-sk-demo.ts
index 6b1c2d6..c909894 100644
--- a/perf/modules/cluster-lastn-page-sk/cluster-lastn-page-sk-demo.ts
+++ b/perf/modules/cluster-lastn-page-sk/cluster-lastn-page-sk-demo.ts
@@ -97,3 +97,4 @@
window.sk = window.sk || {};
window.sk.perf = window.sk.perf || {};
window.sk.perf.key_order = [];
+window.sk.perf.demo = true;
diff --git a/perf/modules/cluster-lastn-page-sk/cluster-lastn-page-sk.ts b/perf/modules/cluster-lastn-page-sk/cluster-lastn-page-sk.ts
index bab8626..c552d23 100644
--- a/perf/modules/cluster-lastn-page-sk/cluster-lastn-page-sk.ts
+++ b/perf/modules/cluster-lastn-page-sk/cluster-lastn-page-sk.ts
@@ -283,6 +283,9 @@
constructor() {
super(ClusterLastNPageSk.template);
+ if (window.sk.perf.demo) {
+ this.domain.end = Math.floor(new Date(2020, 4, 1).valueOf() / 1000);
+ }
}
connectedCallback() {
diff --git a/perf/modules/cluster-page-sk/cluster-page-sk-demo.html b/perf/modules/cluster-page-sk/cluster-page-sk-demo.html
index 062454f..2e04571 100644
--- a/perf/modules/cluster-page-sk/cluster-page-sk-demo.html
+++ b/perf/modules/cluster-page-sk/cluster-page-sk-demo.html
@@ -6,12 +6,6 @@
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
- <script type="text/javascript" charset="utf-8">
- var sk = {};
- sk.perf = {};
- sk.perf.commit_range_url = "";
- sk.perf.key_order = [ 'config' ];
- </script>
</head>
<body>
diff --git a/perf/modules/cluster-page-sk/cluster-page-sk-demo.ts b/perf/modules/cluster-page-sk/cluster-page-sk-demo.ts
index ebf566f..e101d19 100644
--- a/perf/modules/cluster-page-sk/cluster-page-sk-demo.ts
+++ b/perf/modules/cluster-page-sk/cluster-page-sk-demo.ts
@@ -112,3 +112,15 @@
document.createElement('cluster-page-sk')
);
});
+
+window.sk = {
+ perf: {
+ commit_range_url: '',
+ key_order: ['config'],
+ demo: true,
+ radius: 7,
+ num_shift: 10,
+ interesting: 25,
+ step_up_only: false,
+ },
+};
diff --git a/perf/modules/cluster-page-sk/cluster-page-sk.ts b/perf/modules/cluster-page-sk/cluster-page-sk.ts
index 1691dcb..da2bec3 100644
--- a/perf/modules/cluster-page-sk/cluster-page-sk.ts
+++ b/perf/modules/cluster-page-sk/cluster-page-sk.ts
@@ -61,6 +61,10 @@
constructor() {
this.begin = Math.floor(Date.now() / 1000 - 24 * 60 * 60);
this.end = Math.floor(Date.now() / 1000);
+ if (window.sk.perf.demo) {
+ this.begin = Math.floor(new Date(2020, 4, 1).valueOf() / 1000);
+ this.end = Math.floor(new Date(2020, 5, 1).valueOf() / 1000);
+ }
this.offset = -1;
this.radius = window.sk.perf.radius;
this.query = '';
diff --git a/perf/modules/cluster-summary2-sk/cluster-summary2-sk.ts b/perf/modules/cluster-summary2-sk/cluster-summary2-sk.ts
index 5842dad..a5add72 100644
--- a/perf/modules/cluster-summary2-sk/cluster-summary2-sk.ts
+++ b/perf/modules/cluster-summary2-sk/cluster-summary2-sk.ts
@@ -61,6 +61,8 @@
import { CollapseSk } from 'elements-sk/collapse-sk/collapse-sk';
// Handle the sk namespace attached to window.
+//
+// TODO(jcgregorio) SkPerfConfig handling should be moved into its own module.
declare global {
interface Window {
sk: {
diff --git a/perf/modules/json/index.ts b/perf/modules/json/index.ts
index 77e635d..b879031 100644
--- a/perf/modules/json/index.ts
+++ b/perf/modules/json/index.ts
@@ -194,6 +194,7 @@
interesting: number;
step_up_only: boolean;
commit_range_url: string;
+ demo: boolean;
}
export interface TriageRequest {