mirror of
https://git.yoctoproject.org/poky
synced 2026-05-08 17:19:20 +00:00
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:
@@ -111,7 +111,7 @@ python do_qemuimagetest() {
|
|||||||
os.symlink(resultfile, sresultfile)
|
os.symlink(resultfile, sresultfile)
|
||||||
f = open(sresultfile, "a")
|
f = open(sresultfile, "a")
|
||||||
f.write("\tTest Result for %s\n" % machine)
|
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()
|
f.close()
|
||||||
|
|
||||||
"""generate pre-defined testcase list"""
|
"""generate pre-defined testcase list"""
|
||||||
|
|||||||
@@ -151,7 +151,8 @@ Test_Print_Result()
|
|||||||
NORESULT=1
|
NORESULT=1
|
||||||
fi
|
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
|
# 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
|
# Parse IP address of target from the qemu command line
|
||||||
if [ ${up_time} -lt ${timeout} ]; then
|
if [ ${up_time} -lt ${timeout} ]; then
|
||||||
|
sleep 5
|
||||||
TARGET_IPADDR=`Test_Fetch_Target_IP $PID`
|
TARGET_IPADDR=`Test_Fetch_Target_IP $PID`
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
#
|
#
|
||||||
# Boot Test Case for Sanity Test
|
# 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.
|
# Then check if qemu and qemu network is up.
|
||||||
#
|
#
|
||||||
# Author: Jiajun Xu <jiajun.xu@intel.com>
|
# Author: Jiajun Xu <jiajun.xu@intel.com>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# Dmesg Check Test Case for Sanity Test
|
# 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.
|
# Then check if there is any error log in dmesg.
|
||||||
#
|
#
|
||||||
# Author: Jiajun Xu <jiajun.xu@intel.com>
|
# Author: Jiajun Xu <jiajun.xu@intel.com>
|
||||||
|
|||||||
Executable
+71
@@ -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
|
||||||
Executable
+70
@@ -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
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# SSH Test Case for Sanity Test
|
# 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.
|
# Then check if ssh service in qemu is up.
|
||||||
#
|
#
|
||||||
# Author: Jiajun Xu <jiajun.xu@intel.com>
|
# Author: Jiajun Xu <jiajun.xu@intel.com>
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
sanity boot
|
sanity boot
|
||||||
sanity ssh
|
sanity ssh
|
||||||
|
sanity scp
|
||||||
sanity dmesg
|
sanity dmesg
|
||||||
|
sanity shutdown
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
sanity boot
|
sanity boot
|
||||||
sanity ssh
|
sanity ssh
|
||||||
|
sanity scp
|
||||||
sanity dmesg
|
sanity dmesg
|
||||||
|
sanity shutdown
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
sanity boot
|
sanity boot
|
||||||
sanity ssh
|
sanity ssh
|
||||||
|
sanity scp
|
||||||
sanity dmesg
|
sanity dmesg
|
||||||
|
sanity shutdown
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
sanity boot
|
sanity boot
|
||||||
sanity ssh
|
sanity ssh
|
||||||
|
sanity scp
|
||||||
sanity dmesg
|
sanity dmesg
|
||||||
|
sanity shutdown
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
sanity boot
|
sanity boot
|
||||||
sanity ssh
|
sanity ssh
|
||||||
|
sanity scp
|
||||||
sanity dmesg
|
sanity dmesg
|
||||||
|
sanity shutdown
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
sanity boot
|
sanity boot
|
||||||
sanity ssh
|
sanity ssh
|
||||||
|
sanity scp
|
||||||
sanity dmesg
|
sanity dmesg
|
||||||
|
sanity shutdown
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
sanity boot
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
sanity boot
|
||||||
|
sanity ssh
|
||||||
|
sanity scp
|
||||||
|
sanity dmesg
|
||||||
|
sanity shutdown
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
sanity boot
|
||||||
|
sanity ssh
|
||||||
|
sanity scp
|
||||||
|
sanity dmesg
|
||||||
|
sanity shutdown
|
||||||
@@ -1,3 +1,5 @@
|
|||||||
sanity boot
|
sanity boot
|
||||||
sanity ssh
|
sanity ssh
|
||||||
|
sanity scp
|
||||||
sanity dmesg
|
sanity dmesg
|
||||||
|
sanity shutdown
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
sanity boot
|
sanity boot
|
||||||
sanity ssh
|
sanity ssh
|
||||||
|
sanity scp
|
||||||
sanity dmesg
|
sanity dmesg
|
||||||
|
sanity shutdown
|
||||||
|
|||||||
Reference in New Issue
Block a user