summaryrefslogtreecommitdiff
path: root/scripts/qemuimage-tests/sanity
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/qemuimage-tests/sanity')
-rwxr-xr-xscripts/qemuimage-tests/sanity/boot29
-rwxr-xr-xscripts/qemuimage-tests/sanity/compiler52
-rwxr-xr-xscripts/qemuimage-tests/sanity/connman52
-rwxr-xr-xscripts/qemuimage-tests/sanity/dmesg52
-rwxr-xr-xscripts/qemuimage-tests/sanity/rpm_query52
-rwxr-xr-xscripts/qemuimage-tests/sanity/scp71
-rwxr-xr-xscripts/qemuimage-tests/sanity/shutdown76
-rwxr-xr-xscripts/qemuimage-tests/sanity/ssh39
-rwxr-xr-xscripts/qemuimage-tests/sanity/zypper_help52
-rwxr-xr-xscripts/qemuimage-tests/sanity/zypper_search52
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