scripts/qemutestlib: Add better process debugging and fix process group issue
In single testing with a shutdown scenario the processes are cleaned up correctly but the manual cleanup fall back used for a minimal image do not work properly. This patch fixes the kill commands to revert to non-process groups, fixing the hung process issues that were occuring. (From OE-Core rev: 6a0134fd4f1b64ef788be0791bd655dc7703d505) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
ee416ad6f4
commit
8852e51bdc
|
@ -70,6 +70,7 @@ Test_Update_IPSAVE()
|
|||
local ip_addr=$2
|
||||
|
||||
if [ "$TEST_SERIALIZE" -eq 1 ]; then
|
||||
echo "Saving $pid $ip_addr to $TARGET_IPSAVE"
|
||||
echo "$pid $ip_addr" > $TARGET_IPSAVE
|
||||
fi
|
||||
}
|
||||
|
@ -215,6 +216,7 @@ Test_Kill_Qemu()
|
|||
{
|
||||
local index=0
|
||||
local total=0
|
||||
local k=0
|
||||
|
||||
# When TEST_SERIALIZE is set, qemu process will not be
|
||||
# killed until all the cases are finished
|
||||
|
@ -222,15 +224,26 @@ Test_Kill_Qemu()
|
|||
index=`sed -n 2p ${TEST_STATUS} | awk '{print $3}'`
|
||||
total=`sed -n 2p ${TEST_STATUS} | awk '{print $4}'`
|
||||
if [ ${index} != ${total} ]; then
|
||||
Test_Info "Do not kill the qemu process and use it for later testing"
|
||||
Test_Info "Do not kill the qemu process and use it for later testing (step $index of $total)"
|
||||
Test_Update_IPSAVE $XTERMPID $TARGET_IPADDR
|
||||
else
|
||||
kill -$QEMUPID
|
||||
kill -$XTERMPID
|
||||
k=1
|
||||
fi
|
||||
else
|
||||
kill -$QEMUPID
|
||||
kill -$XTERMPID
|
||||
k=1
|
||||
fi
|
||||
|
||||
if [ $k -eq 1 ]; then
|
||||
running=`ps -wwfp $QEMUPID`
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "killing $QEMUPID"
|
||||
kill $QEMUPID
|
||||
fi
|
||||
running=`ps -wwfp $XTERMPID`
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "killing $XTERMPID"
|
||||
kill $XTERMPID
|
||||
fi
|
||||
fi
|
||||
|
||||
return
|
||||
|
@ -393,6 +406,7 @@ Test_Create_Qemu()
|
|||
|
||||
# Get the pid of the xterm processor, which will be used in Test_Kill_Qemu
|
||||
XTERMPID=$!
|
||||
echo "XTERMPID is $XTERMPID"
|
||||
fi
|
||||
|
||||
while [ ${up_time} -lt 10 ]
|
||||
|
@ -404,6 +418,7 @@ Test_Create_Qemu()
|
|||
sleep 5
|
||||
else
|
||||
Test_Info "Begin to check if qemu network is up"
|
||||
echo "QEMUPID is $QEMUPID"
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
|
Loading…
Reference in New Issue