git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH] t5541: fix url scrubbing test when GPG is not set

From
Jeff King <peff@peff.net>
Date
Jul 20, 2016, 11:32 UTC
Message-ID
<20160720113226.GA18700@sigill.intra.peff.net>
In-Reply-To
<CBEE46F3-5497-43D6-BA5A-217C7AD55B48@gmail.com>
On Wed, Jul 20, 2016 at 10:20:33AM +0200, Lars Schneider wrote:
Show 12 quoted lines
> > * jk/push-scrub-url (2016-07-14) 1 commit
> >  (merged to 'next' on 2016-07-19 at 6ada3f1)
> > + push: anonymize URL in status output
>
> t5541-http-push-smart.sh "push status output scrubs password" fails on 
> next using Travis CI OS X:
> https://travis-ci.org/git/git/jobs/145960712
> https://api.travis-ci.org/jobs/145960712/log.txt?deansi=true (non JS)
> 
> I think the test either fails because of OS X or because of the
> used Apache version (Travis CI Linux uses 2.2.22 and OS X uses 2.2.26).
> I haven't done any further investigation.
It's the lack of GPG. Here's a patch.
-- >8 --
Subject: t5541: fix url scrubbing test when GPG is not set

When the GPG prereq is not set, we do not run test 34. That test changes the directory of the test script as a side effect (something we usually frown on, but which matches the style of the rest of this script). When test 35 (the url-scrubbing test) runs, it expects to be in the directory from test 34. If it's not, the test fails; we are in a different sub-repo, our test-commit is built on a different history, and the push becomes a non-fast-forward.

We can fix this by unconditionally moving to the directory we expect (again, against our usual style but matching how the rest of the script operates).

As an additional protection, let's also switch from "make a new commit and push to master" to just "push to a new branch". We don't care about the branch name; we just want _some_ ref update to trigger the status output. Pushing to a new branch is less likely to run into problems with force-updates, changing the checked-out branch, etc.

Signed-off-by: Jeff King <peff@peff.net>
---
 t/t5541-http-push-smart.sh | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/t/t5541-http-push-smart.sh b/t/t5541-http-push-smart.sh
index 8068bd2..4840c71 100755
--- a/t/t5541-http-push-smart.sh
+++ b/t/t5541-http-push-smart.sh
@@ -369,8 +369,10 @@ test_expect_success GPG 'push with post-receive to inspect certificate' '
 '
 
 test_expect_success 'push status output scrubs password' '
-	test_commit scrub &&
-	git push --porcelain "$HTTPD_URL_USER_PASS/smart/test_repo.git" >status &&
+	cd "$ROOT_PATH/test_repo_clone" &&
+	git push --porcelain \
+		"$HTTPD_URL_USER_PASS/smart/test_repo.git" \
+		+HEAD:scrub >status &&
 	# should have been scrubbed down to vanilla URL
 	grep "^To $HTTPD_URL/smart/test_repo.git" status
 '
-- 
2.9.2.505.g2705bb6
Previous: Lars SchneiderNext: Lars Schneider
Message 3 of 6 in “What's cooking in git.git (Jul 2016, #06; Tue, 19)”
  1. Junio C HamanoJul 19, 2016
  2. Lars SchneiderJul 20, 2016
  3. t5541: fix url scrubbing test when GPG is not setJeff King, Jul 20, 2016
  4. Lars SchneiderJul 21, 2016
  5. Pranit BauvaJul 20, 2016
  6. Junio C HamanoJul 22, 2016

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.