Autopilot has continued to change with the times, and the pending release of 1.4 brings even more goodies; including some performance fixes. But today I wanted to cover a newly landed feature from the minds of Martin and Jean-Baptiste (thanks guys!).
If you've developed autopilot tests in the past you will have noticed how cumbersome it can be to run the tests. If you run a test on your desktop, you lose control of your mouse and keyboard for the duration, and you might even accidentally cause a test to fail. This can be especially noticeable when you are iterating over getting your test to run "just right" while wanting to keep your introspection tree in vis open, or reviewing someone else's code while wanting to verify the tests run. Enter sandbox mode.
A new command called autopilot-sandbox-run lets you easily run a testsuite inside your choice of two sandboxes; Xvfb by default, or if you want to visually see the output, Xephyr. Have a quick look at the command options below as of this writing:
Usage: autopilot-sandbox-run [OPTIONS...] TEST [TEST...]
Runs autopilot tests in a 'fake' Xserver with Xvfb or Xephyr. autopilot runs
in Xvfb by default.
TEST: autopilot tests to run
Options:
-h, --help This help
-d, --debug Enable debug mode
-a, --autopilot ARG Pass arguments ARG to 'autopilot run'
-X, --xephyr Run in nested mode with Xephyr
-s, --screen WxHxD Sets screen width, height, and depth to W, H, and D respectively (default: 1024x768x24)
The next time you want to get your hands dirty with some autopilot tests, try out the sandbox. I'm sure you'll find a very nice use for it in your workflow; after all wouldn't it be handy to run multiple testsuites at once?
This is amazing! Thanks guys!
ReplyDeleteThis is great!
ReplyDeleteOh this is Awesome, finally!
ReplyDeleteWhat about using xorg with dummy driver instead of Xvfb, though?
Well, you are running a nested xorg session when you run it with Xephyr, so I suspect that meets solves your question?
Delete