need to sleep here
[oweals/gnunet.git] / src / arm / test_gnunet_arm.sh
index 7586d78bbc9fa67235087cb1f1cac1729ab821da..c7028729b2e808a6513d2216e2cc9fefa5ed618f 100755 (executable)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
 
 rm -rf /tmp/test-gnunetd-arm/
 exe="./gnunet-arm -c test_arm_api_data.conf"
@@ -6,6 +6,21 @@ base=/tmp/gnunet-test-arm
 out=/tmp/test-gnunetd-arm.log
 #DEBUG="-L DEBUG"
 
+# -------------------------------------------
+echo -n "TEST: can this script work?... "
+LINES=`ps -C gnunet-service-arm -o pid= | wc -l`
+if test $LINES -ne 0; then
+  echo "No (arm exists). Exiting early."
+  exit 0
+fi
+LINES=`ps -C gnunet-service-resolver -o pid= | wc -l`
+if test $LINES -ne 0; then
+  echo "No (resolver exists). Exiting early."
+  exit 0
+fi
+echo "Yes."
+
+
 # ----------------------------------------------------------------------------------
 echo -n "TEST: Bad argument checking... "
 
@@ -24,7 +39,7 @@ if ! $exe $DEBUG -s > $out ; then
   cat $out
   exit 1
 fi
-LINES=`ps ax | grep gnunet-service-arm | grep -v grep | wc -l`
+LINES=`ps -u $USER -C gnunet-service-arm -o pid= | wc -l`
 if test $LINES -eq 0; then
   echo "FAIL: found $LINES gnunet-service-arm processes"
   echo "Command output was:"
@@ -32,6 +47,7 @@ if test $LINES -eq 0; then
   exit 1
 fi
 echo "PASS"
+sleep 1
 
 # ----------------------------------------------------------------------------------
 echo -n "TEST: Start another service... "
@@ -44,7 +60,7 @@ if ! $exe $DEBUG -i resolver > $out ; then
   exit 1
 fi
 sleep 1
-LINES=`ps ax | grep gnunet-service-resolver | grep -v grep | wc -l`
+LINES=`ps -C gnunet-service-resolver -o pid= | wc -l`
 if test $LINES -ne 1; then
   echo "FAIL: unexpected output (got $LINES lines, wanted 1)"
   echo "Command output was:"
@@ -86,8 +102,14 @@ if ! $exe $DEBUG -k resolver > $out; then
   exit 1
 fi
 sleep 1
-LINES=`ps ax | grep gnunet-service-resolver | grep -v grep | wc -l`
+LINES=`ps -C gnunet-service-resolver -o pid= | wc -l`
+if test $LINES -ne 0; then
+  sleep 5
+  LINES=`ps -C gnunet-service-resolver -o pid= | wc -l`
+fi
 if test $LINES -ne 0; then
+  sleep 2
+
   echo "FAIL: unexpected output"
   echo "Command output was:"
   cat $out
@@ -122,7 +144,11 @@ if ! $exe $DEBUG -e > $out; then
   exit 1
 fi
 sleep 1
-LINES=`ps ax | grep gnunet-service-arm | grep -v grep | wc -l`
+LINES=`ps -C gnunet-service-arm -o pid= | wc -l`
+if test $LINES -ne 0; then
+  sleep 5
+  LINES=`ps -C gnunet-service-arm -o pid= | wc -l`
+fi
 if test $LINES -ne 0; then
   echo "FAIL: unexpected output, still have $LINES gnunet-service-arm processes"
   echo "Command output was:"