| #!/usr/bin/env bash |
| set -euo pipefail |
|
|
| |
| |
|
|
| |
| source "$(dirname "$0")/setup-go-workspace.sh" |
|
|
| echo "π§ͺ Running framework tests..." |
|
|
| |
| cleanup_docker() { |
| echo "π§Ή Cleaning up Docker services..." |
| if command -v docker-compose >/dev/null 2>&1; then |
| docker-compose -f tests/docker-compose.yml down 2>/dev/null || true |
| elif docker compose version >/dev/null 2>&1; then |
| docker compose -f tests/docker-compose.yml down 2>/dev/null || true |
| fi |
| } |
|
|
| |
| trap cleanup_docker EXIT |
|
|
| |
| echo "π§ Starting dependencies of framework tests..." |
| |
| if command -v docker-compose >/dev/null 2>&1; then |
| docker-compose -f tests/docker-compose.yml up -d |
| elif docker compose version >/dev/null 2>&1; then |
| docker compose -f tests/docker-compose.yml up -d |
| else |
| echo "β Neither docker-compose nor docker compose is available" |
| exit 1 |
| fi |
| sleep 20 |
|
|
| |
| echo "π¨ Validating framework build..." |
| cd framework |
| go build ./... |
| echo "β
Framework build validation successful" |
|
|
| |
| echo "π§ͺ Running framework tests with coverage..." |
| go test --race -coverprofile=coverage.txt -coverpkg=./... ./... |
|
|
| |
| if [ -n "${CODECOV_TOKEN:-}" ]; then |
| echo "π Uploading coverage to Codecov..." |
| curl -Os https://uploader.codecov.io/latest/linux/codecov |
| chmod +x codecov |
| ./codecov -t "$CODECOV_TOKEN" -f coverage.txt -F framework |
| rm -f codecov coverage.txt |
| else |
| echo "βΉοΈ CODECOV_TOKEN not set, skipping coverage upload" |
| rm -f coverage.txt |
| fi |
| cd .. |
|
|
| echo "β
Framework tests completed successfully" |
|
|