aboutsummaryrefslogblamecommitdiff
path: root/src/tests/utests/run_qemu_test.sh
blob: e806501e38ca7de203401ec4f1d2f6281a81a4be (plain) (tree)
1
2
3
4
5
6
7
8
9
10

           

          


                   
 

                                                                                                                                             

                                                                                   
 
                        
 

              
 






                                                   
 
#!/bin/bash

BINFILE=$1
LOGFILE=$2

RESULTFILE=`mktemp`
PIDFILE=`mktemp`

(timeout 3s qemu-system-i386 -kernel build/kernel.bin -append "init=io:/mod/`basename $BINFILE`" \
							  -initrd "$BINFILE,build/kernel.map" -serial stdio -m 16 -display none 2>/dev/null \
	& echo $! >$PIDFILE) \
	| tee >(grep -m 1 "TEST-" >$RESULTFILE; kill -INT `cat $PIDFILE`) >$LOGFILE

RESULT=`cat $RESULTFILE`

rm $RESULTFILE
rm $PIDFILE

if [ "$RESULT" != '[1] (TEST-OK)' ]; then
	echo -e "\033[0;31m$BINFILE $RESULT\033[0m"
	cp $LOGFILE $LOGFILE.err
	exit 1;
else
	echo -e "\033[0;32m$BINFILE $RESULT\033[0m"
fi