diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-03-19 20:54:33 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-03-19 20:57:32 +0000 |
commit | 6a0134fd4f1b64ef788be0791bd655dc7703d505 (patch) | |
tree | 9bbff83565fe504df2171714f4f9608a5b17b7c6 /scripts | |
parent | 2ecb3b99373e17d93f50142f2da3f786c83c7eb2 (diff) | |
download | openembedded-core-6a0134fd4f1b64ef788be0791bd655dc7703d505.tar.gz openembedded-core-6a0134fd4f1b64ef788be0791bd655dc7703d505.tar.bz2 openembedded-core-6a0134fd4f1b64ef788be0791bd655dc7703d505.zip |
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.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/qemuimage-testlib | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/scripts/qemuimage-testlib b/scripts/qemuimage-testlib index 2c22bf2fa6..5d74a0a739 100755 --- a/scripts/qemuimage-testlib +++ b/scripts/qemuimage-testlib @@ -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 |