diff --git a/.mise/tasks/bench-providers b/.mise/tasks/bench-providers index d6afc31..1c09d3f 100755 --- a/.mise/tasks/bench-providers +++ b/.mise/tasks/bench-providers @@ -1,30 +1,6 @@ #!/usr/bin/env bash -#MISE description="Benchmark official SDK baselines, direct clients, adapters, and facades against local providers." +#MISE description="Benchmark provider SDKs, direct clients, adapters, and facades through Testcontainers." set -euo pipefail -COMPOSE="tests/provider/compose.yml" -docker compose -f "$COMPOSE" up -d -cleanup() { - docker compose -f "$COMPOSE" down -v --remove-orphans -} -trap cleanup EXIT - -wait_for_http() { - local name="$1" - local url="$2" - local status="000" - for _ in $(seq 1 60); do - status="$(curl -sS -o /dev/null -w '%{http_code}' "$url" 2>/dev/null || true)" - if [[ "$status" != "000" ]]; then return 0; fi - sleep 1 - done - docker compose -f "$COMPOSE" logs "$name" >&2 || true - return 1 -} - -wait_for_http s3 http://127.0.0.1:8333/ -wait_for_http azure http://127.0.0.1:10000/devstoreaccount1 - deno ci -deno run -A bench/provider.bench.ts -bun run bench/bun-provider.bench.ts +deno task bench:providers diff --git a/.mise/tasks/test-providers b/.mise/tasks/test-providers index ba293a7..e16d4d9 100755 --- a/.mise/tasks/test-providers +++ b/.mise/tasks/test-providers @@ -1,38 +1,6 @@ #!/usr/bin/env bash -#MISE description="Run direct S3 and Azure Blob clients against local provider containers." +#MISE description="Run S3 and Azure Blob integration tests through Testcontainers." set -euo pipefail -COMPOSE="tests/provider/compose.yml" - -docker compose -f "$COMPOSE" up -d -cleanup() { - docker compose -f "$COMPOSE" down -v --remove-orphans -} -trap cleanup EXIT - -wait_for_http() { - local name="$1" - local url="$2" - local status="000" - for _ in $(seq 1 60); do - status="$(curl -sS -o /dev/null -w '%{http_code}' "$url" 2>/dev/null || true)" - if [[ "$status" != "000" ]]; then - return 0 - fi - sleep 1 - done - echo "$name did not become reachable at $url" >&2 - docker compose -f "$COMPOSE" logs "$name" >&2 || true - return 1 -} - -wait_for_http s3 http://127.0.0.1:8333/ -wait_for_http azure http://127.0.0.1:10000/devstoreaccount1 - deno ci -deno test \ - --allow-net=127.0.0.1:8333,127.0.0.1:10000 \ - --sanitize-ops \ - --sanitize-resources \ - --trace-leaks \ - tests/provider.test.ts +deno task test:providers