Skip to content

Commit

Permalink
Deflake resource-priority.js test by ensuring preload scanner timing
Browse files Browse the repository at this point in the history
Flakiness is suspected to be caused because preload scanner
runs after main requests are started.

This CL adds a slow parser-blocking script, and ensures
preload scanner to run while the slow script is loaded.

Bug: 1371949
Change-Id: Ia97093ec200eaaaf13c37a1476fea52b20a07004
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3984507
Commit-Queue: Hiroshige Hayashizaki <hiroshige@chromium.org>
Reviewed-by: Kouhei Ueno <kouhei@chromium.org>
Reviewed-by: Yoshisato Yanagisawa <yyanagisawa@chromium.org>
Reviewed-by: Shunya Shishido <sisidovski@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1064935}
  • Loading branch information
hiroshige-g authored and Chromium LUCI CQ committed Oct 28, 2022
1 parent 19ddbef commit 729fa76
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,14 @@ sendModuleScriptRequest
Request: module1.js priority: High
Request: module2.js priority: High
sendScriptRequestPrecededByImage
Request: slow-script.pl?delay=500&sendScriptRequestPrecededByImage priority: High
Request: abe.png?precedingScript priority: Low
Request: empty-script.js?precededByImage priority: Medium
sendScriptRequestPrecededByPreloadedImage
Request: abe.png?preloaded priority: Low
Request: style.css?precededByPreloadedImage priority: VeryHigh
sendStyleRequestPrecededByImage
Request: slow-script.pl?delay=500&sendStyleRequestPrecededByImage priority: High
Request: abe.png?precedingStyle priority: Low
Request: style.css?precededByImage priority: Medium
sendStyleRequestPrecededByPreloadedImage
Expand All @@ -30,6 +32,7 @@ Request: style.css?style priority: VeryHigh
createIFrame
Request: empty.html?iframe priority: VeryHigh
sendScriptsFromDocumentWriteAfterImage
Request: slow-script.pl?delay=500&sendScriptsFromDocumentWriteAfterImage priority: High
Request: abe.png?precedingDocWrite priority: Low
Request: docwrite.js priority: Medium
Request: empty-script.js?docWritten-1 priority: High
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,10 @@
{
var iframe = document.createElement("iframe");
document.body.appendChild(iframe);
iframe.srcdoc = '<html><body><img src="resources/abe.png?precedingScript">'
// A slow parsing-blocking script is added to ensure the preload
// scanner runs earlier than main <img> requests.
iframe.srcdoc = '<html><body><script src="/resources/slow-script.pl?delay=500&sendScriptRequestPrecededByImage"></s'
+ 'cript><img src="resources/abe.png?precedingScript">'
+ '<script src="http://localhost:8000/devtools/network/resources/empty-script.js?precededByImage"></s'
+ 'cript>;</body></html>';
}
Expand All @@ -78,7 +81,8 @@
{
var iframe = document.createElement("iframe");
document.body.appendChild(iframe);
iframe.srcdoc = '<html><body><img src="resources/abe.png?precedingStyle">'
iframe.srcdoc = '<html><body><script src="/resources/slow-script.pl?delay=500&sendStyleRequestPrecededByImage"></s'
+ 'cript><img src="resources/abe.png?precedingStyle">'
+ '<link rel="stylesheet" type="text/css" href="http://localhost:8000/devtools/network/resources/style.css?precededByImage">'
+ '</body></html>';
}
Expand All @@ -96,7 +100,8 @@
{
var iframe = document.createElement("iframe");
document.body.appendChild(iframe);
iframe.srcdoc = '<html><body><img src="resources/abe.png?precedingDocWrite">'
iframe.srcdoc = '<html><body><script src="/resources/slow-script.pl?delay=500&sendScriptsFromDocumentWriteAfterImage"></s'
+ 'cript><img src="resources/abe.png?precedingDocWrite">'
+ '<script src="resources/docwrite.js"></s'
+ 'cript></body></html>';
}
Expand All @@ -113,16 +118,16 @@
{'fn': 'sendSyncScriptRequest', 'requests': 1},
{'fn': 'sendAsyncScriptRequest', 'requests': 1},
{'fn': 'sendModuleScriptRequest', 'requests': 2},
{'fn': 'sendScriptRequestPrecededByImage', 'requests': 2},
{'fn': 'sendScriptRequestPrecededByImage', 'requests': 3},
{'fn': 'sendScriptRequestPrecededByPreloadedImage', 'requests': 2},
{'fn': 'sendStyleRequestPrecededByImage', 'requests': 2},
{'fn': 'sendStyleRequestPrecededByImage', 'requests': 3},
{'fn': 'sendStyleRequestPrecededByPreloadedImage', 'requests': 2},
{'fn': 'sendXHRSync', 'requests': 1},
{'fn': 'sendXHRAsync', 'requests': 1},
{'fn': 'sendImageRequest', 'requests': 1},
{'fn': 'sendStyleRequest', 'requests': 1},
{'fn': 'createIFrame', 'requests': 1},
{'fn': 'sendScriptsFromDocumentWriteAfterImage', 'requests': 5},
{'fn': 'sendScriptsFromDocumentWriteAfterImage', 'requests': 6},
];
TestRunner.networkManager.addEventListener(SDK.NetworkManager.Events.RequestStarted, onRequestStarted);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,14 @@ sendModuleScriptRequest
Request: module1.js priority: High
Request: module2.js priority: High
sendScriptRequestPrecededByImage
Request: slow-script.pl?delay=500&sendScriptRequestPrecededByImage priority: High
Request: abe.png?precedingScript priority: Low
Request: empty-script.js?precededByImage priority: Medium
sendScriptRequestPrecededByPreloadedImage
Request: abe.png?preloaded priority: Low
Request: style.css?precededByPreloadedImage priority: VeryHigh
sendStyleRequestPrecededByImage
Request: slow-script.pl?delay=500&sendStyleRequestPrecededByImage priority: High
Request: abe.png?precedingStyle priority: Low
Request: style.css?precededByImage priority: Medium
sendStyleRequestPrecededByPreloadedImage
Expand All @@ -30,6 +32,7 @@ Request: style.css?style priority: VeryHigh
createIFrame
Request: empty.html?iframe priority: VeryHigh
sendScriptsFromDocumentWriteAfterImage
Request: slow-script.pl?delay=500&sendScriptsFromDocumentWriteAfterImage priority: High
Request: abe.png?precedingDocWrite priority: Low
Request: docwrite.js priority: Medium
Request: empty-script.js?docWritten-1 priority: High
Expand Down

0 comments on commit 729fa76

Please sign in to comment.