diff --git a/mozilla/testing/performance/talos/config.py b/mozilla/testing/performance/talos/config.py index b43d49bf012..7e9767c9578 100644 --- a/mozilla/testing/performance/talos/config.py +++ b/mozilla/testing/performance/talos/config.py @@ -65,6 +65,9 @@ REPORTS_DIR = r'c:\extension_perf_reports' """The path to the file url to load when initializing a new profile""" INIT_URL = 'file:///c:/win32/initialize.html' +"""The path to the file url to load when collecting information from the browser""" +INFO_URL = 'file:///c:/win32/getInfo.html' + """The path to the file url to load for startup test (Ts)""" TS_URL = 'file:///c:/win32/startup_test/startup_test.html?begin=' diff --git a/mozilla/testing/performance/talos/ffinfo.py b/mozilla/testing/performance/talos/ffinfo.py new file mode 100644 index 00000000000..b4f0f714c36 --- /dev/null +++ b/mozilla/testing/performance/talos/ffinfo.py @@ -0,0 +1,57 @@ +# ***** BEGIN LICENSE BLOCK ***** +# Version: MPL 1.1/GPL 2.0/LGPL 2.1 +# +# The contents of this file are subject to the Mozilla Public License Version +# 1.1 (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS IS" basis, +# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License +# for the specific language governing rights and limitations under the +# License. +# +# The Original Code is standalone Firefox Windows performance test. +# +# The Initial Developer of the Original Code is Google Inc. +# Portions created by the Initial Developer are Copyright (C) 2006 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Alice Nodelman (original author) +# +# Alternatively, the contents of this file may be used under the terms of +# either the GNU General Public License Version 2 or later (the "GPL"), or +# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), +# in which case the provisions of the GPL or the LGPL are applicable instead +# of those above. If you wish to allow use of your version of this file only +# under the terms of either the GPL or the LGPL, and not to allow others to +# use your version of this file under the terms of the MPL, indicate your +# decision by deleting the provisions above and replace them with the notice +# and other provisions required by the GPL or the LGPL. If you do not delete +# the provisions above, a recipient may use your version of this file under +# the terms of any one of the MPL, the GPL or the LGPL. +# +# ***** END LICENSE BLOCK ***** + +__author__ = 'anodelman@mozilla.com' + +import re +import ffprocess +import config + +PROFILE_REGEX = re.compile('__metrics(.*)') + +def GetMetricsFromBrowser(firefox_path, profile_dir): + """Opens the browser at the specified URL, prints out the information collected from + the browser""" + cmd = ffprocess.GenerateFirefoxCommandLine(firefox_path, profile_dir, config.INFO_URL) + (match, timed_out) = ffprocess.RunProcessAndWaitForOutput(cmd, + 'firefox', + PROFILE_REGEX, + 30) + if (not timed_out): + print match + else: + print "ERROR:no metrics" + diff --git a/mozilla/testing/performance/talos/getInfo.html b/mozilla/testing/performance/talos/getInfo.html new file mode 100644 index 00000000000..50c4259e6c1 --- /dev/null +++ b/mozilla/testing/performance/talos/getInfo.html @@ -0,0 +1,52 @@ + + + + + + shutdown script + + + + + diff --git a/mozilla/testing/performance/talos/tp.py b/mozilla/testing/performance/talos/tp.py index 0ddf40cce81..1b0051351a3 100755 --- a/mozilla/testing/performance/talos/tp.py +++ b/mozilla/testing/performance/talos/tp.py @@ -57,6 +57,7 @@ import sys import ffprocess import ffprofile +import ffinfo import config if config.OS == "linux": @@ -116,6 +117,7 @@ def RunPltTests(profile_configs, # a performance hit, and the second Firefox that gets created is properly # terminated. ffprofile.InitializeNewProfile(pconfig[2], profile_dir) + ffinfo.GetMetricsFromBrowser(pconfig[2], profile_dir) print "initialized firefox" sys.stdout.flush() ffprocess.SyncAndSleep() diff --git a/mozilla/testing/performance/talos/ts.py b/mozilla/testing/performance/talos/ts.py index 56cbd34b2dc..e3d79e714ce 100755 --- a/mozilla/testing/performance/talos/ts.py +++ b/mozilla/testing/performance/talos/ts.py @@ -54,6 +54,7 @@ import time import ffprocess import ffprofile +import ffinfo import config @@ -134,6 +135,7 @@ def RunStartupTests(profile_configs, num_runs): # cause a performance hit, and the second Firefox that gets # created is properly terminated. ffprofile.InitializeNewProfile(config[2], profile_dir) + ffinfo.GetMetricsFromBrowser(config[2], profile_dir) # Run the startup tests for this profile and log the results. times = RunStartupTest(config[2], profile_dir, 5, 10)