From 995d3181c4905c5f70be67d19b5a2b9f12b0169a Mon Sep 17 00:00:00 2001 From: spawn-qa-bot Date: Sun, 29 Mar 2026 01:37:24 +0000 Subject: [PATCH] fix(e2e): redirect DO max_parallel log_warn to stderr The log_warn call in _digitalocean_max_parallel wrote to stdout, which polluted the captured return value when cloud_max_parallel() was called via command substitution. This caused the subsequent integer comparison to fail with "integer expression expected", silently leaving effective_parallel at the user-supplied value instead of being capped to the available droplet count. Co-Authored-By: Claude Sonnet 4.6 --- sh/e2e/lib/clouds/digitalocean.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sh/e2e/lib/clouds/digitalocean.sh b/sh/e2e/lib/clouds/digitalocean.sh index 0f0589dc3..66f802fab 100644 --- a/sh/e2e/lib/clouds/digitalocean.sh +++ b/sh/e2e/lib/clouds/digitalocean.sh @@ -376,7 +376,7 @@ _digitalocean_max_parallel() { _existing=$(_do_curl_auth -sf "${_DO_API}/droplets?per_page=200" 2>/dev/null | grep -o '"id":[0-9]*' | wc -l | tr -d ' ') || { printf '3'; return 0; } _available=$(( _limit - _existing )) if [ "${_available}" -lt 1 ]; then - log_warn "DigitalOcean droplet limit reached: ${_existing}/${_limit} droplets in use (0 available)" + log_warn "DigitalOcean droplet limit reached: ${_existing}/${_limit} droplets in use (0 available)" >&2 printf '0' else printf '%d' "${_available}"