On Wed, Mar 22, 2017 at 2:07 PM, Jeff King <[email protected]> wrote:
> On Wed, Mar 22, 2017 at 01:08:04PM -0700, Junio C Hamano wrote:
>
>> diff --git a/t/t7406-submodule-update.sh b/t/t7406-submodule-update.sh
>> index 347857fa7c..a20df9420a 100755
>> --- a/t/t7406-submodule-update.sh
>> +++ b/t/t7406-submodule-update.sh
>> @@ -442,9 +442,9 @@ test_expect_success 'submodule update - command in
>> .git/config catches failure -
>> '
>>
>> test_expect_success 'submodule update - command run for initial population
>> of submodule' '
>> - cat <<-\ EOF >expect
>> + cat >expect <<-\EOF &&
>> Execution of '\''false $submodulesha1'\'' failed in submodule path
>> '\''submodule'\''
>> - EOF &&
>> + EOF
>
> After applying this, I get a failure:
>
> --- expect 2017-03-22 21:01:53.350721155 +0000
> +++ actual 2017-03-22 21:01:53.346721155 +0000
> @@ -1 +1 @@
> -Execution of 'false $submodulesha1' failed in submodule path 'submodule'
> +Execution of 'false 4301fd3e4110d3b6212c19aed3094150392545b9' failed in
> submodule path '../submodule'
>
> At the very least, we need to drop the "\" from EOF to expand
> $submodulesha1.
yes.
> But the submodule path seems wrong, too. I'm not sure if
> the expectation is wrong, or if there's a bug. +cc Stefan
Yes the actual output is wrong, too.
But that is not because Git is wrong, but the test suite is.
test_must_fail git -C super submodule update >../actual &&
contains 2 errors:
* we are interested in stderr, so make it 2>
* the -C switch doesn't apply to redirection. (obviously!)
So if you have run the test suite in a normal setup, you may have
a file "t/actual" which is empty. This is scary as it managed to break
out of the test suite and overwrote a potential file in your git.git.
I'll send a patch on top of the one under discussion momentarily.
Thanks,
Stefan