aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/qemuimage-tests/sanity/shutdown
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/qemuimage-tests/sanity/shutdown')
-rwxr-xr-xscripts/qemuimage-tests/sanity/shutdown70
1 files changed, 70 insertions, 0 deletions
diff --git a/scripts/qemuimage-tests/sanity/shutdown b/scripts/qemuimage-tests/sanity/shutdown
new file mode 100755
index 0000000000..e36b4a983d
--- /dev/null
+++ b/scripts/qemuimage-tests/sanity/shutdown
@@ -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