From d64c7ae88ca29def7dd2869acaa0e2ec047bd153 Mon Sep 17 00:00:00 2001 From: Jiajun Xu Date: Wed, 10 Nov 2010 22:58:52 +0800 Subject: 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 --- scripts/qemuimage-testlib | 4 +- scripts/qemuimage-tests/sanity/boot | 2 +- scripts/qemuimage-tests/sanity/dmesg | 2 +- scripts/qemuimage-tests/sanity/scp | 71 ++++++++++++++++++++++ scripts/qemuimage-tests/sanity/shutdown | 70 +++++++++++++++++++++ scripts/qemuimage-tests/sanity/ssh | 2 +- .../scenario/qemuarm/poky-image-sato | 2 + .../scenario/qemuarm/poky-image-sdk | 2 + .../scenario/qemumips/poky-image-sato | 2 + .../scenario/qemumips/poky-image-sdk | 2 + .../scenario/qemuppc/poky-image-sato | 2 + .../scenario/qemuppc/poky-image-sdk | 2 + .../scenario/qemux86-64/poky-image-minimal | 1 + .../scenario/qemux86-64/poky-image-sato | 5 ++ .../scenario/qemux86-64/poky-image-sdk | 5 ++ .../scenario/qemux86/poky-image-sato | 2 + .../scenario/qemux86/poky-image-sdk | 2 + 17 files changed, 174 insertions(+), 4 deletions(-) create mode 100755 scripts/qemuimage-tests/sanity/scp create mode 100755 scripts/qemuimage-tests/sanity/shutdown create mode 100644 scripts/qemuimage-tests/scenario/qemux86-64/poky-image-minimal create mode 100644 scripts/qemuimage-tests/scenario/qemux86-64/poky-image-sato create mode 100644 scripts/qemuimage-tests/scenario/qemux86-64/poky-image-sdk (limited to 'scripts') 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 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 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 +# +# 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 +# +# 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 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 -- cgit v1.2.3