← Back to team overview

canonical-ci-engineering team mailing list archive

Re: Restricting dep8 tests to run on the phone

 

My first thought is to extend autopkgtest with a new flavor of testbed that
provides a container to run the tests and command-hooks into a slave
device. The hooks provide some basic set of interfaces to interact with the
slave device: push, pull, reboot, execute, etc. (the command set provided
by adb comes to mind). autopkgtest would then execute the tests inside the
container and provide the backend to fulfill the slave command interface. I
would consider this a new dep8 restriction, 'isolation-slave' or something.

My second thought is that if autopkgtest is not the right solution from an
architectural viewpoint, can we create something very thin that consumers
dep8 like syntax and is capable of running tests in a host/slave
relationship. It would provide the same slave interfaces I mentioned above,
or could even just provide an ANDROID_SERIAL and access to adb and
ubuntu-device-flash (not quite sure about this yet).

Francis

On Wed, Dec 10, 2014 at 2:27 PM, Thomi Richards <
thomi.richards@xxxxxxxxxxxxx> wrote:

> Hi,
>
> some parts of your email were cut for the sake of brevity...
>
> On Wed, Dec 10, 2014 at 9:04 PM, Steve Langasek <
> steve.langasek@xxxxxxxxxxxxx> wrote:
>
>>
>> I think that provides most of the guidance we need.
>
>
> excellent...
>
>
>> The only thing I'm
>> still not sure about is the "fail gracefully" part.  All of the interfaces
>> invoked by our tests are things that, under DEP8, would be declared as
>> dependencies of the tests (AIUI), and there's no interface for querying
>> the
>> key bit that will make the test work (i.e., "is the recovery partition set
>> up to upgrade us, and does this device support rebooting into recovery
>> mode?").  So for the time being I don't think we can be very graceful.
>>
>
>
> This is where I think your situation is probably unique amongst people
> writing test suites. I still think we need some guidance from CI here - how
> should we write test suites that target the physical device like this?
>
> To my mind, the easiest thing to do is run these on the host machine (this
> could similarly be configured via a test class), and give the test suite a
> command to connect to it's allocated device.
>
>
> Thoughts?
>
> --
> Thomi Richards
> thomi.richards@xxxxxxxxxxxxx
>



-- 
Francis Ginther
Canonical - Ubuntu Engineering - Continuous Integration Team

Follow ups

References