Re: [PATCH v3 12/9] t7800: add tests for difftool --dir-diff

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]