Our Personal Data Server from scratch!
tranquil.farm
oauth
atproto
pds
rust
postgresql
objectstorage
fun
1#!/usr/bin/env bash
2set -euo pipefail
3SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
4PROJECT_DIR="$(cd "$SCRIPT_DIR/.." && pwd)"
5INFRA_SCRIPT="$SCRIPT_DIR/test-infra.sh"
6cleanup() {
7 echo ""
8 echo "Cleaning up test infrastructure..."
9 "$INFRA_SCRIPT" stop
10}
11trap cleanup EXIT
12"$INFRA_SCRIPT" start
13source "${TMPDIR:-/tmp}/tranquil_pds_test_infra.env"
14echo ""
15echo "Running database migrations..."
16sqlx database create 2>/dev/null || true
17sqlx migrate run --source "$PROJECT_DIR/migrations"
18echo ""
19ulimit -n 65536
20
21echo "Building test binaries..."
22cargo test --no-run 2>&1 | tail -1
23
24echo "Running tests..."
25echo ""
26cargo nextest run "$@"
27
28echo ""
29echo "All tests passed."