Re: [PATCH v2 4/6] Refactor mechanics of testing in a sub test-lib
On Wed, Sep 19, 2012 at 03:37:08PM -0400, Jeff King wrote:
Show 7 quoted lines
> 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.
Actually I already did that in one place:
test_expect_success 'pretend we have a fully passing test suite' "
run_sub_test_lib_test full-pass '3 passing tests' <<-\\EOF &&
for i in 1 2 3; do
test_expect_success \"passing test #\$i\" 'true'
done
test_done
EOF
[...]
"Without the \\ preceeding the EOF, it needed to be:
test_expect_success \"passing test #\\\$i\" 'true'
> I'm not sure it is worth worrying about, though, as handling it
> would probably make the existing tests less readable.
Yeah, the for loop is perhaps slightly overkill :-)
> It all looks sane to me. Thanks again.
Thanks for your (unnervingly) thorough reviews ;-)