]> code.ossystems Code Review - openembedded-core.git/commitdiff
imagetest-qemu: Add sanity test cases for scp/shutdown in target
authorJiajun Xu <jiajun.xu@intel.com>
Wed, 10 Nov 2010 14:58:52 +0000 (22:58 +0800)
committerSaul Wold <sgw@linux.intel.com>
Mon, 15 Nov 2010 05:08:22 +0000 (21:08 -0800)
scp test is to check if file copying via network work or not in target.
shutdown test is to check if target can be poweroff with qemu process off.

Signed-off-by Jiajun Xu <jiajun.xu@intel.com>

18 files changed:
meta/classes/imagetest-qemu.bbclass
scripts/qemuimage-testlib
scripts/qemuimage-tests/sanity/boot
scripts/qemuimage-tests/sanity/dmesg
scripts/qemuimage-tests/sanity/scp [new file with mode: 0755]
scripts/qemuimage-tests/sanity/shutdown [new file with mode: 0755]
scripts/qemuimage-tests/sanity/ssh
scripts/qemuimage-tests/scenario/qemuarm/poky-image-sato
scripts/qemuimage-tests/scenario/qemuarm/poky-image-sdk
scripts/qemuimage-tests/scenario/qemumips/poky-image-sato
scripts/qemuimage-tests/scenario/qemumips/poky-image-sdk
scripts/qemuimage-tests/scenario/qemuppc/poky-image-sato
scripts/qemuimage-tests/scenario/qemuppc/poky-image-sdk
scripts/qemuimage-tests/scenario/qemux86-64/poky-image-minimal [new file with mode: 0644]
scripts/qemuimage-tests/scenario/qemux86-64/poky-image-sato [new file with mode: 0644]
scripts/qemuimage-tests/scenario/qemux86-64/poky-image-sdk [new file with mode: 0644]
scripts/qemuimage-tests/scenario/qemux86/poky-image-sato
scripts/qemuimage-tests/scenario/qemux86/poky-image-sdk

index bd4dc9c0bf2ae33169e075f51a0b87922f31febb..07bdf01340bcecdd2ceec221e86afdedede0d131 100644 (file)
@@ -111,7 +111,7 @@ python do_qemuimagetest() {
     os.symlink(resultfile, sresultfile)
     f = open(sresultfile, "a")
     f.write("\tTest Result for %s\n" % machine)
-    f.write("\tTestcase\tPASS\tFAIL\tNORESULT\n")
+    f.write("\t%-15s%-15s%-15s%-15s\n" % ("Testcase", "PASS", "FAIL", "NORESULT"))
     f.close()
     
     """generate pre-defined testcase list"""
index 3ebf5ffd2adc1924ee835c5c0182152bc0c23c66..c2c394d5ede9c650529669f6856f3f3918ca3cc7 100644 (file)
@@ -151,7 +151,8 @@ Test_Print_Result()
                NORESULT=1
        fi
 
-       echo -e "\t$1\t\t$PASS\t$FAIL\t$NORESULT" >> $TEST_RESULT/testresult.log
+       # Format the output of the test result
+       echo -e "$1 $PASS $FAIL $NORESULT" | awk '{printf("\t"); for(i=1;i<=NF;i++) printf("%-15s",$i); printf("\n");}' >> $TEST_RESULT/testresult.log
 }
 
 # Test_Kill_Qemu to kill child pid with parent pid given
@@ -399,6 +400,7 @@ Test_Create_Qemu()
 
        # Parse IP address of target from the qemu command line
        if [ ${up_time} -lt ${timeout} ]; then
+               sleep 5
                TARGET_IPADDR=`Test_Fetch_Target_IP $PID`
        fi
 
index 5014e8a5acbda03b1a77dbabbe9e433cdf2bef5f..b75b9b9285de0015665b7138c496a20fa3ba668a 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/bash
 #
 # Boot Test Case for Sanity Test
-# The case boot up the Qemu target with `runqemu qemux86`.
+# The case boot up the Qemu target with `poky-qemu qemuxxx`.
 # Then check if qemu and qemu network is up.
 #
 # Author: Jiajun Xu <jiajun.xu@intel.com>
index c384659b6c5e25579686b7646480861cecf8f67e..36813dcd4326040d0fa75dae4e13163ea7d11ad8 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/bash
 # Dmesg Check Test Case for Sanity Test
-# The case boot up the Qemu target with `runqemu qemux86`.
+# The case boot up the Qemu target with `poky-qemu qemuxxx`.
 # Then check if there is any error log in dmesg.
 #
 # Author: Jiajun Xu <jiajun.xu@intel.com>
diff --git a/scripts/qemuimage-tests/sanity/scp b/scripts/qemuimage-tests/sanity/scp
new file mode 100755 (executable)
index 0000000..ce3489d
--- /dev/null
@@ -0,0 +1,71 @@
+#!/bin/bash
+# SCP Test Case for Sanity Test
+# The case boot up the Qemu target with `poky-qemu qemuxxx`.
+# Then check if file can be copied into target with scp command.
+#
+# Author: Jiajun Xu <jiajun.xu@intel.com>
+#
+# This file is licensed under the GNU General Public License,
+# Version 2.
+#
+
+. $POKYBASE/scripts/qemuimage-testlib
+
+TIMEOUT=360
+RET=1
+SPID=0
+i=0
+
+# Start qemu and check its network
+Test_Create_Qemu ${TIMEOUT}
+
+# If qemu network is up, check ssh service in qemu
+if [ $? -eq 0 ]; then
+       Test_Info "Begin to Test SSH Service in Qemu"
+       Test_SSH_UP ${TARGET_IPADDR} ${TIMEOUT}
+       RET=$?
+else
+       RET=1
+fi
+
+# Check if file can be copied from host into target
+# For qemu target, the file is 5M
+if [ $RET -eq 0 ]; then
+       echo $QEMUARCH | grep -q "qemu"
+       
+       if [ $? -eq 0 ]; then
+               dd if=/dev/zero of=${TEST_TMP}/scp_test_file bs=512k count=10
+               Test_SCP ${TARGET_IPADDR} ${TEST_TMP}/scp_test_file /home/root &
+               SPID=$!
+       fi
+       
+       # Check if scp finished or not
+       while [ $i -lt $TIMEOUT ]
+       do
+               ps -fp $SPID > /dev/null
+               if [ $? -ne 0 ]; then
+                       RET=0
+                       break
+               fi
+               i=$((i+5))
+               sleep 5
+       done
+
+       # Kill scp process if scp is not finished in time
+       if [ $i -ge $TIMEOUT ]; then
+               RET=1
+               kill $SPID
+       fi
+fi
+
+if [ ${RET} -eq 0 ]; then
+       Test_Info "SCP Test PASS"
+       Test_Kill_Qemu
+       Test_Print_Result "SCP" 0
+       exit 0
+else
+       Test_Info "SCP Test FAIL"
+       Test_Kill_Qemu
+       Test_Print_Result "SCP" 1
+       exit 1
+fi
diff --git a/scripts/qemuimage-tests/sanity/shutdown b/scripts/qemuimage-tests/sanity/shutdown
new file mode 100755 (executable)
index 0000000..e36b4a9
--- /dev/null
@@ -0,0 +1,70 @@
+#!/bin/bash
+# Shutdown Test Case for Sanity Test
+# The case boot up the Qemu target with `poky-qemu qemuxxx`.
+# Then check if target can shutdown
+# For qemux86/x86-64, we use command "poweroff" for target shutdown
+# For non-x86 targets, we use command "reboot" for target shutdown
+#
+# Author: Jiajun Xu <jiajun.xu@intel.com>
+#
+# This file is licensed under the GNU General Public License,
+# Version 2.
+#
+
+. $POKYBASE/scripts/qemuimage-testlib
+
+TIMEOUT=360
+RET=1
+i=0
+
+# Start qemu and check its network
+Test_Create_Qemu ${TIMEOUT}
+
+# If qemu network is up, check ssh service in qemu
+if [ $? -eq 0 ]; then
+       Test_Info "Begin to Test SSH Service in Qemu"
+       Test_SSH_UP ${TARGET_IPADDR} ${TIMEOUT}
+       RET=$?
+else
+       RET=1
+fi
+
+# Check if target can shutdown
+if [ $RET -eq 0 ]; then
+       echo $QEMUARCH | grep -q "qemux86"
+
+       # For qemux86/x86-64, command "poweroff" is used
+       # For non x86 qemu targets, command "reboot" is used because of BUG #100
+       if [ $? -eq 0 ]; then
+               Test_SSH ${TARGET_IPADDR} "/sbin/poweroff"
+       else
+               Test_SSH ${TARGET_IPADDR} "/sbin/reboot"
+       fi
+
+       # If qemu start up process ends up, it means shutdown completes
+       while [ $i -lt $TIMEOUT ]
+       do
+               ps -fp $PID > /dev/null
+               if [ $? -ne 0 ]; then
+                       RET=0
+                       break
+               fi
+               i=$((i+5))
+               sleep 5
+       done
+
+       if [ $i -ge $TIMEOUT ]; then
+               RET=1
+       fi
+fi
+
+if [ ${RET} -eq 0 ]; then
+       Test_Info "Shutdown Test PASS"
+       Test_Print_Result "shutdown" 0
+       exit 0
+else
+       Test_Info "Shutdown Test FAIL"
+       Test_Kill_Qemu
+       Test_Print_Result "shutdown" 1
+       exit 1
+fi
index f9143d055858be5b9f903302c66c82c36081a802..084530adfbb7bdbfb4af5c35e7021845c6a44a9d 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/bash
 # SSH Test Case for Sanity Test
-# The case boot up the Qemu target with `runqemu qemux86`.
+# The case boot up the Qemu target with `poky-qemu qemuxxx`.
 # Then check if ssh service in qemu is up.
 #
 # Author: Jiajun Xu <jiajun.xu@intel.com>
index f6e7cb1604d9aa714e5df38b4a67b5f62c1c4641..b8e9847b48c9690437d2c26aa512d7b323f3d69a 100644 (file)
@@ -1,3 +1,5 @@
 sanity boot
 sanity ssh
+sanity scp
 sanity dmesg
+sanity shutdown
index f6e7cb1604d9aa714e5df38b4a67b5f62c1c4641..b8e9847b48c9690437d2c26aa512d7b323f3d69a 100644 (file)
@@ -1,3 +1,5 @@
 sanity boot
 sanity ssh
+sanity scp
 sanity dmesg
+sanity shutdown
index f6e7cb1604d9aa714e5df38b4a67b5f62c1c4641..b8e9847b48c9690437d2c26aa512d7b323f3d69a 100644 (file)
@@ -1,3 +1,5 @@
 sanity boot
 sanity ssh
+sanity scp
 sanity dmesg
+sanity shutdown
index f6e7cb1604d9aa714e5df38b4a67b5f62c1c4641..b8e9847b48c9690437d2c26aa512d7b323f3d69a 100644 (file)
@@ -1,3 +1,5 @@
 sanity boot
 sanity ssh
+sanity scp
 sanity dmesg
+sanity shutdown
index f6e7cb1604d9aa714e5df38b4a67b5f62c1c4641..b8e9847b48c9690437d2c26aa512d7b323f3d69a 100644 (file)
@@ -1,3 +1,5 @@
 sanity boot
 sanity ssh
+sanity scp
 sanity dmesg
+sanity shutdown
index f6e7cb1604d9aa714e5df38b4a67b5f62c1c4641..b8e9847b48c9690437d2c26aa512d7b323f3d69a 100644 (file)
@@ -1,3 +1,5 @@
 sanity boot
 sanity ssh
+sanity scp
 sanity dmesg
+sanity shutdown
diff --git a/scripts/qemuimage-tests/scenario/qemux86-64/poky-image-minimal b/scripts/qemuimage-tests/scenario/qemux86-64/poky-image-minimal
new file mode 100644 (file)
index 0000000..0fcc7bb
--- /dev/null
@@ -0,0 +1 @@
+sanity boot
diff --git a/scripts/qemuimage-tests/scenario/qemux86-64/poky-image-sato b/scripts/qemuimage-tests/scenario/qemux86-64/poky-image-sato
new file mode 100644 (file)
index 0000000..b8e9847
--- /dev/null
@@ -0,0 +1,5 @@
+sanity boot
+sanity ssh
+sanity scp
+sanity dmesg
+sanity shutdown
diff --git a/scripts/qemuimage-tests/scenario/qemux86-64/poky-image-sdk b/scripts/qemuimage-tests/scenario/qemux86-64/poky-image-sdk
new file mode 100644 (file)
index 0000000..b8e9847
--- /dev/null
@@ -0,0 +1,5 @@
+sanity boot
+sanity ssh
+sanity scp
+sanity dmesg
+sanity shutdown
index f6e7cb1604d9aa714e5df38b4a67b5f62c1c4641..b8e9847b48c9690437d2c26aa512d7b323f3d69a 100644 (file)
@@ -1,3 +1,5 @@
 sanity boot
 sanity ssh
+sanity scp
 sanity dmesg
+sanity shutdown
index f6e7cb1604d9aa714e5df38b4a67b5f62c1c4641..b8e9847b48c9690437d2c26aa512d7b323f3d69a 100644 (file)
@@ -1,3 +1,5 @@
 sanity boot
 sanity ssh
+sanity scp
 sanity dmesg
+sanity shutdown