Subject: Re: [PATCH v3 1/9] t5520: fixup file contents comparisons

From: Junio C Hamano <[email-masked]>
Date: Wed, 13 May 2015 07:42:03 -0700

Junio C Hamano <[email-masked]> writes:

> Paul Tan <[email-masked]> writes:
>
>> Replace the above 2 forms with:
>>
>> 	verbose test "$(cat file)" = expected
>
> Quoting is very much a good idea, but I am not enthused by the
> vision of having to write verbose everywhere in our script.
>
> After seeing a script fail, you can run it again with -i -x options;
> wouldn't it be sufficient?

Just to avoid misunderstanding, I am unhappy if we have to keep
writing "verbose test" in that exact form.

Just like we invented to help debugging by wrapping "cmp" with
"test_cmp" (i.e. we want to see if the file contents are the same,
but a person who debugs can be helped by seeing the differences when
the expectation is not met), I do not mind if we had a shorter and
cleanly-named wrapper that we can use consistently.  E.g. I do not
mind something like this in test-lib-functions.sh

	test_file_contents () {
		if test "$(cat "$1")" != "$2"
		then
			echo "Contents of file $1 is not $2"
                        false
		fi
	}

and used like so:

	test_file_contents file expected_string