From efc6fed502daedc0e9c008144416f656e80be2a2 Mon Sep 17 00:00:00 2001 From: Michael Li Date: Fri, 10 Apr 2026 08:48:02 -0400 Subject: [PATCH] test(bats): Fix flaky connect helper... AGAIN (#6580) --- internal/tests/cli/boundary/_connect.bash | 36 +++++++++++++++++++++-- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/internal/tests/cli/boundary/_connect.bash b/internal/tests/cli/boundary/_connect.bash index 8a15aa2e3a..7db1b82d9a 100644 --- a/internal/tests/cli/boundary/_connect.bash +++ b/internal/tests/cli/boundary/_connect.bash @@ -4,18 +4,48 @@ function connect_nc() { local id=$1 # Note: When this command returns, the session immediately goes into a "canceling" state - echo "SSH-2.0-Test" | boundary connect -exec nc -target-id $id -- -v -w 5 {{boundary.ip}} {{boundary.port}} + # Capture output and check for success message since nc may return non-zero on pipe close + local output + output=$(echo "SSH-2.0-Test" | boundary connect -exec nc -target-id $id -- -v -w 5 {{boundary.ip}} {{boundary.port}} 2>&1) + local status=$? + echo "$output" + + # If connection succeeded, return 0 regardless of nc's exit status + if echo "$output" | grep -q "succeeded"; then + return 0 + fi + return $status } function connect_alias() { local alias=$1 # Note: When this command returns, the session immediately goes into a "canceling" state - echo "SSH-2.0-Test" | boundary connect $alias -exec nc -- -v -w 5 {{boundary.ip}} {{boundary.port}} + # Capture output and check for success message since nc may return non-zero on pipe close + local output + output=$(echo "SSH-2.0-Test" | boundary connect $alias -exec nc -- -v -w 5 {{boundary.ip}} {{boundary.port}} 2>&1) + local status=$? + echo "$output" + + # If connection succeeded, return 0 regardless of nc's exit status + if echo "$output" | grep -q "succeeded"; then + return 0 + fi + return $status } function connect_alias_with_host_id() { local alias=$1 local hostid=$2 # Note: When this command returns, the session immediately goes into a "canceling" state - echo "SSH-2.0-Test" | boundary connect $alias -host-id $hostid -exec nc -- -v -w 5 {{boundary.ip}} {{boundary.port}} + # Capture output and check for success message since nc may return non-zero on pipe close + local output + output=$(echo "SSH-2.0-Test" | boundary connect $alias -host-id $hostid -exec nc -- -v -w 5 {{boundary.ip}} {{boundary.port}} 2>&1) + local status=$? + echo "$output" + + # If connection succeeded, return 0 regardless of nc's exit status + if echo "$output" | grep -q "succeeded"; then + return 0 + fi + return $status }