diff options
Diffstat (limited to 'scripts/qemuimage-tests')
43 files changed, 1088 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 diff --git a/scripts/qemuimage-tests/scenario/qemuarm/core-image-lsb b/scripts/qemuimage-tests/scenario/qemuarm/core-image-lsb new file mode 100644 index 000000000..4fa606876 --- /dev/null +++ b/scripts/qemuimage-tests/scenario/qemuarm/core-image-lsb @@ -0,0 +1,7 @@ +sanity ssh +sanity scp +sanity dmesg +sanity zypper_help +sanity zypper_search +sanity rpm_query +sanity shutdown diff --git a/scripts/qemuimage-tests/scenario/qemuarm/core-image-minimal b/scripts/qemuimage-tests/scenario/qemuarm/core-image-minimal new file mode 100644 index 000000000..0fcc7bba8 --- /dev/null +++ b/scripts/qemuimage-tests/scenario/qemuarm/core-image-minimal @@ -0,0 +1 @@ +sanity boot diff --git a/scripts/qemuimage-tests/scenario/qemuarm/core-image-sato b/scripts/qemuimage-tests/scenario/qemuarm/core-image-sato new file mode 100644 index 000000000..7a6353e1a --- /dev/null +++ b/scripts/qemuimage-tests/scenario/qemuarm/core-image-sato @@ -0,0 +1,8 @@ +sanity ssh +sanity scp +sanity dmesg +sanity zypper_help +sanity zypper_search +sanity rpm_query +sanity connman +sanity shutdown diff --git a/scripts/qemuimage-tests/scenario/qemuarm/core-image-sato-sdk b/scripts/qemuimage-tests/scenario/qemuarm/core-image-sato-sdk new file mode 100644 index 000000000..42b8e1902 --- /dev/null +++ b/scripts/qemuimage-tests/scenario/qemuarm/core-image-sato-sdk @@ -0,0 +1,9 @@ +sanity ssh +sanity scp +sanity dmesg +sanity zypper_help +sanity zypper_search +sanity rpm_query +sanity compiler +sanity connman +sanity shutdown diff --git a/scripts/qemuimage-tests/scenario/qemuarm/meta-toolchain-gmae b/scripts/qemuimage-tests/scenario/qemuarm/meta-toolchain-gmae new file mode 100644 index 000000000..199176efc --- /dev/null +++ b/scripts/qemuimage-tests/scenario/qemuarm/meta-toolchain-gmae @@ -0,0 +1,3 @@ +toolchain cvs +toolchain iptables +toolchain sudoku-savant diff --git a/scripts/qemuimage-tests/scenario/qemumips/core-image-lsb b/scripts/qemuimage-tests/scenario/qemumips/core-image-lsb new file mode 100644 index 000000000..4fa606876 --- /dev/null +++ b/scripts/qemuimage-tests/scenario/qemumips/core-image-lsb @@ -0,0 +1,7 @@ +sanity ssh +sanity scp +sanity dmesg +sanity zypper_help +sanity zypper_search +sanity rpm_query +sanity shutdown diff --git a/scripts/qemuimage-tests/scenario/qemumips/core-image-minimal b/scripts/qemuimage-tests/scenario/qemumips/core-image-minimal new file mode 100644 index 000000000..0fcc7bba8 --- /dev/null +++ b/scripts/qemuimage-tests/scenario/qemumips/core-image-minimal @@ -0,0 +1 @@ +sanity boot diff --git a/scripts/qemuimage-tests/scenario/qemumips/core-image-sato b/scripts/qemuimage-tests/scenario/qemumips/core-image-sato new file mode 100644 index 000000000..7a6353e1a --- /dev/null +++ b/scripts/qemuimage-tests/scenario/qemumips/core-image-sato @@ -0,0 +1,8 @@ +sanity ssh +sanity scp +sanity dmesg +sanity zypper_help +sanity zypper_search +sanity rpm_query +sanity connman +sanity shutdown diff --git a/scripts/qemuimage-tests/scenario/qemumips/core-image-sato-sdk b/scripts/qemuimage-tests/scenario/qemumips/core-image-sato-sdk new file mode 100644 index 000000000..42b8e1902 --- /dev/null +++ b/scripts/qemuimage-tests/scenario/qemumips/core-image-sato-sdk @@ -0,0 +1,9 @@ +sanity ssh +sanity scp +sanity dmesg +sanity zypper_help +sanity zypper_search +sanity rpm_query +sanity compiler +sanity connman +sanity shutdown diff --git a/scripts/qemuimage-tests/scenario/qemumips/meta-toolchain-gmae b/scripts/qemuimage-tests/scenario/qemumips/meta-toolchain-gmae new file mode 100644 index 000000000..199176efc --- /dev/null +++ b/scripts/qemuimage-tests/scenario/qemumips/meta-toolchain-gmae @@ -0,0 +1,3 @@ +toolchain cvs +toolchain iptables +toolchain sudoku-savant diff --git a/scripts/qemuimage-tests/scenario/qemuppc/core-image-lsb b/scripts/qemuimage-tests/scenario/qemuppc/core-image-lsb new file mode 100644 index 000000000..4fa606876 --- /dev/null +++ b/scripts/qemuimage-tests/scenario/qemuppc/core-image-lsb @@ -0,0 +1,7 @@ +sanity ssh +sanity scp +sanity dmesg +sanity zypper_help +sanity zypper_search +sanity rpm_query +sanity shutdown diff --git a/scripts/qemuimage-tests/scenario/qemuppc/core-image-minimal b/scripts/qemuimage-tests/scenario/qemuppc/core-image-minimal new file mode 100644 index 000000000..0fcc7bba8 --- /dev/null +++ b/scripts/qemuimage-tests/scenario/qemuppc/core-image-minimal @@ -0,0 +1 @@ +sanity boot diff --git a/scripts/qemuimage-tests/scenario/qemuppc/core-image-sato b/scripts/qemuimage-tests/scenario/qemuppc/core-image-sato new file mode 100644 index 000000000..7a6353e1a --- /dev/null +++ b/scripts/qemuimage-tests/scenario/qemuppc/core-image-sato @@ -0,0 +1,8 @@ +sanity ssh +sanity scp +sanity dmesg +sanity zypper_help +sanity zypper_search +sanity rpm_query +sanity connman +sanity shutdown diff --git a/scripts/qemuimage-tests/scenario/qemuppc/core-image-sato-sdk b/scripts/qemuimage-tests/scenario/qemuppc/core-image-sato-sdk new file mode 100644 index 000000000..42b8e1902 --- /dev/null +++ b/scripts/qemuimage-tests/scenario/qemuppc/core-image-sato-sdk @@ -0,0 +1,9 @@ +sanity ssh +sanity scp +sanity dmesg +sanity zypper_help +sanity zypper_search +sanity rpm_query +sanity compiler +sanity connman +sanity shutdown diff --git a/scripts/qemuimage-tests/scenario/qemuppc/meta-toolchain-gmae b/scripts/qemuimage-tests/scenario/qemuppc/meta-toolchain-gmae new file mode 100644 index 000000000..199176efc --- /dev/null +++ b/scripts/qemuimage-tests/scenario/qemuppc/meta-toolchain-gmae @@ -0,0 +1,3 @@ +toolchain cvs +toolchain iptables +toolchain sudoku-savant diff --git a/scripts/qemuimage-tests/scenario/qemux86-64/core-image-lsb b/scripts/qemuimage-tests/scenario/qemux86-64/core-image-lsb new file mode 100644 index 000000000..4fa606876 --- /dev/null +++ b/scripts/qemuimage-tests/scenario/qemux86-64/core-image-lsb @@ -0,0 +1,7 @@ +sanity ssh +sanity scp +sanity dmesg +sanity zypper_help +sanity zypper_search +sanity rpm_query +sanity shutdown diff --git a/scripts/qemuimage-tests/scenario/qemux86-64/core-image-minimal b/scripts/qemuimage-tests/scenario/qemux86-64/core-image-minimal new file mode 100644 index 000000000..0fcc7bba8 --- /dev/null +++ b/scripts/qemuimage-tests/scenario/qemux86-64/core-image-minimal @@ -0,0 +1 @@ +sanity boot diff --git a/scripts/qemuimage-tests/scenario/qemux86-64/core-image-sato b/scripts/qemuimage-tests/scenario/qemux86-64/core-image-sato new file mode 100644 index 000000000..7a6353e1a --- /dev/null +++ b/scripts/qemuimage-tests/scenario/qemux86-64/core-image-sato @@ -0,0 +1,8 @@ +sanity ssh +sanity scp +sanity dmesg +sanity zypper_help +sanity zypper_search +sanity rpm_query +sanity connman +sanity shutdown diff --git a/scripts/qemuimage-tests/scenario/qemux86-64/core-image-sato-sdk b/scripts/qemuimage-tests/scenario/qemux86-64/core-image-sato-sdk new file mode 100644 index 000000000..42b8e1902 --- /dev/null +++ b/scripts/qemuimage-tests/scenario/qemux86-64/core-image-sato-sdk @@ -0,0 +1,9 @@ +sanity ssh +sanity scp +sanity dmesg +sanity zypper_help +sanity zypper_search +sanity rpm_query +sanity compiler +sanity connman +sanity shutdown diff --git a/scripts/qemuimage-tests/scenario/qemux86-64/meta-toolchain-gmae b/scripts/qemuimage-tests/scenario/qemux86-64/meta-toolchain-gmae new file mode 100644 index 000000000..199176efc --- /dev/null +++ b/scripts/qemuimage-tests/scenario/qemux86-64/meta-toolchain-gmae @@ -0,0 +1,3 @@ +toolchain cvs +toolchain iptables +toolchain sudoku-savant diff --git a/scripts/qemuimage-tests/scenario/qemux86/core-image-lsb b/scripts/qemuimage-tests/scenario/qemux86/core-image-lsb new file mode 100644 index 000000000..4fa606876 --- /dev/null +++ b/scripts/qemuimage-tests/scenario/qemux86/core-image-lsb @@ -0,0 +1,7 @@ +sanity ssh +sanity scp +sanity dmesg +sanity zypper_help +sanity zypper_search +sanity rpm_query +sanity shutdown diff --git a/scripts/qemuimage-tests/scenario/qemux86/core-image-minimal b/scripts/qemuimage-tests/scenario/qemux86/core-image-minimal new file mode 100644 index 000000000..0fcc7bba8 --- /dev/null +++ b/scripts/qemuimage-tests/scenario/qemux86/core-image-minimal @@ -0,0 +1 @@ +sanity boot diff --git a/scripts/qemuimage-tests/scenario/qemux86/core-image-sato b/scripts/qemuimage-tests/scenario/qemux86/core-image-sato new file mode 100644 index 000000000..7a6353e1a --- /dev/null +++ b/scripts/qemuimage-tests/scenario/qemux86/core-image-sato @@ -0,0 +1,8 @@ +sanity ssh +sanity scp +sanity dmesg +sanity zypper_help +sanity zypper_search +sanity rpm_query +sanity connman +sanity shutdown diff --git a/scripts/qemuimage-tests/scenario/qemux86/core-image-sato-sdk b/scripts/qemuimage-tests/scenario/qemux86/core-image-sato-sdk new file mode 100644 index 000000000..42b8e1902 --- /dev/null +++ b/scripts/qemuimage-tests/scenario/qemux86/core-image-sato-sdk @@ -0,0 +1,9 @@ +sanity ssh +sanity scp +sanity dmesg +sanity zypper_help +sanity zypper_search +sanity rpm_query +sanity compiler +sanity connman +sanity shutdown diff --git a/scripts/qemuimage-tests/scenario/qemux86/meta-toolchain-gmae b/scripts/qemuimage-tests/scenario/qemux86/meta-toolchain-gmae new file mode 100644 index 000000000..199176efc --- /dev/null +++ b/scripts/qemuimage-tests/scenario/qemux86/meta-toolchain-gmae @@ -0,0 +1,3 @@ +toolchain cvs +toolchain iptables +toolchain sudoku-savant diff --git a/scripts/qemuimage-tests/toolchain/cvs b/scripts/qemuimage-tests/toolchain/cvs new file mode 100755 index 000000000..871d99110 --- /dev/null +++ b/scripts/qemuimage-tests/toolchain/cvs @@ -0,0 +1,31 @@ +#!/bin/bash +# +# CVS compile Test for toolchain test +# The case extract toolchain tarball into temp folder +# Then compile CVS with the toolchain environment +# +# 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 + +# Extract and test toolchain tarball +Test_Toolchain cvs ${TIMEOUT} + +if [ $? -eq 0 ]; then + Test_Info "CVS Test PASS" + Test_Print_Result "CVS" 0 + exit 0 +elif [ $? -eq 1 ]; then + Test_Info "CVS Test FAIL" + Test_Print_Result "CVS" 1 + exit 1 +else + Test_Info "Skip CVS Test due to some configuration problem" + Test_Print_Result "CVS" 2 + exit 2 +fi diff --git a/scripts/qemuimage-tests/toolchain/iptables b/scripts/qemuimage-tests/toolchain/iptables new file mode 100755 index 000000000..af89bbe7b --- /dev/null +++ b/scripts/qemuimage-tests/toolchain/iptables @@ -0,0 +1,31 @@ +#!/bin/bash +# +# iptables compile Test for toolchain test +# The case extract toolchain tarball into temp folder +# Then compile iptables with the toolchain environment +# +# 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 + +# Extract and test toolchain tarball +Test_Toolchain iptables ${TIMEOUT} + +if [ $? -eq 0 ]; then + Test_Info "iptables Test PASS" + Test_Print_Result "iptables" 0 + exit 0 +elif [ $? -eq 1 ]; then + Test_Info "iptables Test FAIL" + Test_Print_Result "iptables" 1 + exit 1 +else + Test_Info "Skip iptables Test due to some configuration problem" + Test_Print_Result "iptables" 2 + exit 2 +fi diff --git a/scripts/qemuimage-tests/toolchain/sudoku-savant b/scripts/qemuimage-tests/toolchain/sudoku-savant new file mode 100755 index 000000000..3d149dea2 --- /dev/null +++ b/scripts/qemuimage-tests/toolchain/sudoku-savant @@ -0,0 +1,31 @@ +#!/bin/bash +# +# sudoku-savant compile Test for toolchain test +# The case extract toolchain tarball into temp folder +# Then compile sudoku-savant with the toolchain environment +# +# Author: Jiajun Xu <jiajun.xu@intel.com> +# +# This file is licensed under the GNU General Public License, +# Version 2. +# +. $COREBASE/scripts/qemuimage-testlib + +TIMEOUT=240 + +# Extract and test toolchain tarball +Test_Toolchain sudoku-savant ${TIMEOUT} + +if [ $? -eq 0 ]; then + Test_Info "sudoku-savant Test PASS" + Test_Print_Result "sudoku-savant" 0 + exit 0 +elif [ $? -eq 1 ]; then + Test_Info "sudoku-savant Test FAIL" + Test_Print_Result "sudoku-savant" 1 + exit 1 +else + Test_Info "Skip sudoku-savant Test due to some configuration problem" + Test_Print_Result "sudoku-savant" 2 + exit 2 +fi diff --git a/scripts/qemuimage-tests/tools/compiler_test.sh b/scripts/qemuimage-tests/tools/compiler_test.sh new file mode 100644 index 000000000..9c30d6d78 --- /dev/null +++ b/scripts/qemuimage-tests/tools/compiler_test.sh @@ -0,0 +1,137 @@ +#!/bin/bash +# compiler test script running in target +# +# Author: Jiajun Xu <jiajun.xu@intel.com> +# +# This file is licensed under the GNU General Public License, +# Version 2. +# + +# Prepare test folder for compiler test +COMPILE_FOLDER="/opt/test/compile_test" +TEST_FILE="$COMPILE_FOLDER/compile_test.c" +EXECUTE_FILE="$COMPILE_FOLDER/compile_test" +TEST_MAKEFILE="$COMPILE_FOLDER/makefile" +TEST_LIST="gcc g++ make" + +if [ ! -d $COMPILE_FOLDER ]; then + mkdir -p $COMPILE_FOLDER +fi + +Target_Info() +{ + echo -e "\tTARGET: $*" +} + +Target_Err() +{ + echo -e "\tTARGET: ##### Error Log #####" + $@ + echo -e "\tTARGET: ##### End #####" +} + +# Function to generate a c test file for compiler testing +Gen_File() +{ + temp=`mktemp` + + # Generate c/c++ test file for compiler testing + echo "#include <stdio.h>" >> $temp + echo "#include <math.h>" >> $temp + echo "" >> $temp + echo "double" >> $temp + echo "convert(long long l)" >> $temp + echo "{" >> $temp + echo " return (double)l; // or double(l)" >> $temp + echo "}" >> $temp + echo "" >> $temp + echo "int" >> $temp + echo "main(int argc, char * argv[])" >> $temp + echo "{" >> $temp + echo " long long l = 10;" >> $temp + echo " double f;" >> $temp + echo "" >> $temp + echo " f = convert(l);" >> $temp + echo " printf(\"convert: %lld => %f\n\", l, f);" >> $temp + echo "" >> $temp + echo " f = 1234.67;" >> $temp + echo " printf(\"floorf(%f) = %f\n\", f, floorf(f));" >> $temp + echo " return 0;" >> $temp + echo "}" >> $temp + echo $temp +} + +# Function to generate a makefile for compiler testing +Gen_Makefile() +{ + temp=`mktemp` + basename=`basename $EXECUTE_FILE` + + echo -e "$basename: $basename.o" >> $temp + echo -e "\tgcc -o $basename $basename.o -lm" >> $temp + echo -e "$basename.o: $basename.c" >> $temp + echo -e "\tgcc -c $basename.c" >> $temp + + echo $temp +} + +# Generate a c test file for compiler testing +test_file=`Gen_File` + +MOVE=`which mv` +$MOVE $test_file $TEST_FILE + +# Begin compiler test in target +for cmd in $TEST_LIST +do + which $cmd + if [ $? -ne 0 ]; then + Target_Info "No $cmd command found" + exit 1 + fi + + if [ "$cmd" == "make" ]; then + rm -rf $EXECUTE_FILE + + # For makefile test, we need to generate a makefile and run with a c file + makefile=`Gen_Makefile` + $MOVE $makefile $TEST_MAKEFILE + + cd `dirname $TEST_MAKEFILE` + make + + if [ $? -ne 0 ]; then + Target_Info "$cmd running with error, Pls. check error in following" + Target_Err make + exit 1 + fi + else + rm -rf $EXECUTE_FILE + + # For gcc/g++, we compile a c test file and check the output + $cmd $TEST_FILE -o $EXECUTE_FILE -lm + + if [ $? -ne 0 ]; then + Target_Info "$cmd running with error, Pls. check error in following" + Target_Err $cmd $TEST_FILE -o $EXECUTE_FILE -lm + exit 1 + fi + fi + + # Check if the binary file generated by $cmd can work without error + if [ -f $EXECUTE_FILE ]; then + $EXECUTE_FILE + if [ $? -ne 0 ]; then + Target_Info "$EXECUTE_FILE running with error, Pls. check error in following" + Target_Err $EXECUTE_FILE + exit 1 + else + Target_Info "$cmd can work without problem in target" + fi + else + Target_Info "No executalbe file $EXECUTE_FILE found, Pls. check the error log" + exit 1 + fi +done + +exit 0 diff --git a/scripts/qemuimage-tests/tools/connman_test.sh b/scripts/qemuimage-tests/tools/connman_test.sh new file mode 100644 index 000000000..8ed8b8b4a --- /dev/null +++ b/scripts/qemuimage-tests/tools/connman_test.sh @@ -0,0 +1,75 @@ +#!/bin/bash +# connman test script running in target +# +# Author: Jiajun Xu <jiajun.xu@intel.com> +# +# This file is licensed under the GNU General Public License, +# Version 2. +# + +Target_Info() +{ + echo -e "\tTARGET: $*" +} + +Target_Err() +{ + echo -e "\tTARGET: connman has issue when running, Pls. check the error log" + echo -e "\tTARGET: ##### Error Log #####" + $1 + echo -e "\tTARGET: ##### End #####" +} + +# Check if ps comes from Procps or busybox first +ls -l `which ps` | grep -q "busybox" +RET=$? + +if [ $RET -eq 0 ]; then + PS="ps" +else + PS="ps -ef" +fi + +# Check if connmand is in target +if [ ! -f /usr/sbin/connmand ]; then + Target_Info "No connmand command found" + exit 1 +fi + +# Check if connmand is running in background +if [ $RET -eq 0 ]; then + count=`ps | awk '{print $5}' | grep -c connmand` +else + count=`ps -eo comm | cut -d " " -f 1 | grep -c connmand` +fi + +if [ $count -ne 1 ]; then + Target_Info "connmand has issue when running in background, Pls, check the output of ps" + ${PS} | grep connmand + exit 1 +fi + +# Check if there is always only one connmand running in background +if [ connmand > /dev/null 2>&1 ]; then + Target_Info "connmand command run without problem" + + if [ $RET -eq 0 ]; then + count=`ps | awk '{print $5}' | grep -c connmand` + else + count=`ps -eo comm | cut -d " " -f 1 | grep -c connmand` + fi + + if [ $count -ne 1 ]; then + Target_Info "There are more than one connmand running in background, Pls, check the output of ps" + ${PS} | grep connmand + exit 1 + else + Target_Info "There is always one connmand running in background, test pass" + exit 0 + fi +else + Target_Err connmand + exit 1 +fi + +exit 0 diff --git a/scripts/qemuimage-tests/tools/dmesg.sh b/scripts/qemuimage-tests/tools/dmesg.sh new file mode 100644 index 000000000..66c022343 --- /dev/null +++ b/scripts/qemuimage-tests/tools/dmesg.sh @@ -0,0 +1,26 @@ +#!/bin/bash +# Dmesg test script running in QEMU +# +# Author: Jiajun Xu <jiajun.xu@intel.com> +# +# This file is licensed under the GNU General Public License, +# Version 2. +# + +which dmesg +if [ $? -ne 0 ]; then + echo "QEMU: No dmesg command found" + exit 1 +fi + +dmesg | grep -iq "error" +if [ $? -eq 0 ]; then + echo "QEMU: There is some error log in dmesg:" + echo "QEMU: ##### Error Log ######" + dmesg | grep -i "error" + echo "QEMU: ##### End ######" + exit 1 +else + echo "QEMU: No error log in dmesg" + exit 0 +fi diff --git a/scripts/qemuimage-tests/tools/rpm_test.sh b/scripts/qemuimage-tests/tools/rpm_test.sh new file mode 100644 index 000000000..6e6f9112c --- /dev/null +++ b/scripts/qemuimage-tests/tools/rpm_test.sh @@ -0,0 +1,45 @@ +#!/bin/bash +# rpm test script running in target +# +# Author: Jiajun Xu <jiajun.xu@intel.com> +# +# This file is licensed under the GNU General Public License, +# Version 2. +# + +Target_Info() +{ + echo -e "\tTARGET: $*" +} + +Target_Err() +{ + echo -e "\tTARGET: rpm command has issue when running, Pls. check the error log" + echo -e "\tTARGET: ##### Error Log #####" + $1 + echo -e "\tTARGET: ##### End #####" +} + +which rpm +if [ $? -ne 0 ]; then + Target_Info "No rpm command found" + exit 1 +fi + +if [ rpm > /dev/null 2>&1 ]; then + Target_Info "rpm command run without problem" +else + Target_Err rpm + exit 1 +fi + +# run rpm with specific command parsed to rpm_test.sh +rpm $* > /dev/null 2>&1 + +if [ $? -eq 0 ]; then + Target_Info "rpm $* work without problem" + exit 0 +else + Target_Err rpm $* + exit 1 +fi diff --git a/scripts/qemuimage-tests/tools/zypper_test.sh b/scripts/qemuimage-tests/tools/zypper_test.sh new file mode 100644 index 000000000..5e8e7aaac --- /dev/null +++ b/scripts/qemuimage-tests/tools/zypper_test.sh @@ -0,0 +1,45 @@ +#!/bin/bash +# zypper test script running in target +# +# Author: Jiajun Xu <jiajun.xu@intel.com> +# +# This file is licensed under the GNU General Public License, +# Version 2. +# + +Target_Info() +{ + echo -e "\tTARGET: $*" +} + +Target_Err() +{ + echo -e "\tTARGET: zypper command has issue when running, Pls. check the error log" + echo -e "\tTARGET: ##### Error Log #####" + $1 + echo -e "\tTARGET: ##### End #####" +} + +which zypper +if [ $? -ne 0 ]; then + Target_Info "No zypper command found" + exit 1 +fi + +if [ zypper > /dev/null 2>&1 ]; then + Target_Info "zypper command run without problem" +else + Target_Err zypper + exit 1 +fi + +# run zypper with specific command parsed to zypper_test.sh +zypper $* > /dev/null 2>&1 + +if [ $? -eq 0 ]; then + Target_Info "zypper $* work without problem" + exit 0 +else + Target_Err zypper $* + exit 1 +fi |
