Bug 1509835 Raptor test raptor-tp6-amazon-chrome is not rendering a completely loaded amazon site r=tarek
authorFlorin Strugariu <fstrugariu@mozilla.com>
Tue, 09 Apr 2019 09:49:03 +0000
changeset 468956 d55785a2bf02f8015aa0f1033f590342eea0510c
parent 468955 20b05a5df3303e726d5e74ab0eb80bb5bd7478fd
child 468957 a489c731b2030470451199c9c6126dee9ad9d32d
push id35855
push useraciure@mozilla.com
push dateThu, 11 Apr 2019 16:11:15 +0000
treeherdermozilla-central@c77962add953 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerstarek
bugs1509835
milestone68.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1509835 Raptor test raptor-tp6-amazon-chrome is not rendering a completely loaded amazon site r=tarek Differential Revision: https://phabricator.services.mozilla.com/D25597
testing/raptor/raptor/playback/alternate-server-replay-4.0.4.py
testing/raptor/raptor/tests/raptor-tp6-1.ini
--- a/testing/raptor/raptor/playback/alternate-server-replay-4.0.4.py
+++ b/testing/raptor/raptor/playback/alternate-server-replay-4.0.4.py
@@ -4,16 +4,17 @@
 # Altered features:
 # * returns 404 rather than dropping the whole HTTP/2 connection on the floor
 # * remove the replay packages that don't have any content in their response package
 
 import hashlib
 import urllib
 
 import typing
+from urllib import parse
 from mitmproxy import command
 from mitmproxy import ctx, http
 from mitmproxy import exceptions
 from mitmproxy import io
 
 
 class AlternateServerPlayback:
 
@@ -68,17 +69,19 @@ class AlternateServerPlayback:
         return sum([len(i) for i in self.flowmap.values()])
 
     def _hash(self, flow):
         """
             Calculates a loose hash of the flow request.
         """
         r = flow.request
 
-        _, _, path, _, query, _ = urllib.parse.urlparse(r.url)
+        # unquote url
+        # See Bug 1509835
+        _, _, path, _, query, _ = urllib.parse.urlparse(parse.unquote(r.url))
         queriesArray = urllib.parse.parse_qsl(query, keep_blank_values=True)
 
         key = [str(r.port), str(r.scheme), str(r.method), str(path)]
         key.append(str(r.raw_content))
         key.append(r.host)
 
         for p in queriesArray:
             key.append(p[0])
--- a/testing/raptor/raptor/tests/raptor-tp6-1.ini
+++ b/testing/raptor/raptor/tests/raptor-tp6-1.ini
@@ -2,17 +2,18 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 # raptor tp6-1
 
 [DEFAULT]
 type =  pageload
 playback = mitmproxy
-playback_binary_manifest = mitmproxy-rel-bin-{platform}.manifest
+playback_version = 4.0.4
+playback_binary_manifest = mitmproxy-rel-bin-4.0.4-{platform}.manifest
 playback_pageset_manifest = mitmproxy-recordings-raptor-tp6-1.manifest
 page_cycles = 25
 unit = ms
 lower_is_better = true
 alert_threshold = 2.0
 page_timeout = 60000
 gecko_profile_interval = 1
 gecko_profile_entries = 14000000