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

Re: [PATCH v2 4/6] Refactor mechanics of testing in a sub test-lib

From
Jeff King <peff@peff.net>
Date
Sep 19, 2012, 19:37 UTC
Message-ID
<20120919193708.GA21950@sigill.intra.peff.net>
In-Reply-To
<20120919184406.GC19246@atlantic.linksys.moosehall>
On Wed, Sep 19, 2012 at 07:44:06PM +0100, Adam Spiers wrote:
Show 8 quoted lines
> > Is it just that you are dropping the '\' in all of the here-docs because
> > they are not needed?
> 
> Hmm, I think I previously misunderstood the point of the \\ due to
> never seeing that syntax before (since my Perl background taught me to
> write <<'EOF' instead).  I noticed that the tests all passed without
> it, and mistakenly assumed it had become unnecessary due to the
> refactoring.

OK. You can write 'EOF' in the shell, too, but we tend not to in this project (and you can write \EOF in perl, but I agree that it is much less common in perl code I have seen).

Looking at it again, it is actually quite subtle what is going on. We wrap the outer test_expect_* calls in double-quotes so that the inner ones can use single-quotes easily. But that means that technically the contents of the here-doc _are_ interpolated. But not at test run-time, but rather at the call to test_expect_*. And that is why we nee to use "\\" instead of "\". So I think anybody trying to tweak these tests using shell metacharacters is in for a surprise either way. I'm not sure it is worth worrying about, though, as handling it would probably make the existing tests less readable.

> > Also, why is this one not converted into a check_sub... invocation?
> 
> Because it was much further down in that file so I didn't notice it
> during the refactoring ;-)
OK. :)
> I've also noticed I can use test_must_fail instead of introducing
> run_sub_test_lib_test_expecting_failures.

Good catch. I didn't notice that, but it definitely makes sense to reuse it.

> 
> So I'll have to re-roll 4--6 again.  Presumably I can just reply to
> [PATCH v2 4/6] with modified v3 versions without having to resend
> the first three in the series, which haven't changed.
It all looks sane to me. Thanks again.
-Peff
Previous: Junio C HamanoNext: Adam Spiers
Message 15 of 19 in “make test output coloring more intuitive”
  1. 0/6 make test output coloring more intuitiveAdam Spiers, Sep 19, 2012
  2. 1/6 Change the color of individual known breakagesAdam Spiers, Sep 19, 2012
  3. 2/6 Make 'not ok $count - $message' consistent with 'ok $count - $message'Adam Spiers, Sep 19, 2012
  4. Jeff KingSep 19, 2012
  5. Junio C HamanoSep 19, 2012
  6. Adam SpiersSep 19, 2012
  7. 3/6 Color skipped tests the same as informational messagesAdam Spiers, Sep 19, 2012
  8. 4/6 Refactor mechanics of testing in a sub test-libAdam Spiers, Sep 19, 2012
  9. Jeff KingSep 19, 2012
  10. Adam SpiersSep 19, 2012
  11. 4/6 Refactor mechanics of testing in a sub test-libAdam Spiers, Sep 19, 2012
  12. 5/6 Test the test framework more thoroughlyAdam Spiers, Sep 19, 2012
  13. 6/6 Treat unexpectedly fixed known breakages more seriouslyAdam Spiers, Sep 19, 2012
  14. Junio C HamanoSep 20, 2012
  15. Jeff KingSep 19, 2012
  16. Adam SpiersSep 19, 2012
  17. 5/6 Test the test framework more thoroughlyAdam Spiers, Sep 19, 2012
  18. 6/6 Treat unexpectedly fixed known breakages more seriouslyAdam Spiers, Sep 19, 2012
  19. Jeff KingSep 19, 2012

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.