Thread (1 message) 1 message, 1 author, 2020-08-02

Re: [PATCH] t1450: fix quoting of NUL byte when corrupting pack

From: Junio C Hamano <hidden>
Date: 2020-08-02 17:57:48

Chris Torek [off-list ref] writes:
On Sun, Aug 2, 2020 at 7:35 AM Martin Ågren [off-list ref] wrote:
quoted
No worries! Thanks for having a look at the patch. Is there anything
that could be done to make this clearer in the commit message? (I find it
quite awkward to discuss quoting: will the reader understand which
quoting is part of my own formatting of the message vs which is part of
the quoting issue I want to get across!?)
This is indeed a problem...

Perhaps something along these lines (generic boilerplate
for any single-quote fixes, that should be adjusted for the
actual fix):

    In the test scripts, the recommended style is, e.g.:

        test_expect_success 'name' '
            multi-line test
            goes here
        '

    When using this style, any single quote in the multi-line
    test section is actually closing the lone single quotes
    that surround it.  To avoid confusion, minimize and/or
    eliminate the use of single quotes here.
Another thing that falls into the same class and probably be a good
addition to the above "tip" is how $variables are interpolated, i.e.

	test_expect_success 'test name' '
		test-that-references $variable &&
		another-test-that-references "$variable"
	'

are 99% of the time the right way to refer to variable that is
assigned outside the test itself (e.g. the whole four lines shown
above may be in a loop, "for variable in a b c; ... ;done").

	test_expect_success 'test name' '
		test-that-references '$variable' &&
		another-test-that-references '"$variable"'
	'

is most likely a wrong way to write for the first one (i.e. what if
the value in $variable has $IFS whitespace) and "not wrong per-se
but unnecessary" for the second one.

Same applies to $(command) substitution, but it is more important.
"Step out of the quote, evaluate and step back into the quote"
pattern would mean the command is evaluated while formulating the
body of the test, not while running the test, which often is not
what the author intended.

Thanks.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help