From c87a539aec000bdf13180f91a1c970ae9bd789c4 Mon Sep 17 00:00:00 2001 From: Jiajun Xu Date: Thu, 17 Nov 2011 14:05:49 +0800 Subject: sanitytest: use different option for command ps from busybox and procps Current sanitytest use option -e for ps command, which only works for ps from procps. It fails if ps is provided by busybox. Add check to use different option for command from busybox and procps. [YOCTO #1756] (From OE-Core rev: dd856f5609c13fc740b53016de033a8a9cbe6b51) Signed-off-by: Jiajun Xu Signed-off-by: Richard Purdie --- scripts/qemuimage-tests/tools/connman_test.sh | 28 +++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) (limited to 'scripts/qemuimage-tests') diff --git a/scripts/qemuimage-tests/tools/connman_test.sh b/scripts/qemuimage-tests/tools/connman_test.sh index c4a66eebe3..8ed8b8b4aa 100644 --- a/scripts/qemuimage-tests/tools/connman_test.sh +++ b/scripts/qemuimage-tests/tools/connman_test.sh @@ -20,6 +20,16 @@ Target_Err() echo -e "\tTARGET: ##### End #####" } +# Check if ps comes from Procps or busybox first +ls -l `which ps` | grep -q "busybox" +RET=$? + +if [ $RET -eq 0 ]; then + PS="ps" +else + PS="ps -ef" +fi + # Check if connmand is in target if [ ! -f /usr/sbin/connmand ]; then Target_Info "No connmand command found" @@ -27,21 +37,31 @@ if [ ! -f /usr/sbin/connmand ]; then fi # Check if connmand is running in background -count=`ps -eo comm | cut -d " " -f 1 | grep -c connmand` +if [ $RET -eq 0 ]; then + count=`ps | awk '{print $5}' | grep -c connmand` +else + count=`ps -eo comm | cut -d " " -f 1 | grep -c connmand` +fi if [ $count -ne 1 ]; then Target_Info "connmand has issue when running in background, Pls, check the output of ps" - ps -ef | grep connmand + ${PS} | grep connmand exit 1 fi # Check if there is always only one connmand running in background if [ connmand > /dev/null 2>&1 ]; then Target_Info "connmand command run without problem" - count=`ps -eo comm | cut -d " " -f 1 | grep -c connmand` + + if [ $RET -eq 0 ]; then + count=`ps | awk '{print $5}' | grep -c connmand` + else + count=`ps -eo comm | cut -d " " -f 1 | grep -c connmand` + fi + if [ $count -ne 1 ]; then Target_Info "There are more than one connmand running in background, Pls, check the output of ps" - ps -ef | grep connmand + ${PS} | grep connmand exit 1 else Target_Info "There is always one connmand running in background, test pass" -- cgit v1.2.3-54-g00ecf