mirror of
https://github.com/git/git
synced 2024-11-05 18:59:29 +00:00
t7800: run --dir-diff tests with and without symlinks
Currently the difftool --dir-diff tests may or may not use symlinks depending on the operating system on which they are run. In one case this has caused a test failure to be noticed only on Windows when the test also fails on Linux when difftool is invoked with --no-symlinks. Rewrite these tests so that they do not depend on the environment but run explicitly with both --symlinks and --no-symlinks, protecting the --symlinks version with a SYMLINKS prerequisite. Signed-off-by: John Keeping <john@keeping.me.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
3caf5a93d8
commit
e01afdb74b
1 changed files with 19 additions and 8 deletions
|
@ -318,28 +318,39 @@ test_expect_success PERL 'setup change in subdirectory' '
|
||||||
git commit -m "modified both"
|
git commit -m "modified both"
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success PERL 'difftool -d' '
|
run_dir_diff_test () {
|
||||||
git difftool -d --extcmd ls branch >output &&
|
test_expect_success PERL "$1 --no-symlinks" "
|
||||||
|
symlinks=--no-symlinks &&
|
||||||
|
$2
|
||||||
|
"
|
||||||
|
test_expect_success PERL,SYMLINKS "$1 --symlinks" "
|
||||||
|
symlinks=--symlinks &&
|
||||||
|
$2
|
||||||
|
"
|
||||||
|
}
|
||||||
|
|
||||||
|
run_dir_diff_test 'difftool -d' '
|
||||||
|
git difftool -d $symlinks --extcmd ls branch >output &&
|
||||||
grep sub output &&
|
grep sub output &&
|
||||||
grep file output
|
grep file output
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success PERL 'difftool --dir-diff' '
|
run_dir_diff_test 'difftool --dir-diff' '
|
||||||
git difftool --dir-diff --extcmd ls branch >output &&
|
git difftool --dir-diff $symlinks --extcmd ls branch >output &&
|
||||||
grep sub output &&
|
grep sub output &&
|
||||||
grep file output
|
grep file output
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success PERL 'difftool --dir-diff ignores --prompt' '
|
run_dir_diff_test 'difftool --dir-diff ignores --prompt' '
|
||||||
git difftool --dir-diff --prompt --extcmd ls branch >output &&
|
git difftool --dir-diff $symlinks --prompt --extcmd ls branch >output &&
|
||||||
grep sub output &&
|
grep sub output &&
|
||||||
grep file output
|
grep file output
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success PERL 'difftool --dir-diff from subdirectory' '
|
run_dir_diff_test 'difftool --dir-diff from subdirectory' '
|
||||||
(
|
(
|
||||||
cd sub &&
|
cd sub &&
|
||||||
git difftool --dir-diff --extcmd ls branch >output &&
|
git difftool --dir-diff $symlinks --extcmd ls branch >output &&
|
||||||
grep sub output &&
|
grep sub output &&
|
||||||
grep file output
|
grep file output
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in a new issue