tl;dr I wrote some bash scripts, scroll down to have a laugh at how bad I am at it.
- phablet_screenshot.sh – Takes screenshots from device over USB cable and can upload to web space via scp for easy sharing.
- coreapps_branch_build_run.sh – Grab trunk of all the core apps, build them as debs, push to device and install them. Requires coreapps.txt
- adhoc_branch_build_run.sh – Grab a specified single branch, build it, push to the device and install it
- click_and_run.sh – Push an already-downloaded click package to the device and install it
Get them with
bzr branch lp:~popey/+junk/phablet-testing
Over the past few months we’ve had a lot of fun testing out the Core Apps and more recently new apps submitted for the Ubuntu App Showdown. Frequently someone will drop by #ubuntu-app-devel or the Ubuntu App Developer G+ Community and ask us to test their latest app out.
Many developers are developing their apps on an Ubuntu desktop using the Ubuntu Touch SDK Preview and only run their app on that PC, with no mobile device to test on. Clearly there are constraints when running apps on mobile devices and all the developers are keen to ensure theirs works well on all form factors. With this in mind some of us at Canonical (and some community folks too!) who are fortunate enough to have devices have offered to test the apps out for them.
The Core Apps are in a PPA which gets included in the daily builds, so we can simply
apt-get update and
apt-get dist-upgrade to get the latest version of those apps, once they’re built and have passed through some automated testing and review. However many apps aren’t in a PPA, especially those apps being created for the App Showdown. They’re mostly just in personal branches on Launchpad. As we get asked to test these a lot, I wanted to try and automate the process, so it’s not too much of an interruption to my day when people request ad-hoc testing.
The requirements were:-
- Test all the very latest (trunk) code from all the core apps.
- I want to be able to get the very latest on my device so I can update it and leave the house to play with them in real-world ways
- Sometimes I want to test what’s in trunk before it gets built in the PPA. Maybe I’m in a hurry, or maybe the build infrastructure is having a bad day
- Build and run a specific branch from launchpad
- Developers often ask us to test stuff out before they merge to trunk
- Some apps aren’t in any PPA, so we just want to test trunk
- Test Click Packages.
- The new portal for developers to submit click packages is live and we need to be able to manually test them until the automated testing / validation is in place
- Take screenshots
- For attaching to bug reports
- For marketing 🙂
So that’s why I made those scripts. Hope they’re useful to someone. Let me know if they do/don’t work or if there are better ways to do it. Note: There almost certainly are better ways to do all of it.