[gnome-shell] Add --hwtest option to gnome-shell-perf-helper
- From: Owen Taylor <otaylor src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] Add --hwtest option to gnome-shell-perf-helper
- Date: Wed, 16 Jul 2014 14:58:01 +0000 (UTC)
commit c6350aa557cdbb7fd9dab4b268ccdbb1fcecdbfd
Author: Owen W. Taylor <otaylor fishsoup net>
Date: Thu Jun 5 15:03:03 2014 -0400
Add --hwtest option to gnome-shell-perf-helper
Add a --hwtest option to gnome-shell-perf-helper which runs the
tests in perf/hwtest.js with the appropriate environment, and then
logs the results using the 'gnome-hwtest-log' utility which is
available in the hardware testing environent.
(For development of hwtest.js in a normal environment, run the tests
as: gnome-shell-perf-tool --perf=hwtest --extra-filter=Gedit)
https://bugzilla.gnome.org/show_bug.cgi?id=732350
src/gnome-shell-perf-tool.in | 38 ++++++++++++++++++++++++++++++++++----
1 files changed, 34 insertions(+), 4 deletions(-)
---
diff --git a/src/gnome-shell-perf-tool.in b/src/gnome-shell-perf-tool.in
index 4494a92..07374f6 100644
--- a/src/gnome-shell-perf-tool.in
+++ b/src/gnome-shell-perf-tool.in
@@ -75,7 +75,9 @@ def start_shell(perf_output=None):
# Set up environment
env = dict(os.environ)
env['SHELL_PERF_MODULE'] = options.perf
- env['MUTTER_WM_CLASS_FILTER'] = 'Gnome-shell-perf-helper'
+
+ filters = ['Gnome-shell-perf-helper'] + options.extra_filter
+ env['MUTTER_WM_CLASS_FILTER'] = ','.join(filters)
if perf_output is not None:
env['SHELL_PERF_OUTPUT'] = perf_output
@@ -189,6 +191,11 @@ def upload_performance_report(report_text):
print "Performance report upload failed with status %d" % response.status
print response.read()
+def gnome_hwtest_log(*args):
+ command = ['gnome-hwtest-log', '-t', 'gnome-shell-perf-tool']
+ command.extend(args)
+ subprocess.check_call(command)
+
def run_performance_test():
iters = options.perf_iters
if options.perf_warmup:
@@ -289,6 +296,13 @@ def run_performance_test():
if options.perf_upload:
upload_performance_report(json.dumps(report))
+ elif options.hwtest:
+ # Log to systemd journal
+ for metric in sorted(metric_summaries.keys()):
+ summary = metric_summaries[metric]
+ gnome_hwtest_log('--metric=' + metric + '=' + str(summary['values'][0]) + summary['units'],
+ '--metric-description=' + summary['description'])
+ gnome_hwtest_log('--finished')
else:
# Write a human readable summary
print '------------------------------------------------------------';
@@ -304,8 +318,7 @@ def run_performance_test():
parser = optparse.OptionParser()
parser.add_option("", "--perf", metavar="PERF_MODULE",
- help="Specify the name of a performance module to run",
- default="core")
+ help="Specify the name of a performance module to run")
parser.add_option("", "--perf-iters", type="int", metavar="ITERS",
help="Numbers of iterations of performance module to run",
default=1)
@@ -315,6 +328,10 @@ parser.add_option("", "--perf-output", metavar="OUTPUT_FILE",
help="Output file to write performance report")
parser.add_option("", "--perf-upload", action="store_true",
help="Upload performance report to server")
+parser.add_option("", "--extra-filter", action="append",
+ help="add an extra window class that should be allowed")
+parser.add_option("", "--hwtest", action="store_true",
+ help="Log results appropriately for GNOME Hardware Testing")
parser.add_option("", "--version", action="callback", callback=show_version,
help="Display version and exit")
@@ -323,12 +340,25 @@ parser.add_option("-r", "--replace", action="store_true",
options, args = parser.parse_args()
+if options.perf == None:
+ if options.hwtest:
+ options.perf = 'hwtest'
+ else:
+ options.perf = 'core'
+
+if options.extra_filter is None:
+ if options.hwtest:
+ options.extra_filter = ['Gedit']
+ else:
+ options.extra_filter = []
+
if args:
parser.print_usage()
sys.exit(1)
normal_exit = run_performance_test()
if normal_exit:
- restore_shell()
+ if not options.hwtest:
+ restore_shell()
else:
sys.exit(1)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]