← Back to team overview

ubuntu-phone team mailing list archive

Emulator + Autopilot = Win

 

Whilst the emulator improvement work is on-going, I've spend some time
getting autopilot tests execution using the emulator running.

I've also made sure it's possible to execute them on i386/amd64
machines, desktops with and without GPU acceleration, in headless mode
on the server (no DISPLAY variable exported), as well as open-stack
cloud instances.

Whilst instructions on the https://wiki.ubuntu.com/Touch/Testing and
https://wiki.ubuntu.com/Touch/Emulator are valid, they do not take
into account automating provisioning emulator, rolling back to stock
image, running multiple testsuite sequentially with rollbacks to
pristine state before each testsuite.

So I've based my changes on top of lp:ubuntu-test-cases/touch such
that one can trivially provision and run tests producing
jenkins/ci.ubuntu.com compatible results similar to those as available
for the current mako/maguro targets.

$ bzr branch lp:~xnox/ubuntu-test-cases/touch-emulator
$ cd touch-emulator
$ ./scripts/provision-emulator.sh

After that:

$ ./scripts/run-tests.sh

...to run all tests sequentially

Or individual commands from run-tests.sh to execute particular test, e.g.:

$ ./scripts/run-test.sh deb address-book-app-autopilot address_book_app

If one wishes to modify the "base image" under test, see
https://wiki.ubuntu.com/Touch/Emulator on how to modify the pristine
snapshot.

One is also free to enable/upgrade PPAs and use test-runner commands
in any other way. The wrapper scripts should be straight-forward to
modify for to have additional changes under test.

Granted there are current bugs / failures in autopackage tests when
running in the emulator, help in resolving / pointing out what's wrong
in the test-runner and/or emulator would be greatly appreciated. That
saying the pass rate is quite high as it is.

These bugs are filed with tag jemjem:
https://bugs.launchpad.net/bugs/+bugs?field.tag=jemjem

I've also wrote a juju charm which does provisioning of the emulator
on a cloud instance, after which one can ssh in and use run-tests.sh /
run-test.sh script straight away. 2 CPU cores & 2GB ram (min) is
recommended. See jemjem charm in the charm store.

-- 
Regards,

Dimitri.


Follow ups