Patchwork [1/2] sanitytest: use different option for command ps from busybox and procps

login
register
mail settings
Submitter Jiajun Xu
Date Nov. 17, 2011, 6:05 a.m.
Message ID <f6328ed6e9a96d7e66d95f479bc1ac8796cbd3e2.1321509543.git.jiajun.xu@intel.com>
Download mbox | patch
Permalink /patch/15067/
State Accepted
Commit dd856f5609c13fc740b53016de033a8a9cbe6b51
Headers show

Comments

Jiajun Xu - Nov. 17, 2011, 6:05 a.m.
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]

Signed-off-by: Jiajun Xu <jiajun.xu@intel.com>
---
 scripts/qemuimage-tests/tools/connman_test.sh |   28 +++++++++++++++++++++---
 1 files changed, 24 insertions(+), 4 deletions(-)

Patch

diff --git a/scripts/qemuimage-tests/tools/connman_test.sh b/scripts/qemuimage-tests/tools/connman_test.sh
index c4a66ee..8ed8b8b 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"