TestEngineering/Performance/Talos/Development
Environment
Prerequisites: Local clone of mozilla-central and a successful mozilla-central Firefox build completed.
On Linux, setuptools installed:
apt-get install python-setuptools
Not required on Windows. For other operating systems see setuptools.
On Linux, virtualenv installed:
pip install virtualenv
Not required on Windows. For other operating systems see virtualenv.
Setup Talos (linux):
cd mozilla-central/testing/talos virtualenv . . bin/activate python setup.py develop
Setup talos (Windows with mozilla-build):
cd mozilla-central/testing/talos python INSTALL.py # only required once or after updating mozilla-build source Scripts/activate # you can also use '.' (dot) instead of 'source'
Testing your patch locally
Testing locally involves running some subset of the Talos tests on desktop and possibly mobile. Obviously not all permutations of tests and the ways of running them can be tried, so common sense should be used as to what is run. You may also want to run the Talos unittests.
You should tailor your choice of tests to pick those that cover what you've changed programmatically, but in general you should probably run at least one startup test and one pageloader test. A good baseline might be the 'tresize' and 'tsvgx' test suites.
Run the tests from mozilla-central/testing/talos (with the venv activated, as noted above):
talos --develop --executablePath pathtofirefox --activeTests tart
The --develop
option indicates to run in develop mode and store the results in local.json + local.out.
The --executablePath
option tells Talos where the firefox installation we want to run is located (i.e. '~/mozilla/objdir/dist/bin/firefox' or whatever the full path is to your firefox executable that will be running the tests).
The --activeTests
argument provides a list of tests we want to run (if running multiple tests, separate each test name with ':').
For a list of complete options:
talos --help
Testing your patch on try
Just push your Talos patch to the try server. See TestEngineering/Performance/Talos/Running#Try_server.