Bug 1370607 - Add additional talos tests to the quantum-pageload-e10s suite; r=jmaher
MozReview-Commit-ID: 5K3vm2vBvMz
--- a/testing/talos/talos.json
+++ b/testing/talos/talos.json
@@ -109,21 +109,21 @@
"tests": ["tp5n"],
"pagesets_name": "tp5n.zip",
"talos_options": [
"--xperf_path",
"\"c:/Program Files/Microsoft Windows Performance Toolkit/xperf.exe\""
]
},
"quantum-pageload-e10s": {
- "tests": ["Quantum_1"],
- "mitmproxy_recording_set": "mitmproxy-recording-set.zip",
+ "tests": ["quantum_pageload_google", "quantum_pageload_youtube", "quantum_pageload_amazon", "quantum_pageload_facebook"],
+ "mitmproxy_recording_set": "mitmproxy-recording-set-win10.zip",
"talos_options": [
"--mitmproxy",
- "mitmproxy-recording-1.mp",
+ "mitmproxy-recording-google.mp mitmproxy-recording-youtube.mp mitmproxy-recording-amazon.mp mitmproxy-recording-facebook.mp",
"--firstNonBlankPaint"
]
}
},
"mobile-suites": {
"remote-tsvgx": {
"tests": ["tsvgm"],
"talos_options": [
--- a/testing/talos/talos/mitmproxy/mitmproxy-playback-set.manifest
+++ b/testing/talos/talos/mitmproxy/mitmproxy-playback-set.manifest
@@ -1,9 +1,9 @@
[
{
- "filename": "mitmproxy-recording-set.zip",
- "size": 679582,
- "digest": "035e0729905ea1bb61efa4e720cdbc2a436dfebf364eb0d71a7a9ad04658635ede69aa5ef068e99bd515b0b68e2217a2ffe5961b3e8c7f8ead2c49ddcb9fe879",
+ "filename": "mitmproxy-recording-set-win10.zip",
+ "size": 9181715,
+ "digest": "61a4b32fc0a6b8408dce38872d8ac1a6a0e46622ef571c20d3e15b5f91709765268885b6a21126e79e75289c862312e22a91d8000ef6c7ada594bf677229574d",
"algorithm": "sha512",
"unpack": false
}
]
\ No newline at end of file
--- a/testing/talos/talos/mitmproxy/mitmproxy.py
+++ b/testing/talos/talos/mitmproxy/mitmproxy.py
@@ -113,17 +113,17 @@ def start_mitmproxy_playback(mitmdump_pa
sys.path.insert(1, mitmdump_path)
# mitmproxy needs some DLL's that are a part of Firefox itself, so add to path
env["PATH"] = os.path.dirname(browser_path) + ";" + env["PATH"]
else:
# TODO: support other platforms, Bug 1366355
LOG.error('Aborting: talos mitmproxy is currently only supported on Windows')
sys.exit()
- command = [mitmdump_path, '-s', param2]
+ command = [mitmdump_path, '-k', '-s', param2]
LOG.info("Starting mitmproxy playback using env path: %s" % env["PATH"])
LOG.info("Starting mitmproxy playback using command: %s" % ' '.join(command))
# to turn off mitmproxy log output, use these params for Popen:
# Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, env=env)
mitmproxy_proc = subprocess.Popen(command, env=env)
time.sleep(5)
data = mitmproxy_proc.poll()
--- a/testing/talos/talos/test.py
+++ b/testing/talos/talos/test.py
@@ -240,16 +240,29 @@ class PageloaderTest(Test):
'gecko_profile_entries', 'tptimeout', 'win_counters', 'w7_counters',
'linux_counters', 'mac_counters', 'tpscrolltest', 'xperf_counters',
'timeout', 'shutdown', 'responsiveness', 'profile_path',
'xperf_providers', 'xperf_user_providers', 'xperf_stackwalk',
'filters', 'preferences', 'extensions', 'setup', 'cleanup',
'lower_is_better', 'alert_threshold', 'unit', 'webextensions']
+class QuantumPageloadTest(PageloaderTest):
+ """
+ Base class for a Quantum Pageload test
+ """
+ tpcycles = 1
+ tppagecycles = 25
+ gecko_profile_interval = 1
+ gecko_profile_entries = 2000000
+ filters = filter.ignore_first.prepare(5) + filter.median.prepare()
+ unit = 'ms'
+ lower_is_better = True
+
+
@register_test()
class tabpaint(PageloaderTest):
"""
Tests the amount of time it takes to open new tabs, triggered from
both the parent process and the content process.
"""
extensions = '${talos}/tests/tabpaint/tabpaint-signed.xpi'
tpmanifest = '${talos}/tests/tabpaint/tabpaint.manifest'
@@ -790,20 +803,37 @@ class bloom_basic_ref(PageloaderTest):
gecko_profile_entries = 2000000
filters = filter.ignore_first.prepare(5) + filter.median.prepare()
unit = 'ms'
lower_is_better = True
alert_threshold = 5.0
@register_test()
-class Quantum_1(PageloaderTest):
+class quantum_pageload_google(QuantumPageloadTest):
+ """
+ Quantum Pageload Test - Google
"""
- Quantum Pageload Test 1
+ tpmanifest = '${talos}/tests/quantum_pageload/quantum_pageload_google.manifest'
+
+
+@register_test()
+class quantum_pageload_youtube(QuantumPageloadTest):
+ """
+ Quantum Pageload Test - YouTube
"""
- tpmanifest = '${talos}/tests/quantum_pageload/quantum_1.manifest'
- tpcycles = 1
- tppagecycles = 25
- gecko_profile_interval = 1
- gecko_profile_entries = 2000000
- filters = filter.ignore_first.prepare(5) + filter.median.prepare()
- unit = 'ms'
- lower_is_better = True
+ tpmanifest = '${talos}/tests/quantum_pageload/quantum_pageload_youtube.manifest'
+
+
+@register_test()
+class quantum_pageload_amazon(QuantumPageloadTest):
+ """
+ Quantum Pageload Test - Amazon
+ """
+ tpmanifest = '${talos}/tests/quantum_pageload/quantum_pageload_amazon.manifest'
+
+
+@register_test()
+class quantum_pageload_facebook(QuantumPageloadTest):
+ """
+ Quantum Pageload Test - Facebook
+ """
+ tpmanifest = '${talos}/tests/quantum_pageload/quantum_pageload_facebook.manifest'
deleted file mode 100644
--- a/testing/talos/talos/tests/quantum_pageload/quantum_1.manifest
+++ /dev/null
@@ -1,1 +0,0 @@
-https://www.google.com
new file mode 100644
--- /dev/null
+++ b/testing/talos/talos/tests/quantum_pageload/quantum_pageload_amazon.manifest
@@ -0,0 +1,1 @@
+https://www.amazon.com/s/url=search-alias%3Daps&field-keywords=laptop
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/testing/talos/talos/tests/quantum_pageload/quantum_pageload_facebook.manifest
@@ -0,0 +1,1 @@
+https://www.facebook.com
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/testing/talos/talos/tests/quantum_pageload/quantum_pageload_google.manifest
@@ -0,0 +1,1 @@
+https://www.google.com/#hl=en&q=barack+obama
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/testing/talos/talos/tests/quantum_pageload/quantum_pageload_youtube.manifest
@@ -0,0 +1,1 @@
+https://www.youtube.com
\ No newline at end of file