#!/usr/bin/env bash set -euo pipefail # Uncomment for debugging # set -x PROJECT_ROOT=$(cd "$(dirname "$0")/../.." && pwd) PKG_PATHS="${PROJECT_ROOT}/packages/py/aitbc-crypto/src:${PROJECT_ROOT}/packages/py/aitbc-sdk/src" cd "${PROJECT_ROOT}" if command -v poetry >/dev/null 2>&1; then RUNNER=(poetry run) else RUNNER=() fi run_pytest() { local py_path=$1 shift if [ ${#RUNNER[@]} -gt 0 ]; then PYTHONPATH="$py_path" "${RUNNER[@]}" python -m pytest "$@" else PYTHONPATH="$py_path" python -m pytest "$@" fi } run_pytest "${PROJECT_ROOT}/apps/coordinator-api/src:${PKG_PATHS}" apps/coordinator-api/tests -q run_pytest "${PKG_PATHS}" packages/py/aitbc-sdk/tests -q run_pytest "${PROJECT_ROOT}/apps/miner-node/src:${PKG_PATHS}" apps/miner-node/tests -q run_pytest "${PROJECT_ROOT}/apps/wallet-daemon/src:${PROJECT_ROOT}/apps/blockchain-node/src:${PKG_PATHS}" apps/wallet-daemon/tests -q run_pytest "${PROJECT_ROOT}/apps/blockchain-node/src:${PKG_PATHS}" apps/blockchain-node/tests/test_websocket.py -q