]> git.stg.codes - stg.git/blobdiff - functest/test.sh
Use std::lock_guard instead of STG_LOCKER.
[stg.git] / functest / test.sh
index de55a588b7ec22e940f9de62025e474c6ab94a2f..35bb62d9b6d0d598b7fd7b9f3131642e6d0d5800 100755 (executable)
@@ -2,6 +2,8 @@
 
 BASEPATH=$1
 
+source `dirname $0`/functions
+
 if [ "$BASEPATH" == "" ]
 then
     printf "Usage: $0 <path>\n"
@@ -14,7 +16,7 @@ then
     exit -1
 fi
 
-STGPATH="$BASEPATH/stg/projects/stargazer"
+STGPATH="$BASEPATH/stg/build/projects/stargazer"
 
 cp "stuff/stargazer-files.conf" "$STGPATH/stargazer.conf"
 cp "stuff/rules" "$STGPATH/"
@@ -23,12 +25,29 @@ cp "stuff/OnDisconnect" "$STGPATH/"
 cp "stuff/OnChange" "$STGPATH/"
 cp -R "stuff/db-stub" "$STGPATH/db"
 
-sed -i "s|-STG-PATH-|$STGPATH|g" "$STGPATH/stargazer.conf"
+GROUP=root
+groups | grep root > /dev/null 2> /dev/null
+if [ "$?" != "0" ]
+then
+    groups | grep wheel > /dev/null 2> /dev/null
+    if [ "$?" != "0" ]
+    then
+        printf "Can't find neither 'root' nor 'wheel' group.\n"
+        exit -1
+    fi
+    GROUP=wheel
+fi
 
-LOGFILE=`pwd`"/"`date "+%Y-%m-%d-%H%M%S.console.log"`
+subst "-STG-PATH-" "$STGPATH" "$STGPATH/stargazer.conf"
+subst "-STG-GROUP-" "$GROUP" "$STGPATH/stargazer.conf"
+
+CURPATH=`pwd`
+LOGFILE="$CURPATH/"`date "+%Y-%m-%d-%H%M%S.console.log"`
 
 cd "$STGPATH"
 
+printf "Starting Stargazer... "
+
 "$STGPATH/stargazer" "$STGPATH" >> "$LOGFILE" 2>&1 &
 
 COUNT=""
@@ -51,39 +70,15 @@ done
 PID=`cat "$STGPATH/stargazer.pid"`
 printf "Started with pid $PID\n"
 
-SGCONFPATH="$BASEPATH/stg/projects/sgconf"
-
-RES=`"$SGCONFPATH/sgconf" -s localhost -p 5555 -u admin -w 123456 --get-admins`
+printf "\nTesting server info:\n"
+"$CURPATH/test_server_info.sh" "$BASEPATH"
+printf "\nTesting admins:\n"
+"$CURPATH/test_admins.sh" "$BASEPATH"
+printf "\nTesting services:\n"
+"$CURPATH/test_services.sh" "$BASEPATH"
+printf "\n"
 
-if [ "$?" != "0" ]
-then
-    printf "Failed to get admins list. Result:\n$RES\n"
-    exit 0
-fi
-
-printf "Got admins list:\n"
-
-LOGINS=""
-OLDIFS=$IFS
-IFS=$(printf "\n")
-for LINE in $RES
-do
-    printf -- "$LINE\n"
-    LOGIN=`echo $LINE | grep login`
-    if [ "$?" == "0" ]
-    then
-        LOGINS="$LOGINS\n"`echo $LOGIN | cut -d: -f2 | sed -e 's/^ *//' -e 's/ *$//'`
-    fi
-done
-IFS=$OLDIFS
-
-printf "Logins:\n$LOGINS\n"
-
-NUM=`echo $LOGINS | wc -l`
-
-printf -- "--------\n$NUM\n\n"
-
-printf "Stopping...\n"
+printf "Stopping... "
 kill $PID
 
 COUNT=""
@@ -103,4 +98,6 @@ do
     sleep 1
 done
 
+cp "$STGPATH/stargazer.log" "$CURPATH/stargazer.log"
+
 printf "Stopped.\n"