Gij on device is in a bit of a "weird" state for the moment. Hub did a bit
of work at the end of 2013/beginning of 2014 to create faculties within the
js framework for running tests on device. Later in 2014, the A-team came to
us hoping to write a little service to expose the python runner's device
capabilities to our js framework so that we could benefit from the work
they were doing related to interfacing with devices and recovering crash
data from gecko. We went for that and the python service they created
mostly worked wrt running tests on b2g-desktop and device at the time, so
we landed the thing.

Then a re-org happened and no one maintained the python service or ran
jsmarionette tests on device for about a year. The python codebase for
managing gecko processes has changed but the changes haven't been
downstreamed to the python service that we're using in gaia. Aus and John
Dorlus have been working on resurrecting the python service, but they're
both frustrated by the complexity and architecture of the python codebase.

I think that what our team needs is to throw away the unmaintained python
goop and replace it with a web service for interfacing with devices. That
API will expose methods to, among other things,

1. return metadata about device state (whether there is a device connected,
whether b2g is running, device type and gonk & gecko versions)
2. restart the phone or b2g
3. push a parameter gecko profile to the device
4. open a socket connection to a device port and return metadata that will
allow the service client to connect to it
5. stream device logs
6. recover a crash dump

This is a non-trivial undertaking, but I can't imagine our ui testing
efforts progressing without that investment. The list you made sounds
reasonable to me, but I think interfacing with devices in a sane, tested,
scalable way is the biggest piece of the puzzle IMHO.

On Tue, Oct 6, 2015 at 8:54 AM, David Scravaglieri <
[email protected]> wrote:

> Hi,
>
> I put together all the conversation I had regarding quality improvements
> and I'd like to know if it sounds good to you.
> If so, we need an epm assigned and start executing
> *.*
>
> *▾    Continuous Integration plan*
>        Goal : Every commit on Gecko and Gaia must trigger full test run,
> failures and performance issues to be reported on Treeherder for backout
>     *▾    Automation*
>                   •    Create a test matrix to define which tests are
> running on which platform (Device, Mulet, Emulator)
>             *▾    Engineering*
>                       •    Port Gip tests to Gij
>                                 *QA to provide the list of tests to port
> and create the related bugs in bugzilla*
>                       •    Create new Gij tests from moztrap scenarios
>                                 *QA to select the moztrap scenario that
> can be valuable to automate and technically feasible*
>             *▾    Device*
>                       •    Replace Jenkins module by Treeherder for
> sending jobs to Bitbar
>                       •    Marionette.js to run on device
>                       •    Gecko Unit tests an Gij tests to run on devices
>                       •    Add Aries devices to Bitbar (30 units - 15 KK
> and 15 L)
>            * •    Mulet*
>                       *Run Gaia Unit tests and Gij tests on Mulet*
>             *•    Emulator-x86-KK*
>                       *Activate emulator-x86-kk on Treeherder, run Gecko
> unit tests and Gij tests*
>             *•    Emulator-x86-L*
>                       *Start porting emulator to L and activate it on
> Treeherder*
>             *•    Raptor*
>                       *Integrate Raptor performance tests on Treeherder*
>
> Thanks,
> ---
> David Scravaglieri
> Mozilla - Firefox OS
>
> _______________________________________________
> dev-fxos mailing list
> [email protected]
> https://lists.mozilla.org/listinfo/dev-fxos
>
>
_______________________________________________
dev-fxos mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-fxos

Reply via email to