Patchwork [3/4] qemuimage-testlib: add function to fetch the remote syslog

login
register
mail settings
Submitter Ross Burton
Date April 5, 2013, 3:35 p.m.
Message ID <1365176132-17102-3-git-send-email-ross.burton@intel.com>
Download mbox | patch
Permalink /patch/47505/
State Accepted
Commit f94cb0d175309ad6b29598c57ba74cf1c3646661
Headers show

Comments

Ross Burton - April 5, 2013, 3:35 p.m.
Add a new function to scp from the target, and another to fetch
/var/log/messages and dump it to the console.

Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 scripts/qemuimage-testlib |   43 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)

\ No newline at end of file

Patch

diff --git a/scripts/qemuimage-testlib b/scripts/qemuimage-testlib
index daa1ac0..051fee8 100755
--- a/scripts/qemuimage-testlib
+++ b/scripts/qemuimage-testlib
@@ -109,6 +109,40 @@  EOF`
 	return $ret
 }
 
+# function to copy files from target to host
+# $1 is the ip address of target
+# $2 is the files, which need to be copied into target
+# $3 is the path on target, where files are copied into
+Test_SCP_From()
+{
+	local ip_addr=$1
+	local src=$2
+	local des=$3
+	local time_out=60
+	local ret=0
+
+	# We use expect to interactive with target by ssh
+	local exp_cmd=`cat << EOF
+eval spawn scp -o UserKnownHostsFile=/dev/null  -o StrictHostKeyChecking=no root@$ip_addr:"$src" "$des"
+set timeout $time_out
+expect {
+    "*assword:" { send "\r"; exp_continue}
+    "*(yes/no)?" { send "yes\r"; exp_continue }
+    eof          { exit [ lindex [wait] 3 ] }
+}
+EOF`
+
+	expect=`which expect`
+	if [ ! -x "$expect" ]; then
+		Test_Error "ERROR: Please install expect"
+		return 1
+	fi
+
+	expect -c "$exp_cmd"
+	ret=$?
+	return $ret
+}
+
 # function to run command in $ip_addr via ssh
 Test_SSH()
 {
@@ -709,3 +743,12 @@  Test_Toolchain()
 
 	return $ret
 }
+
+Test_Display_Syslog()
+{
+	local tmplog=`mktemp`
+        Test_SCP_From ${TARGET_IPADDR} /var/log/messages $tmplog
+        echo "System logs:"
+        cat $tmplog
+        rm -f $tmplog
+}