poky/scripts/qemuimage-tests/sanity/scp
Jiajun Xu 3e052919c9 qemuimagetest: Use same image during sanity testing instead of copying a new image for each case
To reduce the time on sanity testing, we remove variable SHARE_IMAGE and use
a new variable TEST_SERIALIZE in local.conf. It is by default set to 1. Poky
will copy and boot the to-be tested image for only once. It will not remove
or kill the image and test cases will be serialized executed against the same
image. If it is set to 0, image is always be copied for each cases, which takes
much time. I had a experiment that latest qemuppc sato only takes 7 minutes to
finish 9 sanity test cases, which takes more than 20 minutes before.

I also removed sanity case "boot" from sato/sdk/lsb because the other cases for
these targets already cover the check point of "boot".

Signed-off-by Jiajun Xu <jiajun.xu@intel.com>
2011-01-20 21:36:57 +00:00

1.4 KiB
Executable File

#!/bin/bash

SCP Test Case for Sanity Test

The case boot up the Qemu target with poky-qemu 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.

. $POKYBASE/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