Command execution for system test cases
[anna.git] / example / diameter / launcher / resources / scripts / operation_signal.sh
index d312981..4db01a5 100755 (executable)
@@ -17,11 +17,20 @@ cd `dirname $0`
 PID=`cat .pid`
 
 # Send operation:
-[ "$1" = "" ] && _exit "Usage: $0 <operation string>; i.e.: $0 help"
-echo $1 > sigusr2.in
-kill -s SIGUSR2 $PID
+[ "$1" = "" ] && _exit "Usage: $0 [-f] <content: operation string or file (one operation per line) if '-f' provided>; i.e.: $0 help, $0 -f myOperationsList.txt"
+FILE=
+[ "$1" = "-f" ] && FILE=$2
 
-#echo "You could see results on '`pwd`/sigusr2.out' file."
-cat `pwd`/sigusr2.out 2>/dev/null
-echo
+if [ -z "$FILE" ]
+then
+  echo $1 > sigusr2.in
+else
+  [ ! -f "$FILE" ] && _exit "Can't found provided file '$FILE'."
+  grep -v "^#" $FILE | sed '/^[ \t]*$/d' > sigusr2.in
+fi
+0> sigusr2.out
+kill -s SIGUSR2 $PID
+count=0
+while [ ! -s sigusr2.out -a $count -lt 500 ]; do sleep 0.01; count=$((count+1)); done
+cat `pwd`/sigusr2.out