Touch Core Apps testing needs

Registered by Nicholas Skaggs

With the migration to 1.4 and trusty, the core apps workflow for testing and merging into the core images still has some pain points that need addressing.

The core apps tests in many cases don't realibly run in a testing enviorment. There are several bad implications from this:

-Merge request by developers fail because a test randomly fails for code they didn't change
-Stable images can't be produced or are produced with failing tests
-True bugs that the tests find are hard to seperate from the noise (is this a random failure, or a bug?)
-Once a bug is found, the cause of the bug is hard to diagnose (platform/sdk introduced, core apps code change, autopilot, ci infastructure, etc)

Let's talk about getting the core apps tests green and running reliably. In addition, let's talk about workflow changes to revert code when the tests break in order to keep the app in good shape.

Blueprint information

Not started
Jono Bacon
Nicholas Skaggs
Nicholas Skaggs
Series goal:
Accepted for trusty
Milestone target:

Related branches



We talked a bit about how to clean up and fix the tests in this session;

We didn't get to do as much indepth review. It might be useful to do so now in this session and ensure all the issues have folks assigned with work items.

what if the api changes?
    <mzanetti> ideally 2 steps. mock the service, test app with qmltestrunner. have autopilot tests walking through the api
    <cjohnston> using an external serivce for testing can provide you with false failures
    <mzanetti> 2-step testing... 1) mocks + unit tests, 2) integration tests that that it the api still works
    <mzanetti> yeah... you don't need too many AP tests then. Only a few that interact with the server.
    how will we know what the failure was caused
        remote server testsuite shouldn't block CI
            hard to get value out of running tests
                perhaps leave an API change like that to manual tests
    Rely on user reports of failures, use mock api's for testing


ubuntu-weather-app-autopilot 2013/11/20 15:47 17 14 3 0 0 82.4%

    Leo wants to refactor

    remember to mockup for network issues

    2 tests need to be re-enabled and tested (swipe to delete emulator)



    missing tests

    test to swipe for different hours in the day

ubuntu-terminal-app-autopilot 2013/11/20 15:39 9 9 0 0 0 100%

    all good :-)

ubuntu-rssreader-app-autopilot 2013/11/20 15:32 5 2 3 0 0 40%

    forces us to use internet resources which can cause failures

    needs smaller tests, a bit of refactoring

ubuntu-filemanager-app-autopilot 2013/11/20 15:17 25 8 17 0 0 32%

    remove patching home

    refactor to use new folder

ubuntu-clock-app-autopilot 2013/11/20 15:10 11 11 0 0 0 100%

    refactor to only use local sources

    land mp's

    alarm tests

    UI alarm test in autopilot

    lower level tests for push notifications

ubuntu-calculator-app-autopilot 2013/11/20 14:59 30 30 0 0 0 100%

    some tests better as unit tests, but they all work and features covered

dropping-letters-app-autopilot 2013/11/20 14:55 5 5 0 0 0 100%

    Good, no code changes, tests rock solid

music-app-autopilot 2013/11/20 14:48 8 7 1 0 0 87.5%

    shuffle implementation and tests have been an issue

    Needs tests for interfacing with Aritsts, Albums, Songs tabs

    Needs tests for each tab to add an item to a playlist or the queue

    Needs tests to create and modify playlists

    Needs tests for swipe to delete of playlist items and queue items

calendar-app-autopilot 2013/11/20 14:41 7 2 5 0 0 28.6%

    3 mp's need to land / merge.

    once landed all features should have tests has the AP 1.4 fixes as well as a few others. It is green as far as Jenkins can see. I think balloons has a merge that will fix a test that's failing on the device.



    what's development look like?


    not in public jenkins view

    can we add?

    toolbar changed and broke the tests


    not in public jenkins view

    can we add?


Work Items

Work items:
[nskaggs] weather app, 2 tests need to be re-enabled and tested (swipe to delete nskaggs): DONE
[nskaggs] add bug for weather app, test to swipe for different hours in the day: DONE
[nskaggs] filemanager, refactor to use new folder: DONE
[nik90] clock, refactor to only use local sources: TODO
[nskaggs] msuic, remove shuffle test: DONE
[vthompson] music, look into shuffle test issues and fix: DONE
music app has lots of new tests to be written: DONE
[nskaggs] calendar, compare victor's mp, merge victor's mp, and potentially merge mine as well: DONE
[chris.gagnon] fix sudokutouch; toolbar issues, et la: TODO
[nskaggs] open bug to add sudokutouch and stock-ticker to the daily image testing, DONE

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.