fix: evaluate.sh detects docker compose vs docker-compose binary; red-team-sweep.sh does not (#964)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
da672070a6
commit
33123cfd1d
1 changed files with 12 additions and 3 deletions
|
|
@ -19,6 +19,15 @@ TIMEOUT_PER="${1:-3600}"
|
|||
log() { echo "[sweep $(date -u +%H:%M:%S)] $*"; }
|
||||
die() { log "FATAL: $*" >&2; exit 1; }
|
||||
|
||||
# ── Detect docker compose command (plugin vs legacy standalone) ────────
|
||||
if docker compose version &>/dev/null 2>&1; then
|
||||
COMPOSE_CMD="docker compose"
|
||||
elif command -v docker-compose &>/dev/null; then
|
||||
COMPOSE_CMD="docker-compose"
|
||||
else
|
||||
die "docker compose not found. Install Docker with the compose plugin."
|
||||
fi
|
||||
|
||||
[[ -f "$INJECT" ]] || die "inject.sh not found at $INJECT"
|
||||
|
||||
mkdir -p "$ATTACKS_OUT"
|
||||
|
|
@ -51,7 +60,7 @@ SMOKE_SEED="${seeds[$SMOKE_IDX]}"
|
|||
SMOKE_NAME=$(basename "$SMOKE_SEED" .push3)
|
||||
log "Smoke test: $SMOKE_NAME"
|
||||
cp "$OPT_SOL" "${OPT_SOL}.sweep-backup"
|
||||
trap 'cp "${OPT_SOL}.sweep-backup" "$OPT_SOL" 2>/dev/null; rm -f "${OPT_SOL}.sweep-backup"; docker compose -f "$REPO_ROOT/docker-compose.yml" down -v 2>/dev/null || true' EXIT
|
||||
trap 'cp "${OPT_SOL}.sweep-backup" "$OPT_SOL" 2>/dev/null; rm -f "${OPT_SOL}.sweep-backup"; $COMPOSE_CMD -f "$REPO_ROOT/docker-compose.yml" down -v 2>/dev/null || true' EXIT
|
||||
|
||||
bash "$INJECT" "$SMOKE_SEED" "$OPT_SOL" || die "Smoke test inject failed for $SMOKE_NAME"
|
||||
(cd "$REPO_ROOT/onchain" && forge build --silent 2>&1) || die "Smoke test compile failed for $SMOKE_NAME"
|
||||
|
|
@ -290,10 +299,10 @@ PYEOF
|
|||
log "DONE $seed_name"
|
||||
|
||||
# 6. Teardown — poll until all containers have exited (exponential backoff, no fixed delay)
|
||||
docker compose -f "$REPO_ROOT/docker-compose.yml" down -v 2>/dev/null || true
|
||||
$COMPOSE_CMD -f "$REPO_ROOT/docker-compose.yml" down -v 2>/dev/null || true
|
||||
_deadline=$(( $(date +%s) + 30 ))
|
||||
_backoff_ms=100
|
||||
while [[ -n "$(docker compose -f "$REPO_ROOT/docker-compose.yml" ps --quiet 2>/dev/null)" ]]; do
|
||||
while [[ -n "$($COMPOSE_CMD -f "$REPO_ROOT/docker-compose.yml" ps --quiet 2>/dev/null)" ]]; do
|
||||
if [[ $(date +%s) -ge $_deadline ]]; then
|
||||
log "WARNING: containers still present after 30s — proceeding anyway"
|
||||
break
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue