HTML5 Media Performance/Functional Test
=======================================

Description
-----------
This directory contains suites for HTML5 media performance/functional tests.

media_test_runner.py is the main module and it executes a media test
class (a subclass of MediaTastBase class) with different configuration
(parameters) which are passed in the form of environment variables
(e.g., the number of runs). The location of the subclass is passed as
one of the arguments. 

An example invocation is 
  python media_test_runner.py -p ./media_perf.py

In this example, media_perf.py will be invoked using the default set
of parameters.  If the test class is not specified in the argument,
whole AVPERF suite is executed, which is defined in
src/chrome/test/functional/PYAUTO_TESTS.

To Run Tests
------------
0) Build pyauto (http://www.chromium.org/developers/testing/pyauto)

1) Add the following in the .gclient and execute "gclient sync". This step is
necessary to pull the test video/audio from deps.

"custom_deps" : {
  "src/chrome/test/data/media/avperf": 
    "http://src.chromium.org/svn/trunk/deps/avperf",
},

2) Execute "python media_test_runner.py" from "src/chrome/test/functional" 
directory. Available options can be obtained by "media_test_runner.py -h"

3) The results are reported to the standard output. An example output is

RESULT time: t= [0.01182, 0.00995, 2.02328, 2.02021] sec
RESULT procutil: p= [14.10000, 15.20000, 9.10000, 9.00000] percent
RESULT procuser: l= [0.54000, 0.88000, 0.74000, 1.08000] load
RESULT procsystem: l= [0.06000, 0.11000, 0.09000, 0.13000] load
RESULT memoryrss: m= [34.74637, 35.27885, 34.46374, 35.60243] MB
RESULT memoryvms: m= [1001.08288, 1001.34502, 1001.08288, 1001.34502] MB
RESULT memoryutil: p= [0.87187, 0.88523, 0.86478, 0.89335] percent

This data is read by the perfbot and used for displaying perf graphs and 
regression monitoring. The perfbot link is
http://build.chromium.org/p/chromium.perf_av/console.