summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scripts/qemuimage-tests/tools/connman_test.sh28
1 files changed, 24 insertions, 4 deletions
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"