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
