On 30-08-16 22:18, Daniel. wrote:
> Hey everybody!
>
> While writing software we're used to delivery packages, libraries and
> stacks. There are out there a lot of continuos integration solutions
> to automaticaly build and test these kinds of software. But when
> dealing to images the thing is more tricky.
>
> I can't run the tests at the same machine that build the image because
> crosscompilation take place on 99% of the cases. What is aproach that
> you guys are using to automate and increase the quality of your
> images?
>
> Automating the build is the easy part my concert is about automating
> the runtime tests that need the target board to run. In my case I
> depend on hardware to fully test the image features. Is there any
> reliable way to automate image installation and boot!?
It helps a lot if you take testing into account when designing the hardware.
We have a bunch of hardware targets in a corner. The board can be powered
on/off forcibly by controlling/monitoring the RTS/DTR/CTS/DSR lines of the
serial debug port (FTDI chip).
A python script on a PC boots a board, puts it into USB "DFU" mode by "typing"
commands into u-boot, and then sends an image over USB into RAM. The board
then configures its USB OTG port as network, and the Python script connects to
the board via SSH (paramiko) over that USB connection when it sees the
"network" come up. Using the SSH connection, it can run whatever tests it
needs doing (send data and even executables, run shell commands, and get
reliable feedback on process completion).
One test PC can control multiple boards (each board needs two USB connectors
in this setup).
I'd also be interested to know what other projects are doing.
> Hey everybody!
>
> While writing software we're used to delivery packages, libraries and
> stacks. There are out there a lot of continuos integration solutions
> to automaticaly build and test these kinds of software. But when
> dealing to images the thing is more tricky.
>
> I can't run the tests at the same machine that build the image because
> crosscompilation take place on 99% of the cases. What is aproach that
> you guys are using to automate and increase the quality of your
> images?
>
> Automating the build is the easy part my concert is about automating
> the runtime tests that need the target board to run. In my case I
> depend on hardware to fully test the image features. Is there any
> reliable way to automate image installation and boot!?
It helps a lot if you take testing into account when designing the hardware.
We have a bunch of hardware targets in a corner. The board can be powered
on/off forcibly by controlling/monitoring the RTS/DTR/CTS/DSR lines of the
serial debug port (FTDI chip).
A python script on a PC boots a board, puts it into USB "DFU" mode by "typing"
commands into u-boot, and then sends an image over USB into RAM. The board
then configures its USB OTG port as network, and the Python script connects to
the board via SSH (paramiko) over that USB connection when it sees the
"network" come up. Using the SSH connection, it can run whatever tests it
needs doing (send data and even executables, run shell commands, and get
reliable feedback on process completion).
One test PC can control multiple boards (each board needs two USB connectors
in this setup).
I'd also be interested to know what other projects are doing.
Kind regards,
Mike Looijmans
System Expert
TOPIC Products |
|
| |
Materiaalweg 4 |
|
| |
5681 RJ Best |
T: |
+31 (0) 499 33 69 69 | |
Postbus 440 |
E: |
mike.looijm...@topicproducts.com | |
5680 AK Best |
W: |
||
The Netherlands |
Please consider the environment before printing this
e-mail
Topic zoekt gedreven (embedded) software specialisten!
-- _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto