Hey My recent work was focused on checkbox-touch but all internal API changes that I've smuggled in were designed to be compatible with a world where we can test remotely.
Some big changes have just landed that set the stage for upcoming work. The following is the list of remaining topics that we need to patch to be able to support remote testing: - The session suspend / resume helpers need to learn about devices, they need to store the connection string for each device so that we can recover the connection. On a similar note we should stop relying on SessionManager.state (and deprecate it) and really store/restore all of SessionManager.device_context_list (so one state + device connection pair per device). This is mostly straightforward and should be easy to do as soon as we get the ... - Local device patch. This patch is pretty simple conceptually. Everywhere where plainbox does something that is related to running jobs we should go via the SessionDeviceContext which sould delegate the work, as appropriate the the .device object it holds. The local device is easy as we don't need to add any new user-visible "features" just move them around so all that logic hangs off from a device class. - Teach 'plainbox run' to use the SessionManager without using the deprecated bits (currently they are not marked as deprecated but I'm mostly thinking about @state) and to bootstrap and tear down devices that participate in the session. This should be done in a way that is mostly ignorant to the set of devices that participate in the session (it must work with the one but it should work with many). It also involves some UI changes but I think we can still use the conceptually simple -@ phablet:serial | -@ local command line arguments I did in Budapest - Add a phablet device. This is mostly done (from the Budapest remote branch), just needs to be adapted to the new device API and tied to the session device context where appropriate. The only change that we must do is to alter the bootstrap code as described here [1] - Add arch awareness to providers. This is an open problem but we don't really *need* to get it right for the first version. We need to cheat a little and that's it. I'll write more about that and about sealed providers some other time. Thansk ZK [1] https://github.com/zyga/python-phablet/issues/1 -- Mailing list: https://launchpad.net/~checkbox-dev Post to : [email protected] Unsubscribe : https://launchpad.net/~checkbox-dev More help : https://help.launchpad.net/ListHelp

