Last week I posted about mochikit.jar and what was done to enable testing on remote systems (specifically Android) for mochitest chrome style tests. This post will discuss the work done to Talos for remote testing on Android. I have been working with bear in release engineering a lot to flush out and bugs. Now we are really close to turning this stuff on for the public facing tinderbox builds.
Talos + Remote Testing:
Last year, I had adding all the remote testing bits into Talos for windows mobile. Luckily this time around I just had to clean up a few odds and ends (adding support for IPC). Talos is setup to access a webserver and communicate with a SUTAgent (when you setup your .config file properly.) This means you can have a static webserver on your desktop or the network and run talos from any SUTagent and a host machine.
Talos + Android:
This is a harder challenge to resolve than remote testing. Android does not support redirecting to stdout which talos required. For talos and all related tests (fennecmark, pageloader) we need to write to a log file from the test itself.
Run it for yourself:
Those are the core changes that needed to be made. Here are some instructions for running it on your own:
hg clone http://hg.mozilla.org/build/talos
ln -s talos/ /var/www/talos #create a link on http://localhost/talos to the hg clone
python remotePerfConfigurator.py -v -e org.mozilla.fennec -t `hostname` -b mobile-browser –activeTests ts:tgfx –sampleConfig remote.config –browserWait 60 –noChrome –output test.config –remoteDevice 192.168.1.115 –webServer 192.168.1.102/talos
python run_tests.py test.config
* NOTE: 192.168.1.115 is the address of my android device (SUTAgent), and 192.168.1.102 is my webserver on my desktop