72 lines
1.4 KiB
Bash
Executable File
72 lines
1.4 KiB
Bash
Executable File
#!/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
|