]> code.ossystems Code Review - openembedded-core.git/commitdiff
qemuimage-testlib: Add check for existence of image and correctness of ip address
authorJiajun Xu <jiajun.xu@intel.com>
Thu, 23 Dec 2010 15:09:06 +0000 (23:09 +0800)
committerRichard Purdie <rpurdie@linux.intel.com>
Thu, 23 Dec 2010 15:52:37 +0000 (15:52 +0000)
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 <jiajun.xu@intel.com>

scripts/qemuimage-testlib

index c2c394d5ede9c650529669f6856f3f3918ca3cc7..608c6f0a754d88c2652517311afa390fb8fc84b8 100644 (file)
@@ -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} ]