Re: [PATCH 1/2] test-lib: allow test snippets as here-docs
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Apr 9, 2021, 22:56 UTC
- Message-ID
- <xmqqtuofkqxu.fsf@gitster.g>
- In-Reply-To
- <YHDVAxxKDzfTlq3h@coredump.intra.peff.net>
Jeff King <peff@peff.net> writes:
Show 5 quoted lines
> + If <script> is `-` (a single dash), then the script to run is read > + from stdin. This lets you more easily use single quotes within the > + script by using a here-doc. For example: > + > + test_expect_success 'output contains expected string' <<-\EOT
Missing '-'?
Show 11 quoted lines
> + grep "this string has 'quotes' in it" output
> + EOT
> +
> ...
> + # start with a newline, to match hanging newline from open-quote style
> + eval "$1=\$LF"
> + local test_line
> + while IFS= read -r test_line
> + do
> + eval "$1=\${$1}\${test_line}\${LF}"
> + doneI wonder if we can do this without relying on "read -r" (which I distrust, perhaps out of superstition)? Perhaps by slurping the whole thing with "$(cat)"?
Thanks.