diff options
author | Jiajun Xu <jiajun.xu@intel.com> | 2010-11-10 22:58:52 +0800 |
---|---|---|
committer | Saul Wold <sgw@linux.intel.com> | 2010-11-14 21:08:22 -0800 |
commit | d64c7ae88ca29def7dd2869acaa0e2ec047bd153 (patch) | |
tree | 21c2114e45481ef195b1c966a58612c5281a962b /scripts | |
parent | 2078af333d704fd894a2dedbc19cef5775cdadbb (diff) | |
download | openembedded-core-d64c7ae88ca29def7dd2869acaa0e2ec047bd153.tar.gz openembedded-core-d64c7ae88ca29def7dd2869acaa0e2ec047bd153.tar.bz2 openembedded-core-d64c7ae88ca29def7dd2869acaa0e2ec047bd153.tar.xz openembedded-core-d64c7ae88ca29def7dd2869acaa0e2ec047bd153.zip |
imagetest-qemu: Add sanity test cases for scp/shutdown in target
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>
Diffstat (limited to 'scripts')
17 files changed, 174 insertions, 4 deletions
diff --git a/scripts/qemuimage-testlib b/scripts/qemuimage-testlib index 3ebf5ffd2..c2c394d5e 100644 --- a/scripts/qemuimage-testlib +++ b/scripts/qemuimage-testlib @@ -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 diff --git a/scripts/qemuimage-tests/sanity/boot b/scripts/qemuimage-tests/sanity/boot index 5014e8a5a..b75b9b928 100755 --- a/scripts/qemuimage-tests/sanity/boot +++ b/scripts/qemuimage-tests/sanity/boot @@ -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> diff --git a/scripts/qemuimage-tests/sanity/dmesg b/scripts/qemuimage-tests/sanity/dmesg index c384659b6..36813dcd4 100755 --- a/scripts/qemuimage-tests/sanity/dmesg +++ b/scripts/qemuimage-tests/sanity/dmesg @@ -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 index 000000000..ce3489d66 --- /dev/null +++ b/scripts/qemuimage-tests/sanity/scp @@ -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 index 000000000..e36b4a983 --- /dev/null +++ b/scripts/qemuimage-tests/sanity/shutdown @@ -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 diff --git a/scripts/qemuimage-tests/sanity/ssh b/scripts/qemuimage-tests/sanity/ssh index f9143d055..084530adf 100755 --- a/scripts/qemuimage-tests/sanity/ssh +++ b/scripts/qemuimage-tests/sanity/ssh @@ -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> diff --git a/scripts/qemuimage-tests/scenario/qemuarm/poky-image-sato b/scripts/qemuimage-tests/scenario/qemuarm/poky-image-sato index f6e7cb160..b8e9847b4 100644 --- a/scripts/qemuimage-tests/scenario/qemuarm/poky-image-sato +++ b/scripts/qemuimage-tests/scenario/qemuarm/poky-image-sato @@ -1,3 +1,5 @@ sanity boot sanity ssh +sanity scp sanity dmesg +sanity shutdown diff --git a/scripts/qemuimage-tests/scenario/qemuarm/poky-image-sdk b/scripts/qemuimage-tests/scenario/qemuarm/poky-image-sdk index f6e7cb160..b8e9847b4 100644 --- a/scripts/qemuimage-tests/scenario/qemuarm/poky-image-sdk +++ b/scripts/qemuimage-tests/scenario/qemuarm/poky-image-sdk @@ -1,3 +1,5 @@ sanity boot sanity ssh +sanity scp sanity dmesg +sanity shutdown diff --git a/scripts/qemuimage-tests/scenario/qemumips/poky-image-sato b/scripts/qemuimage-tests/scenario/qemumips/poky-image-sato index f6e7cb160..b8e9847b4 100644 --- a/scripts/qemuimage-tests/scenario/qemumips/poky-image-sato +++ b/scripts/qemuimage-tests/scenario/qemumips/poky-image-sato @@ -1,3 +1,5 @@ sanity boot sanity ssh +sanity scp sanity dmesg +sanity shutdown diff --git a/scripts/qemuimage-tests/scenario/qemumips/poky-image-sdk b/scripts/qemuimage-tests/scenario/qemumips/poky-image-sdk index f6e7cb160..b8e9847b4 100644 --- a/scripts/qemuimage-tests/scenario/qemumips/poky-image-sdk +++ b/scripts/qemuimage-tests/scenario/qemumips/poky-image-sdk @@ -1,3 +1,5 @@ sanity boot sanity ssh +sanity scp sanity dmesg +sanity shutdown diff --git a/scripts/qemuimage-tests/scenario/qemuppc/poky-image-sato b/scripts/qemuimage-tests/scenario/qemuppc/poky-image-sato index f6e7cb160..b8e9847b4 100644 --- a/scripts/qemuimage-tests/scenario/qemuppc/poky-image-sato +++ b/scripts/qemuimage-tests/scenario/qemuppc/poky-image-sato @@ -1,3 +1,5 @@ sanity boot sanity ssh +sanity scp sanity dmesg +sanity shutdown diff --git a/scripts/qemuimage-tests/scenario/qemuppc/poky-image-sdk b/scripts/qemuimage-tests/scenario/qemuppc/poky-image-sdk index f6e7cb160..b8e9847b4 100644 --- a/scripts/qemuimage-tests/scenario/qemuppc/poky-image-sdk +++ b/scripts/qemuimage-tests/scenario/qemuppc/poky-image-sdk @@ -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 index 000000000..0fcc7bba8 --- /dev/null +++ b/scripts/qemuimage-tests/scenario/qemux86-64/poky-image-minimal @@ -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 index 000000000..b8e9847b4 --- /dev/null +++ b/scripts/qemuimage-tests/scenario/qemux86-64/poky-image-sato @@ -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 index 000000000..b8e9847b4 --- /dev/null +++ b/scripts/qemuimage-tests/scenario/qemux86-64/poky-image-sdk @@ -0,0 +1,5 @@ +sanity boot +sanity ssh +sanity scp +sanity dmesg +sanity shutdown diff --git a/scripts/qemuimage-tests/scenario/qemux86/poky-image-sato b/scripts/qemuimage-tests/scenario/qemux86/poky-image-sato index f6e7cb160..b8e9847b4 100644 --- a/scripts/qemuimage-tests/scenario/qemux86/poky-image-sato +++ b/scripts/qemuimage-tests/scenario/qemux86/poky-image-sato @@ -1,3 +1,5 @@ sanity boot sanity ssh +sanity scp sanity dmesg +sanity shutdown diff --git a/scripts/qemuimage-tests/scenario/qemux86/poky-image-sdk b/scripts/qemuimage-tests/scenario/qemux86/poky-image-sdk index f6e7cb160..b8e9847b4 100644 --- a/scripts/qemuimage-tests/scenario/qemux86/poky-image-sdk +++ b/scripts/qemuimage-tests/scenario/qemux86/poky-image-sdk @@ -1,3 +1,5 @@ sanity boot sanity ssh +sanity scp sanity dmesg +sanity shutdown |