mirror of https://github.com/veypi/OneAuth.git
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
1.2 KiB
Bash
59 lines
1.2 KiB
Bash
|
1 week ago
|
#!/bin/bash
|
||
|
|
#
|
||
|
|
# clean_run.sh
|
||
|
|
#
|
||
|
|
# Clean environment and run all tests
|
||
|
|
#
|
||
|
|
|
||
|
|
set -e
|
||
|
|
|
||
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||
|
|
cd "$SCRIPT_DIR/../.."
|
||
|
|
|
||
|
|
echo "Stopping existing server on port 4000..."
|
||
|
|
PID=$(lsof -t -i:4000 || true)
|
||
|
|
if [ -n "$PID" ]; then
|
||
|
|
kill $PID || true
|
||
|
|
wait $PID 2>/dev/null || true
|
||
|
|
echo "Server stopped."
|
||
|
|
else
|
||
|
|
echo "No server running on port 4000."
|
||
|
|
fi
|
||
|
|
|
||
|
|
echo "Cleaning database..."
|
||
|
|
rm -f /tmp/vb.sqlite
|
||
|
|
|
||
|
|
echo "Starting server..."
|
||
|
|
# Run in background
|
||
|
|
go run cli/main.go -db.type=sqlite -db.dsn /tmp/vb.sqlite -p 4000 > /tmp/vb_server.log 2>&1 &
|
||
|
|
SERVER_PID=$!
|
||
|
|
|
||
|
|
echo "Server PID: $SERVER_PID"
|
||
|
|
echo "Waiting for server to start..."
|
||
|
|
|
||
|
|
# Wait for port 4000 to be open
|
||
|
|
max_retries=30
|
||
|
|
count=0
|
||
|
|
while ! nc -z localhost 4000; do
|
||
|
|
sleep 1
|
||
|
|
((count++))
|
||
|
|
if [ $count -ge $max_retries ]; then
|
||
|
|
echo "Server failed to start in $max_retries seconds."
|
||
|
|
cat /tmp/vb_server.log
|
||
|
|
kill $SERVER_PID || true
|
||
|
|
exit 1
|
||
|
|
fi
|
||
|
|
done
|
||
|
|
|
||
|
|
echo "Server started successfully."
|
||
|
|
|
||
|
|
# Run tests
|
||
|
|
echo "Running tests..."
|
||
|
|
BASE_URL=http://localhost:4000 bash scripts/tests/run_all.sh
|
||
|
|
EXIT_CODE=$?
|
||
|
|
|
||
|
|
echo "Stopping server..."
|
||
|
|
kill $SERVER_PID || true
|
||
|
|
|
||
|
|
exit $EXIT_CODE
|