Hi Paolo, 

For our internal continuous integration, we use the python pexpect[1] package 
to detect output/timeouts and then terminate the test. It's not perfect, but it 
works most of the time.

Cheers,
Anna. 

[1] https://pexpect.readthedocs.io/en/stable/
________________________________________
From: Devel <[email protected]> on behalf of Matt Rice 
<[email protected]>
Sent: Wednesday, 16 May 2018 5:08 AM
To: Paolo Crisafulli
Cc: [email protected]
Subject: Re: [seL4] Automatic testing using qemu

On Tue, May 15, 2018 at 7:43 AM, Paolo Crisafulli
<[email protected]> wrote:
> Hi there,
>
> I have written a seL4 app using CAmkES, that I am continuously building
> using Jenkins.
>
> I'd like to add a test step to this continuous integration process,
> launching the app with qemu and parsing the output to validate my
> expectations.
>
> The thing is, although all the active ("control") components reach their
> last instruction after a while, seL4 does not "exit" (which is expected I
> guess) and qemu does not stop, keeping my continuous integration job running
> for ever.
>
> Any idea on how to achieve this?
>
> Thank you very much in advance.

I'd imagine there are probably a few ways, mainly by binding the
monitor to some input device,
the following uses a unix socket/socat

qemu-system-i386 -monitor unix:path=./monitor.io,server,nowait &
# can exit whenever with
echo "system_powerdown" | socat - UNIX-CONNECT:monitor.io
echo "quit" | socat - UNIX-CONNECT:monitor.io

_______________________________________________
Devel mailing list
[email protected]
https://sel4.systems/lists/listinfo/devel

_______________________________________________
Devel mailing list
[email protected]
https://sel4.systems/lists/listinfo/devel

Reply via email to