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

[PATCH 12/16] t5551: drop curl trace lines without headers

From
Jeff King <peff@peff.net>
Date
Feb 23, 2023, 11:05 UTC
Message-ID
<Y/dIY7wTfBuG9Rox@coredump.intra.peff.net>
In-Reply-To
<Y/dEYYWKy/o96vBG@coredump.intra.peff.net>

We pick apart a curl trace, looking for "=> Send header:" and so on, and matching against an expected set of requests and responses. We remove "== Info" lines entirely. However, our parser is fooled when running the test with LIB_HTTPD_SSL on Ubuntu 20.04 (as found in our linux-gcc CI job), as curl hands us an "Info" buffer with a newline, and we get:

  == Info: successfully set certificate verify locations:
  == Info:   CAfile: /etc/ssl/certs/ca-certificates.crt
    CApath: /etc/ssl/certs
  => Send SSL data[...]

which results in the "CApath" line ending up in the cleaned-up output, causing the test to fail.

Arguably the tracing code should detect this and put it on two separate "== Info" lines. But this is actually a curl bug, fixed by their 80d73bcca (tls: provide the CApath verbose log on its own line, 2020-08-18). It's simpler to just work around it here.

Since we are using GIT_TRACE_CURL, every line should just start with one of "<=", "==", or "=>", and we can throw away anything else. In fact, we can just replace the pattern for deleting "*" lines. Those were from the old GIT_CURL_VERBOSE output, but we switched over in 14e24114d9 (t5551-http-fetch-smart.sh: use the GIT_TRACE_CURL environment var, 2016-09-05).

Signed-off-by: Jeff King <peff@peff.net>
---
 t/t5551-http-fetch-smart.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/t/t5551-http-fetch-smart.sh b/t/t5551-http-fetch-smart.sh
index 2e42271cb8..13b38c7ef5 100755
--- a/t/t5551-http-fetch-smart.sh
+++ b/t/t5551-http-fetch-smart.sh
@@ -86,7 +86,7 @@ test_expect_success 'clone http repository' '
 	'\'' |
 	sed -e "
 		s/Q\$//
-		/^[*] /d
+		/^[^<=]/d
 		/^== Info:/d
 		/^=> Send header, /d
 		/^=> Send header:$/d
-- 
2.39.2.981.g6157336f25
Previous: Jeff KingNext: Jeff King
Message 16 of 24 in “http test bug potpourri”
  1. 0/16 http test bug potpourriJeff King, Feb 23, 2023
  2. 01/16 t5541: run "used receive-pack service" test earlierJeff King, Feb 23, 2023
  3. 02/16 t5541: stop marking "used receive-pack service" test as v0 onlyJeff King, Feb 23, 2023
  4. 03/16 t5541: simplify and move "no empty path components" testJeff King, Feb 23, 2023
  5. Junio C HamanoFeb 23, 2023
  6. Jeff KingFeb 24, 2023
  7. 04/16 t5551: drop redundant grep for Accept-LanguageJeff King, Feb 23, 2023
  8. Junio C HamanoFeb 23, 2023
  9. 05/16 t5551: lower-case headers in expected curl traceJeff King, Feb 23, 2023
  10. 06/16 t5551: handle HTTP/2 when checking curl traceJeff King, Feb 23, 2023
  11. 07/16 t5551: stop forcing clone to run with v0 protocolJeff King, Feb 23, 2023
  12. 08/16 t5551: handle v2 protocol when checking curl traceJeff King, Feb 23, 2023
  13. 09/16 t5551: handle v2 protocol in upload-pack service testJeff King, Feb 23, 2023
  14. 10/16 t5551: simplify expected cookie fileJeff King, Feb 23, 2023
  15. 11/16 t5551: handle v2 protocol in cookie testJeff King, Feb 23, 2023
  16. 12/16 t5551: drop curl trace lines without headersJeff King, Feb 23, 2023
  17. 13/16 t/lib-httpd: respect $HTTPD_PROTO in expect_askpass()Jeff King, Feb 23, 2023
  18. 14/16 t/lib-httpd: enable HTTP/2 "h2" protocol, not just h2cJeff King, Feb 23, 2023
  19. Junio C HamanoFeb 23, 2023
  20. 15/16 t5559: fix test failures with LIB_HTTPD_SSLJeff King, Feb 23, 2023
  21. 16/16 t5559: make SSL/TLS the defaultJeff King, Feb 23, 2023
  22. Junio C HamanoFeb 23, 2023
  23. Jeff KingFeb 24, 2023
  24. Junio C HamanoFeb 24, 2023

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.