On Wed, Mar 21, 2012 at 12:36 PM, Tim Henigan <tim.henigan@xxxxxxxxx> wrote: > Signed-off-by: Tim Henigan <tim.henigan@xxxxxxxxx> > --- > t/t7800-difftool.sh | 38 ++++++++++++++++++++++++++++++++++++++ > 1 file changed, 38 insertions(+) > > diff --git a/t/t7800-difftool.sh b/t/t7800-difftool.sh > index 663247c..fca49d1 100755 > --- a/t/t7800-difftool.sh > +++ b/t/t7800-difftool.sh > @@ -305,4 +305,42 @@ test_expect_success PERL 'difftool --tool-help' ' > echo "$tool_help" | stdin_contains tool > ' > > +test_expect_success PERL 'setup change in subdirectory' ' > + git checkout master && > + mkdir sub && > + echo master >sub/sub && > + git add sub/sub && > + git commit -m "added sub/sub" && > + echo test >>file && > + echo test >>sub/sub && > + git add . && > + git commit -m "modified both" > +' > + > +test_expect_success PERL 'difftool -d' ' > + diff=$(git difftool -d --extcmd ls branch) && > + echo "$diff" | stdin_contains sub && > + echo "$diff" | stdin_contains file > +' > + > +test_expect_success PERL 'difftool --dir-diff' ' > + diff=$(git difftool --dir-diff --extcmd ls branch) && > + echo "$diff" | stdin_contains sub && > + echo "$diff" | stdin_contains file > +' > + > +test_expect_success PERL 'difftool --dir-diff ignores --prompt' ' > + diff=$(git difftool --dir-diff --prompt --extcmd ls branch) && > + echo "$diff" | stdin_contains sub && > + echo "$diff" | stdin_contains file > +' > + > +test_expect_success PERL 'difftool --dir-diff from subdirectory' ' > + cd sub && > + diff=$(git difftool --dir-diff --extcmd ls branch) && > + echo "$diff" | stdin_contains sub && > + echo "$diff" | stdin_contains file && > + cd .. If we wrap the subdir operations in parentheses then the sub-shell saves us from having to do "cd ..". It also helps prevent leakage from earlier failures, which is helpful when writing new tests. (Please excuse any gmail whitespace mangling) e.g.: test_expect_success PERL 'difftool --dir-diff from subdirectory' ' ( cd sub && diff=$(git difftool --dir-diff --extcmd ls branch) && echo "$diff" | stdin_contains sub && echo "$diff" | stdin_contains file ) ' It'd also be pretty neat if we could gather file content somehow. This would allow us to make assertions about the content of the left/right parameters passed to the tool. I don't know if that's test overkill ;-) but it seems like it could be helpful. -- David -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html