From 0dfb304ffb5ab8cb356d7e9b236b3f87c467ae88 Mon Sep 17 00:00:00 2001 From: bcherb2 Date: Mon, 17 Aug 2026 22:58:31 -0400 Subject: [PATCH] test: bind the URL assertions to the statement, not its indentation 53022b8 pushed with the suite red at 111/2 and a message claiming 113. The two failures were real and I did not see them: I grepped only the section I had just added and read the total with `tail -1`, which returns a blank line. The failures were in the extractor, not in dotup. Moving the normalisation into the retry loop changed its indentation from one tab to two, and the sed anchored on `^\t` stopped matching -- so the eval became a no-op and the assertions reported the doubled path as if the feature had been removed. That is the mutation-binding doing its job: the test is coupled to dotup's real code and noticed it moved. But coupling to leading whitespace makes any reindentation look like a regression, so the pattern now matches the statement with leading space allowed. 113 passed, 0 failed. The end-to-end also passes against the pushed dotup with a wrong password sent first, which is what actually exercises the retry. --- .tests/test.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.tests/test.sh b/.tests/test.sh index 274f48e..54420d3 100755 --- a/.tests/test.sh +++ b/.tests/test.sh @@ -167,7 +167,11 @@ is "…including scp-style ssh" \ # normalisation that becomes .../bootstrap.env/bootstrap.env -- a 404 that # curl --fail turns into "endpoint refused the credentials", blaming the # password for a URL shape. Both forms must land on the same request. -norm() { P_URL=$1; eval "$(sed -n '/^\tP_URL=\${P_URL%\//p;/^\tP_URL=\${P_URL%\/bootstrap.env}/p' $D)" +# Indentation-agnostic on purpose: these two lines moved from function body to +# inside the retry loop, and an anchor of `^\t` silently stopped matching, so +# the eval became a no-op and the assertions failed as if dotup were broken. +# Bind to the statement, not to where it happens to sit. +norm() { P_URL=$1; eval "$(sed -n 's/^[[:space:]]*\(P_URL=\${P_URL%[^}]*}\)$/\1/p' $D)" printf '%s\n' "${P_URL%/}/bootstrap.env"; } is "a directory URL resolves to the blob" "https://h/r/bootstrap.env" \ "$(norm 'https://h/r/')"