Made e2e audio quality test write its results to perf.

The https://chromereviews.googleplex.com/5573026/ patch will mark the test step as perf-printing - this cl will make the test actually print perf lines.

TEST=Ran locally.

Review URL: https://webrtc-codereview.appspot.com/933036

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3252 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
phoglund@webrtc.org 2012-12-10 10:08:00 +00:00
parent 72feb0b2e2
commit 3bb42ef0d6
5 changed files with 41 additions and 1 deletions

View File

@ -0,0 +1 @@
../../perf

View File

@ -26,6 +26,8 @@ import sys
import threading
import time
import perf.perf_utils
def main(argv):
parser = optparse.OptionParser()
usage = 'Usage: %prog [options]'
@ -117,7 +119,12 @@ def main(argv):
return proc.returncode
# The list should only contain one item.
print ''.join(re.findall(options.regexp, output))
value = ''.join(re.findall(options.regexp, output))
perf.perf_utils.PrintPerfResult(graph_name='audio_e2e_score',
series_name='e2e score',
data_point=value,
units='MOS') # Assuming we run PESQ.
return 0

0
tools/perf/__init__.py Normal file
View File

1
tools/perf/perf Symbolic link
View File

@ -0,0 +1 @@
../../perf

31
tools/perf/perf_utils.py Normal file
View File

@ -0,0 +1,31 @@
# Copyright (c) 2012 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# Copied from /src/chrome/test/pyautolib/pyauto_utils.py in Chromium.
import sys
def PrintPerfResult(graph_name, series_name, data_point, units,
show_on_waterfall=False):
"""Prints a line to stdout that is specially formatted for the perf bots.
Args:
graph_name: String name for the graph on which to plot the data.
series_name: String name for the series (line on the graph) associated with
the data. This is also the string displayed on the waterfall
if |show_on_waterfall| is True.
data_point: Numeric data value to plot on the graph for the current build.
This can be a single value or an array of values. If an array,
the graph will plot the average of the values, along with error
bars.
units: The string unit of measurement for the given |data_point|.
show_on_waterfall: Whether or not to display this result directly on the
buildbot waterfall itself (in the buildbot step running
this test on the waterfall page, not the stdio page).
"""
waterfall_indicator = ['', '*'][show_on_waterfall]
print '%sRESULT %s: %s= %s %s' % (
waterfall_indicator, graph_name, series_name,
str(data_point).replace(' ', ''), units)
sys.stdout.flush()