diff options
Diffstat (limited to 'scripts/qemuimage-tests/sanity')
| -rwxr-xr-x | scripts/qemuimage-tests/sanity/boot | 29 | ||||
| -rwxr-xr-x | scripts/qemuimage-tests/sanity/compiler | 52 | ||||
| -rwxr-xr-x | scripts/qemuimage-tests/sanity/connman | 52 | ||||
| -rwxr-xr-x | scripts/qemuimage-tests/sanity/dmesg | 52 | ||||
| -rwxr-xr-x | scripts/qemuimage-tests/sanity/rpm_query | 52 | ||||
| -rwxr-xr-x | scripts/qemuimage-tests/sanity/scp | 71 | ||||
| -rwxr-xr-x | scripts/qemuimage-tests/sanity/shutdown | 76 | ||||
| -rwxr-xr-x | scripts/qemuimage-tests/sanity/ssh | 39 | ||||
| -rwxr-xr-x | scripts/qemuimage-tests/sanity/zypper_help | 52 | ||||
| -rwxr-xr-x | scripts/qemuimage-tests/sanity/zypper_search | 52 |
10 files changed, 527 insertions, 0 deletions
diff --git a/scripts/qemuimage-tests/sanity/boot b/scripts/qemuimage-tests/sanity/boot new file mode 100755 index 000000000..cf8aafbc5 --- /dev/null +++ b/scripts/qemuimage-tests/sanity/boot @@ -0,0 +1,29 @@ +#!/bin/bash +# +# Boot Test Case for Sanity Test +# The case boot up the Qemu target with `runqemu qemuxxx`. +# Then check if qemu and qemu network is up. +# +# Author: Jiajun Xu <jiajun.xu@intel.com> +# +# This file is licensed under the GNU General Public License, +# Version 2. +# +. $COREBASE/scripts/qemuimage-testlib + +TIMEOUT=120 + +# Start qemu and check its network +Test_Create_Qemu ${TIMEOUT} + +if [ $? -eq 0 ]; then + Test_Info "Boot Test PASS" + Test_Kill_Qemu + Test_Print_Result "Boot" 0 + exit 0 +else + Test_Info "Boot Test FAIL" + Test_Kill_Qemu + Test_Print_Result "Boot" 1 + exit 1 +fi diff --git a/scripts/qemuimage-tests/sanity/compiler b/scripts/qemuimage-tests/sanity/compiler new file mode 100755 index 000000000..ef0700732 --- /dev/null +++ b/scripts/qemuimage-tests/sanity/compiler @@ -0,0 +1,52 @@ +#!/bin/bash +# Compiler Test Case for Sanity Test +# The case boot up the Qemu target with `runqemu qemuxxx`. +# Then check if gcc/g++/make command can work in target. +# +# Author: Jiajun Xu <jiajun.xu@intel.com> +# +# This file is licensed under the GNU General Public License, +# Version 2. +# + +. $COREBASE/scripts/qemuimage-testlib + +TIMEOUT=400 +RET=1 + +# 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 gcc/g++/make can work in target +if [ $RET -eq 0 -a -f $TOOLS/compiler_test.sh ]; then + # Copy compiler_test.sh into target + Test_Target_Pre ${TARGET_IPADDR} $TOOLS/compiler_test.sh + if [ $? -eq 0 ]; then + # Run compiler_test.sh to check if gcc/g++/make can work in target + Test_SSH ${TARGET_IPADDR} "sh $TARGET_TEST_DIR/compiler_test.sh" + RET=$? + else + RET=1 + fi +fi + +if [ ${RET} -eq 0 ]; then + Test_Info "Compiler Test PASS" + Test_Kill_Qemu + Test_Print_Result "compiler" 0 + exit 0 +else + Test_Info "Compiler FAIL, Pls. check above error log" + Test_Kill_Qemu + Test_Print_Result "compiler" 1 + exit 1 +fi diff --git a/scripts/qemuimage-tests/sanity/connman b/scripts/qemuimage-tests/sanity/connman new file mode 100755 index 000000000..0c62902f8 --- /dev/null +++ b/scripts/qemuimage-tests/sanity/connman @@ -0,0 +1,52 @@ +#!/bin/bash +# Conmman Check Test Case for Sanity Test +# The case boot up the Qemu target with `runqemu qemuxxx`. +# Then check if connman can work in target. +# +# Author: Jiajun Xu <jiajun.xu@intel.com> +# +# This file is licensed under the GNU General Public License, +# Version 2. +# + +. $COREBASE/scripts/qemuimage-testlib + +TIMEOUT=400 +RET=1 + +# 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 connman can work in target +if [ $RET -eq 0 -a -f $TOOLS/connman_test.sh ]; then + # Copy connman_test.sh into target + Test_Target_Pre ${TARGET_IPADDR} $TOOLS/connman_test.sh + if [ $? -eq 0 ]; then + # Run connman_test.sh to check if connman can work in target + Test_SSH ${TARGET_IPADDR} "sh $TARGET_TEST_DIR/connman_test.sh" + RET=$? + else + RET=1 + fi +fi + +if [ ${RET} -eq 0 ]; then + Test_Info "Connman Test PASS" + Test_Kill_Qemu + Test_Print_Result "connman" 0 + exit 0 +else + Test_Info "Connman Test FAIL, Pls. check above error log" + Test_Kill_Qemu + Test_Print_Result "connman" 1 + exit 1 +fi diff --git a/scripts/qemuimage-tests/sanity/dmesg b/scripts/qemuimage-tests/sanity/dmesg new file mode 100755 index 000000000..aed29e05e --- /dev/null +++ b/scripts/qemuimage-tests/sanity/dmesg @@ -0,0 +1,52 @@ +#!/bin/bash +# Dmesg Check Test Case for Sanity Test +# The case boot up the Qemu target with `runqemu qemuxxx`. +# Then check if there is any error log in dmesg. +# +# Author: Jiajun Xu <jiajun.xu@intel.com> +# +# This file is licensed under the GNU General Public License, +# Version 2. +# + +. $COREBASE/scripts/qemuimage-testlib + +TIMEOUT=400 +RET=1 + +# 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 there is any error log in dmesg +if [ $RET -eq 0 -a -f $TOOLS/dmesg.sh ]; then + # Copy dmesg.sh into target + Test_Target_Pre ${TARGET_IPADDR} $TOOLS/dmesg.sh + if [ $? -eq 0 ]; then + # Run dmesg.sh to check if there is any error message with command dmesg + Test_SSH ${TARGET_IPADDR} "sh $TARGET_TEST_DIR/dmesg.sh" + RET=$? + else + RET=1 + fi +fi + +if [ ${RET} -eq 0 ]; then + Test_Info "Dmesg Test PASS" + Test_Kill_Qemu + Test_Print_Result "dmesg" 0 + exit 0 +else + Test_Info "Dmesg Test FAIL, Pls. check above error log" + Test_Kill_Qemu + Test_Print_Result "dmesg" 1 + exit 1 +fi diff --git a/scripts/qemuimage-tests/sanity/rpm_query b/scripts/qemuimage-tests/sanity/rpm_query new file mode 100755 index 000000000..dd652bd99 --- /dev/null +++ b/scripts/qemuimage-tests/sanity/rpm_query @@ -0,0 +1,52 @@ +#!/bin/bash +# RPM Check Test Case for Sanity Test +# The case boot up the Qemu target with `runqemu qemuxxx`. +# Then check if rpm command can work in target. +# +# Author: Jiajun Xu <jiajun.xu@intel.com> +# +# This file is licensed under the GNU General Public License, +# Version 2. +# + +. $COREBASE/scripts/qemuimage-testlib + +TIMEOUT=400 +RET=1 + +# 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 rpm query can work in target +if [ $RET -eq 0 -a -f $TOOLS/rpm_test.sh ]; then + # Copy rpm_test.sh into target + Test_Target_Pre ${TARGET_IPADDR} $TOOLS/rpm_test.sh + if [ $? -eq 0 ]; then + # Run rpm_test.sh to check if rpm query can work in target + Test_SSH ${TARGET_IPADDR} "sh $TARGET_TEST_DIR/rpm_test.sh -qa" + RET=$? + else + RET=1 + fi +fi + +if [ ${RET} -eq 0 ]; then + Test_Info "rpm query Test PASS" + Test_Kill_Qemu + Test_Print_Result "rpm_query" 0 + exit 0 +else + Test_Info "rpm query FAIL, Pls. check above error log" + Test_Kill_Qemu + Test_Print_Result "rpm_query" 1 + exit 1 +fi diff --git a/scripts/qemuimage-tests/sanity/scp b/scripts/qemuimage-tests/sanity/scp new file mode 100755 index 000000000..b0b693d0c --- /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 `runqemu 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. +# + +. $COREBASE/scripts/qemuimage-testlib + +TIMEOUT=400 +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..d55c85941 --- /dev/null +++ b/scripts/qemuimage-tests/sanity/shutdown @@ -0,0 +1,76 @@ +#!/bin/bash +# Shutdown Test Case for Sanity Test +# The case boot up the Qemu target with `runqemu 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. +# + +. $COREBASE/scripts/qemuimage-testlib + +TIMEOUT=400 + +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 + + # Remove TARGET_IPSAVE since no existing qemu running now + if [ -e ${TARGET_IPSAVE} ]; then + rm -rf ${TARGET_IPSAVE} + fi + 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 new file mode 100755 index 000000000..181296b0b --- /dev/null +++ b/scripts/qemuimage-tests/sanity/ssh @@ -0,0 +1,39 @@ +#!/bin/bash +# SSH Test Case for Sanity Test +# The case boot up the Qemu target with `runqemu qemuxxx`. +# Then check if ssh service in qemu is up. +# +# Author: Jiajun Xu <jiajun.xu@intel.com> +# +# This file is licensed under the GNU General Public License, +# Version 2. +# + +. $COREBASE/scripts/qemuimage-testlib + +TIMEOUT=400 +RET=1 + +# 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 + +if [ ${RET} -eq 0 ]; then + Test_Info "SSH Test PASS" + Test_Kill_Qemu + Test_Print_Result "SSH" 0 + exit 0 +else + Test_Info "SSH Test FAIL" + Test_Kill_Qemu + Test_Print_Result "SSH" 1 + exit 1 +fi diff --git a/scripts/qemuimage-tests/sanity/zypper_help b/scripts/qemuimage-tests/sanity/zypper_help new file mode 100755 index 000000000..94f82c434 --- /dev/null +++ b/scripts/qemuimage-tests/sanity/zypper_help @@ -0,0 +1,52 @@ +#!/bin/bash +# Zypper Check Test Case for Sanity Test +# The case boot up the Qemu target with `runqemu qemuxxx`. +# Then check if zypper command can work in target. +# +# Author: Jiajun Xu <jiajun.xu@intel.com> +# +# This file is licensed under the GNU General Public License, +# Version 2. +# + +. $COREBASE/scripts/qemuimage-testlib + +TIMEOUT=400 +RET=1 + +# 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 zypper help can work in target +if [ $RET -eq 0 -a -f $TOOLS/zypper_test.sh ]; then + # Copy zypper_test.sh into target + Test_Target_Pre ${TARGET_IPADDR} $TOOLS/zypper_test.sh + if [ $? -eq 0 ]; then + # Run zypper_test.sh to check if zypper help can work in target + Test_SSH ${TARGET_IPADDR} "sh $TARGET_TEST_DIR/zypper_test.sh help" + RET=$? + else + RET=1 + fi +fi + +if [ ${RET} -eq 0 ]; then + Test_Info "zypper help Test PASS" + Test_Kill_Qemu + Test_Print_Result "zypper_help" 0 + exit 0 +else + Test_Info "zypper help FAIL, Pls. check above error log" + Test_Kill_Qemu + Test_Print_Result "zypper_help" 1 + exit 1 +fi diff --git a/scripts/qemuimage-tests/sanity/zypper_search b/scripts/qemuimage-tests/sanity/zypper_search new file mode 100755 index 000000000..e687eadfb --- /dev/null +++ b/scripts/qemuimage-tests/sanity/zypper_search @@ -0,0 +1,52 @@ +#!/bin/bash +# Zypper Check Test Case for Sanity Test +# The case boot up the Qemu target with `runqemu qemuxxx`. +# Then check if zypper command can work in target. +# +# Author: Jiajun Xu <jiajun.xu@intel.com> +# +# This file is licensed under the GNU General Public License, +# Version 2. +# + +. $COREBASE/scripts/qemuimage-testlib + +TIMEOUT=400 +RET=1 + +# 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 zypper search can work in target +if [ $RET -eq 0 -a -f $TOOLS/zypper_test.sh ]; then + # Copy zypper_test.sh into target + Test_Target_Pre ${TARGET_IPADDR} $TOOLS/zypper_test.sh + if [ $? -eq 0 ]; then + # Run zypper_test.sh to check if zypper search can work in target + Test_SSH ${TARGET_IPADDR} "sh $TARGET_TEST_DIR/zypper_test.sh search avahi" + RET=$? + else + RET=1 + fi +fi + +if [ ${RET} -eq 0 ]; then + Test_Info "zypper search package avahi Test PASS" + Test_Kill_Qemu + Test_Print_Result "zypper_search" 0 + exit 0 +else + Test_Info "zypper search package avahi FAIL, Pls. check above error log" + Test_Kill_Qemu + Test_Print_Result "zypper_search" 1 + exit 1 +fi |
