34 lines
1.1 KiB
Bash
34 lines
1.1 KiB
Bash
|
|
#!/usr/bin/env bash
|
||
|
|
# Run the gammaray-mcp test suite.
|
||
|
|
# Usage:
|
||
|
|
# ./run_tests.sh # probe-required tests (default)
|
||
|
|
# ./run_tests.sh --no-probe # only unit tests (no probe needed)
|
||
|
|
# ./run_tests.sh -v # verbose
|
||
|
|
|
||
|
|
set -euo pipefail
|
||
|
|
|
||
|
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||
|
|
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
|
||
|
|
|
||
|
|
# Ensure the bridge is built
|
||
|
|
if [ ! -f "$PROJECT_ROOT/bridge/build/qml-sg-mcp-bridge" ]; then
|
||
|
|
echo "Building bridge first..."
|
||
|
|
cmake -S "$PROJECT_ROOT/bridge" -B "$PROJECT_ROOT/bridge/build" -G Ninja \
|
||
|
|
-DCMAKE_PREFIX_PATH="$PROJECT_ROOT/install-prefix"
|
||
|
|
cmake --build "$PROJECT_ROOT/bridge/build"
|
||
|
|
fi
|
||
|
|
|
||
|
|
# Use the same env as run.sh
|
||
|
|
export LD_LIBRARY_PATH="$PROJECT_ROOT/install-prefix/lib"
|
||
|
|
export QT_QPA_PLATFORM=offscreen
|
||
|
|
export QT_PLUGIN_PATH="$PROJECT_ROOT/bridge/build/lib/x86_64-linux-gnu/qt6/plugins"
|
||
|
|
|
||
|
|
cd "$SCRIPT_DIR"
|
||
|
|
|
||
|
|
# Install test dependencies if needed
|
||
|
|
python3 -c "import pytest" 2>/dev/null || {
|
||
|
|
echo "pytest not found. Installing..."
|
||
|
|
pip3 install pytest --user
|
||
|
|
}
|
||
|
|
|
||
|
|
exec python3 -m pytest "$@" .
|