From d08a341af77ac0ad618d4033a18f33ac1fc98fb2 Mon Sep 17 00:00:00 2001 From: Jiajun Xu Date: Fri, 24 Jun 2011 15:53:45 +0800 Subject: qemuimagetest: update cvs and iptables to newer version for toolchain test The old versions of cvs and iptables may meet compile error under some architecture - cvs 1.11.23 fails on x86-64 host and iptables 1.4.9 fails on arm host. Update them to latest version could solve these build error. Meanwhile, 240s timeout is set for sudoku becasue 120s is not enough to finish compile. Signed-off-by Jiajun Xu Signed-off-by: Richard Purdie --- scripts/qemuimage-testlib | 52 ++++++++++++++++++++----- scripts/qemuimage-tests/toolchain/sudoku-savant | 2 +- 2 files changed, 43 insertions(+), 11 deletions(-) (limited to 'scripts') diff --git a/scripts/qemuimage-testlib b/scripts/qemuimage-testlib index c39fb7ae21..c2dbf6027f 100755 --- a/scripts/qemuimage-testlib +++ b/scripts/qemuimage-testlib @@ -32,14 +32,14 @@ PID=0 TARGET_IPADDR=0 # Global variable for test project version during toolchain test -# Version of cvs is 1.11.23 -# Version of iptables is 1.4.9 +# Version of cvs is 1.12.13 +# Version of iptables is 1.4.11 # Version of sudoku-savant is 1.3 PROJECT_PV=0 # Global variable for test project download URL during toolchain test -# URL of cvs is http://ftp.gnu.org/non-gnu/cvs/source/stable/1.11.23/cvs-1.11.23.tar.bz2 -# URL of iptables is http://netfilter.org/projects/iptables/files/iptables-1.4.9.tar.bz2 +# URL of cvs is http://ftp.gnu.org/non-gnu/cvs/source/feature/1.12.13/cvs-1.12.13.tar.bz2 +# URL of iptables is http://netfilter.org/projects/iptables/files/iptables-1.4.11.tar.bz2 # URL of sudoku-savant is http://downloads.sourceforge.net/project/sudoku-savant/sudoku-savant/sudoku-savant-1.3/sudoku-savant-1.3.tar.bz2 PROJECT_DOWNLOAD_URL=0 @@ -641,14 +641,46 @@ Test_Time_Out() local date=0 local tmp=`mktemp` local ret=1 + local pid=0 + local ppid=0 + local i=0 + declare local pid_l # Run command in background ($command; echo $? > $tmp) & - while ps -e -o pid | grep -qw $!; do + pid=$! + while ps -e -o pid | grep -qw $pid; do if [ $date -ge $timeout ]; then Test_Info "$timeout Timeout when running command $command" rm -rf $tmp - return 1 + + # Find all child processes of pid and kill them + ppid=$pid + ps -f --ppid $ppid + ret=$? + + while [ $ret -eq 0 ] + do + # If yes, get the child pid and check if the child pid has other child pid + # Continue the while loop until there is no child pid found + pid_l[$i]=`ps -f --ppid $ppid | awk '{if ($2 != "PID") print $2}'` + ppid=${pid_l[$i]} + i=$((i+1)) + ps -f --ppid $ppid + ret=$? + done + + # Kill these children pids from the last one + while [ $i -ne 0 ] + do + i=$((i-1)) + kill ${pid_l[$i]} + sleep 2 + done + + # Kill the parent id + kill $pid + return 1 fi sleep 5 date=`expr $date + 5` @@ -672,11 +704,11 @@ Test_Toolchain() # Set value for PROJECT_PV and PROJECT_DOWNLOAD_URL accordingly if [ $test_project == "cvs" ]; then - PROJECT_PV=1.11.23 - PROJECT_DOWNLOAD_URL="http://ftp.gnu.org/non-gnu/cvs/source/stable/1.11.23/cvs-1.11.23.tar.bz2" + PROJECT_PV=1.12.13 + PROJECT_DOWNLOAD_URL="http://ftp.gnu.org/non-gnu/cvs/source/feature/1.12.13/cvs-1.12.13.tar.bz2" elif [ $test_project == "iptables" ]; then - PROJECT_PV=1.4.9 - PROJECT_DOWNLOAD_URL="http://netfilter.org/projects/iptables/files/iptables-1.4.9.tar.bz2" + PROJECT_PV=1.4.11 + PROJECT_DOWNLOAD_URL="http://netfilter.org/projects/iptables/files/iptables-1.4.11.tar.bz2" elif [ $test_project == "sudoku-savant" ]; then PROJECT_PV=1.3 PROJECT_DOWNLOAD_URL="http://downloads.sourceforge.net/project/sudoku-savant/sudoku-savant/sudoku-savant-1.3/sudoku-savant-1.3.tar.bz2" diff --git a/scripts/qemuimage-tests/toolchain/sudoku-savant b/scripts/qemuimage-tests/toolchain/sudoku-savant index 603afe63ee..3d149dea27 100755 --- a/scripts/qemuimage-tests/toolchain/sudoku-savant +++ b/scripts/qemuimage-tests/toolchain/sudoku-savant @@ -11,7 +11,7 @@ # . $COREBASE/scripts/qemuimage-testlib -TIMEOUT=120 +TIMEOUT=240 # Extract and test toolchain tarball Test_Toolchain sudoku-savant ${TIMEOUT} -- cgit v1.2.3-54-g00ecf