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
|
local ip_addr=$2
|
||||||
|
|
||||||
if [ "$TEST_SERIALIZE" -eq 1 ]; then
|
if [ "$TEST_SERIALIZE" -eq 1 ]; then
|
||||||
|
echo "Saving $pid $ip_addr to $TARGET_IPSAVE"
|
||||||
echo "$pid $ip_addr" > $TARGET_IPSAVE
|
echo "$pid $ip_addr" > $TARGET_IPSAVE
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
@ -215,6 +216,7 @@ Test_Kill_Qemu()
|
||||||
{
|
{
|
||||||
local index=0
|
local index=0
|
||||||
local total=0
|
local total=0
|
||||||
|
local k=0
|
||||||
|
|
||||||
# When TEST_SERIALIZE is set, qemu process will not be
|
# When TEST_SERIALIZE is set, qemu process will not be
|
||||||
# killed until all the cases are finished
|
# killed until all the cases are finished
|
||||||
|
@ -222,15 +224,26 @@ Test_Kill_Qemu()
|
||||||
index=`sed -n 2p ${TEST_STATUS} | awk '{print $3}'`
|
index=`sed -n 2p ${TEST_STATUS} | awk '{print $3}'`
|
||||||
total=`sed -n 2p ${TEST_STATUS} | awk '{print $4}'`
|
total=`sed -n 2p ${TEST_STATUS} | awk '{print $4}'`
|
||||||
if [ ${index} != ${total} ]; then
|
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
|
Test_Update_IPSAVE $XTERMPID $TARGET_IPADDR
|
||||||
else
|
else
|
||||||
kill -$QEMUPID
|
k=1
|
||||||
kill -$XTERMPID
|
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
kill -$QEMUPID
|
k=1
|
||||||
kill -$XTERMPID
|
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
|
fi
|
||||||
|
|
||||||
return
|
return
|
||||||
|
@ -393,6 +406,7 @@ Test_Create_Qemu()
|
||||||
|
|
||||||
# Get the pid of the xterm processor, which will be used in Test_Kill_Qemu
|
# Get the pid of the xterm processor, which will be used in Test_Kill_Qemu
|
||||||
XTERMPID=$!
|
XTERMPID=$!
|
||||||
|
echo "XTERMPID is $XTERMPID"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
while [ ${up_time} -lt 10 ]
|
while [ ${up_time} -lt 10 ]
|
||||||
|
@ -404,6 +418,7 @@ Test_Create_Qemu()
|
||||||
sleep 5
|
sleep 5
|
||||||
else
|
else
|
||||||
Test_Info "Begin to check if qemu network is up"
|
Test_Info "Begin to check if qemu network is up"
|
||||||
|
echo "QEMUPID is $QEMUPID"
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
Loading…
Reference in New Issue