Hello,
I am trying to setup Android tests on a B2260 board using LAVA V2 ( version 2017-05 ).
I have read LAVA documentation about Android tests and investigate about existing Android jobs and devices that have developed Android tests.
My questions:
* Is it essential to use linux container to perform Androids tests ? * Do you have device-type, devices and jobs that would help me to achieve my android tests ?
Best regards
Philippe
On 18 May 2017 at 07:35, Philippe BEGNIC philippe.begnic@st.com wrote:
Hello,
I am trying to setup Android tests on a B2260 board using LAVA V2 ( version 2017-05 ).
I have read LAVA documentation about Android tests and investigate about existing Android jobs and devices that have developed Android tests.
My questions:
- Is it essential to use linux container to perform Androids tests ?
Yes. fastboot and adb are particularly badly behaved for automation. Both are greedy of resources and I/O as well as requiring different versions of binaries and dependencies for different device-types. V1 had to use flocks to isolate different fastboot and adb operations but that was unreliable and just made every android job slow by forcing only one fastboot or adb operation at a time across many devices. adb has a horrible habit of grabbing the entire USB stack, so if any other process starts adb when an adb process is running somewhere else on that machine, it does not see any USB devices. Containers fix this by only showing the one USB device to each adb process - the adb code still grabs everything it sees, so it is imperative that adb is not installed outside the LXC or all LXC adb usage will fail.
This is, sadly, typical of a lot of developer tools for embedded devices. The code is designed for the 'single developer with a single test device' model and the assumptions which are inherent in that model are the exact opposite of what is required for automation with lots of developers and lots of different devices.
- Do you have device-type, devices and jobs that would help me to
achieve my android tests ?
staging.validation.linaro.org has a number of such devices and test jobs can also be found in https://git.linaro.org/lava-team/refactoring.git/
LXC is not restricted to Android. LXC is for use every time any software needs to be installed on the worker which is not used by lava-dispatcher already. e.g. custom software not packaged for Debian or not available in the current Debian suite used by the worker.
We are cautious about adding new dependencies to lava-dispatcher, to keep the worker installation light for most users.