Re: [PATCH] diff: add test showing regression to --relative
- From
Jacob Keller <jacob.keller@gmail.com>
- Date
- Dec 7, 2017, 01:21 UTC
- Message-ID
- <CA+P7+xr8KobkY56-4qE4ZdVgC388L6=NKQc=3kTZvWz8XOD3ag@mail.gmail.com>
- In-Reply-To
- <20171207010421.GC1975@sigill.intra.peff.net>
On Wed, Dec 6, 2017 at 5:04 PM, Jeff King <peff@peff.net> wrote:
Show 14 quoted lines
> On Wed, Dec 06, 2017 at 04:35:17PM -0800, Jacob Keller wrote: > >> Subject: [PATCH] diff: add test showing regression to --relative > > Since we'd hopefully not ever merge that regression, I think this patch > ought to stand on its own. In which case it probably wants to say > something like: > > diff: test --relative without a prefix > > We already test "diff --relative=subdir", but not that > "--relative" by itself should use the current directory as > its prefix. >
Yea, I wasn't sure what the actual status of the changes were though, so I thought I'd send the actual fix I did. It's definitely up to Christian in determining what he thinks the best path forward is.
Show 25 quoted lines
>> diff --git a/t/t4045-diff-relative.sh b/t/t4045-diff-relative.sh >> index 3950f5034d31..41e4f59b2ffb 100755 >> --- a/t/t4045-diff-relative.sh >> +++ b/t/t4045-diff-relative.sh >> @@ -70,4 +70,9 @@ for type in diff numstat stat raw; do >> check_$type dir/file2 --relative=sub >> done >> >> +cd subdir >> +for type in diff numstat stat raw; do >> + check_$type file2 --relative >> +done > > We should avoid moving the cwd of the whole test script in > case we add tests later. Normally we'd do the cd inside a > subshell, but that's complicated by the wrapper (we wouldn't > want to increment the test counter just inside the subshell, > for instance). > > Adding "cd .." is the smallest thing we could do to fix > that. But I think the more robust solution is to actually > teach the check_* helper about doing the "cd" inside the > test_expect block. Or just pushing the helper down into the > test block and living with repeating the > "test_expect_success" parts for each call.
Yea, I tried cd inside the subshell and it didn't work, so I did this as the quicker solution.
I think the best method would be to update the check_* helper functions to take a dir parameter, and use that to do git -C "dir" when calling the diff commands.
Thanks, Jake
> > -Peff