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>
This commit is contained in:
Jiajun Xu 2010-11-10 22:58:52 +08:00 committed by Saul Wold
parent 2078af333d
commit d64c7ae88c
18 changed files with 175 additions and 5 deletions

View 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"""

View 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

View File

@ -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>

View File

@ -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>

View File

@ -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

View File

@ -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

View File

@ -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>

View File

@ -1,3 +1,5 @@
sanity boot
sanity ssh
sanity scp
sanity dmesg
sanity shutdown

View File

@ -1,3 +1,5 @@
sanity boot
sanity ssh
sanity scp
sanity dmesg
sanity shutdown

View File

@ -1,3 +1,5 @@
sanity boot
sanity ssh
sanity scp
sanity dmesg
sanity shutdown

View File

@ -1,3 +1,5 @@
sanity boot
sanity ssh
sanity scp
sanity dmesg
sanity shutdown

View File

@ -1,3 +1,5 @@
sanity boot
sanity ssh
sanity scp
sanity dmesg
sanity shutdown

View File

@ -1,3 +1,5 @@
sanity boot
sanity ssh
sanity scp
sanity dmesg
sanity shutdown

View File

@ -0,0 +1 @@
sanity boot

View File

@ -0,0 +1,5 @@
sanity boot
sanity ssh
sanity scp
sanity dmesg
sanity shutdown

View File

@ -0,0 +1,5 @@
sanity boot
sanity ssh
sanity scp
sanity dmesg
sanity shutdown

View File

@ -1,3 +1,5 @@
sanity boot
sanity ssh
sanity scp
sanity dmesg
sanity shutdown

View File

@ -1,3 +1,5 @@
sanity boot
sanity ssh
sanity scp
sanity dmesg
sanity shutdown