From 236faced1d907b025a3136c5949a311104d3a661 Mon Sep 17 00:00:00 2001 From: Jiajun Xu Date: Thu, 23 Dec 2010 23:09:06 +0800 Subject: qemuimage-testlib: Add check for existence of image and correctness of ip address Fixes [BUGID #612, #611] Add check for existence of image to be tested in qemuimage-testlib. This ensures that sanity test returns failure immediatly when there is no image found. And also add check for the correctness of ip address. If the ip address returned by function Test_Fetch_Target_IP is 0, it means qemu starts up failed and no valid ip address found. Signed-off-by Jiajun Xu --- scripts/qemuimage-testlib | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'scripts/qemuimage-testlib') diff --git a/scripts/qemuimage-testlib b/scripts/qemuimage-testlib index c2c394d5ed..608c6f0a75 100644 --- a/scripts/qemuimage-testlib +++ b/scripts/qemuimage-testlib @@ -365,8 +365,21 @@ Test_Create_Qemu() elif [ "$QEMUARCH" = "qemumips" ]; then KERNEL=$(Test_Find_Image -l ${DEPLOY_DIR}/images -k vmlinux -a ${QEMUARCH}) fi + + # If there is no kernel image found, return failed directly + if [ $? -eq 1 ]; then + Test_Info "No kernel image file found under ${DEPLOY_DIR}/images for ${QEMUARCH}, pls. have a check" + return $ret + fi ROOTFS_IMAGE=$(Test_Find_Image -l ${DEPLOY_DIR}/images -t ${QEMUTARGET} -a ${QEMUARCH}) + + # If there is no rootfs image found, return failed directly + if [ $? -eq 1 ]; then + Test_Info "No ${QEMUTARGET} rootfs image file found under ${DEPLOY_DIR}/images for ${QEMUARCH}, pls. have a check" + return $ret + fi + TEST_ROOTFS_IMAGE="${TEST_TMP}/${QEMUTARGET}-${QEMUARCH}-test.ext3" CP=`which cp` @@ -375,6 +388,11 @@ Test_Create_Qemu() fi $CP $ROOTFS_IMAGE $TEST_ROOTFS_IMAGE + if [ $? -ne 0 ]; then + Test_Info "Image ${ROOTFS_IMAGE} copy to ${TEST_ROOTFS_IMAGE} failed, return fail" + return $ret + fi + export MACHINE=$QEMUARCH # Create Qemu in localhost VNC Port 1 @@ -402,6 +420,11 @@ Test_Create_Qemu() if [ ${up_time} -lt ${timeout} ]; then sleep 5 TARGET_IPADDR=`Test_Fetch_Target_IP $PID` + # If IP address is 0, means there is no qemu process found + if [ ${TARGET_IPADDR} -eq 0 ]; then + Test_Info "There is no qemu process or qemu ip address found, return failed" + return $ret + fi fi while [ ${up_time} -lt ${timeout} ] -- cgit v1.2.3-54-g00ecf