poky/scripts/qemuimage-tests/sanity/shutdown
Richard Purdie 4d609d5021 Replace POKYBASE with COREBASE
(From OE-Core rev: 607a7657715f6fcba467a4e55ba64f41f4e13a15)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-04-21 00:29:29 +01:00

1.6 KiB
Executable File

#!/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