#!/bin/bash export PID=$$ self=$0 if test -f "${self}.js"; then export SCRIPT=${self}.js else export SCRIPT=$1 shift fi if test -n "$ORIGINAL_PATH"; then # running in cygwin... PS='\' export EXT=".exe" else export EXT="" PS='/' fi; LOGFILE="out${PS}log-$PID" DBDIR="out${PS}data-$PID" mkdir -p ${DBDIR} export PORT=`expr 1024 + $RANDOM` declare -a ARGS export VG='' export VXML='' for i in "$@"; do # no valgrind on cygwin, don't care. if test "$i" == valgrind; then export VG='/usr/bin/valgrind --log-file=/tmp/valgrindlog.%p' elif test "$i" == valgrindxml; then export VG='/usr/bin/valgrind --xml=yes --xml-file=valgrind_testrunner' export VXML="valgrind=\"${VG}\"" export VG=${VG}'.xml ' else ARGS+=(--javascript.script-parameter) ARGS+=("$i") fi done echo Database has its data in ${DBDIR} echo Logfile is in ${LOGFILE} $VG bin/arangod \ --configuration none \ --cluster.agent-path bin${PS}etcd-arango${EXT} \ --cluster.arangod-path bin${PS}arangod \ --cluster.coordinator-config etc${PS}relative${PS}arangod-coordinator.conf \ --cluster.dbserver-config etc${PS}relative${PS}arangod-dbserver.conf \ --cluster.disable-dispatcher-frontend false \ --cluster.disable-dispatcher-kickstarter false \ --cluster.data-path cluster \ --cluster.log-path cluster \ --database.directory ${DBDIR} \ --log.file ${LOGFILE} \ --server.endpoint tcp://127.0.0.1:$PORT \ --javascript.startup-directory js \ --javascript.app-path js${PS}apps \ --javascript.script $SCRIPT \ --no-server \ --temp-path ${PS}var${PS}tmp \ "${ARGS[@]}" \ $VXML if test $? -eq 0; then echo "removing ${LOGFILE} ${DBDIR}" rm -rf ${LOGFILE} ${DBDIR} else echo "failed - don't remove ${LOGFILE} ${DBDIR} - here's the logfile:" cat ${LOGFILE} fi echo Server has terminated.