click
* Test plan for component: click
Trunk URL: lp:click
Ubuntu Package URL (LP): https://launchpad.net/ubuntu/+source/click
Dependents/Clients
ubuntu-app-launch (starting applications)
unity-scope-click (apps UI)
ubuntu-system-settings (app update UI)
Test Plan
This test plan is not supposed to be complete; use it to guide your manual testing so they don't miss big functional areas that are part of the component; also this should be used as a guideline to inspire the exploratory testing which should be adapted smartly based on the real content of a MP
- Install latest (devel-proposed) image on phone
- Install freshly build MPs that are needed for landing
Ensure that the unity-scope-click tests pass: https://wiki.ubuntu.com/Process/Merges/TestPlan/unity-scope-click (we don't care about all the fine details of the scope, but at least make sure that app installation/uninstallation works)
Ensure that the ubuntu-system-settings Updates tests pass: https://wiki.ubuntu.com/Process/Merges/TestPlan/ubuntu-system-settings#Updates
- Verify that you can uninstall an app from the app scope
- Reboot to make sure that hooks don't explode:
- Previously-installed apps should still be available and launchable
Check for errors in /var/log/upstart/click-system-hooks.log and /home/phablet/.cache/upstart/click-user-hooks.log, if either is present
There are currently some spurious errors like this in click-user-hooks.log, which we have not yet diagnosed but which can safely be ignored:
** (process:1617): WARNING **: Unable to get manifest for 'com.ubuntu.gallery' package: com.ubuntu.gallery does not exist in any database for user phablet ** (process:1617): CRITICAL **: manifest_version: assertion '*manifest != NULL' failed ** (process:1617): CRITICAL **: ubuntu_app_launch_triplet_to_app_id: assertion 'version != NULL' failed
Suggested Automated Tests
This section serves as a backlog of tests that can be automated and added to the functional test suite for Click. We shouldn't need to run them manually as part of landings.
Click Package Installation
These tests require that two users are created on the system under test. These can be called 'test-user1' and 'test-user2'. A click package called 'com.ubuntu.test.test-user.test-click.click' needs to be created for the purpose of the test as well (TODO: provide instructions for creating the click package).
[cjwatson: I'm not convinced that creating extra users is a sensible thing to do on a phone.]
[cjwatson: These tests are currently broken as written; click install takes a file name, not a package name, and if you're installing a test package then you need to provide directions for creating it.]
Click Package Installation
- Execute 'sudo click install --user=test-user1 com.ubuntu.test.test-user.test-click.click'.
- Confirm that the click package has been installed for user 'test-user1'.
Click Package Installation - all users
- Execute 'sudo click install --all-users com.ubuntu.test.test-user.test-click.click'
- Confirm that the click package has been installed for all users.
Click Package Register
These tests require that two users are created on the system under test. These can be called 'test-user1' and 'test-user2'. A click package called 'com.ubuntu.test.test-user.test-click' should already have been installed for 'test-user1'.
Click Package Unregister
Click Package Upgrades
Click Package Creation
Click Package List
List All Installed Click Packages
- Execute 'click list'
- Ensure that the expected Click packages are listed (defined somewhere?).
List Click Packages for phablet user
- Execute 'click list --user=phablet'
- Ensure that the expected Click packages are listed (defined somewhere?).
List Click Packages for other user
This test assumes that a user called 'test-user1' has been created, and that a click package called 'com.ubuntu.test.test-user.test-click' has previously been installed for that user.
- Execute 'click list --user=test-user1'
- Ensure that 'com.ubuntu.test.test-user.test-click' is listed, along with those packages installed for all users.
Click Package Verify
Click Changeroots
Click Hooks
Verify that the system hooks run and correcty garbage-collect old user registrations:
1. Check the version of a currently-installed application (e.g. fbphoto):
$ click list | grep fbphoto com.canonical.scopes.fbphotos 1.26
2. Obtain an older version of that same app (e.g. from popey's mirror:)
$ wget http://popey.mooo.com/mirror/clicks/2015/07/2015-07-23-050001/com.canonical.scopes.fbphotos_1.24_armhf.click
3. As the phablet user, install and register the older version of that app:
$ pkcon install-local com.canonical.scopes.fbphotos_1.24_armhf.click
4. Verify that the older version is now registered:
$ click list | grep fbphoto com.canonical.scopes.fbphotos 1.24
5. Run the system hooks, either by rebooting the phone or via:
$ sudo click hook run-system
6. Verify that the app registration has been updated to the newer version:
$ click list | grep fbphoto com.canonical.scopes.fbphotos 1.26
Process/Merges/TestPlan/click (last edited 2015-10-06 21:01:13 by ip-64-146-176-93)