poky/scripts/qemuimage-tests/sanity/shutdown
Jiajun Xu d64c7ae88c imagetest-qemu: Add sanity test cases for scp/shutdown in target
scp test is to check if file copying via network work or not in target.
shutdown test is to check if target can be poweroff with qemu process off.

Signed-off-by Jiajun Xu <jiajun.xu@intel.com>
2010-11-14 21:08:22 -08:00

1.5 KiB
Executable File

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