From 2ec20212c56575dc5e6875f36fa68b6b4a8edd70 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Wed, 23 Mar 2016 11:55:07 +0100 Subject: t1300-repo-config: make it resilient to being run via 'sh -x' One way to diagnose broken regression tests is to run the test script using 'sh -x t... -i -v' to find out which call actually demonstrates the symptom. Hence it is pretty counterproductive if the test script behaves differently when being run via 'sh -x', in particular when using test_cmp or test_i18ncmp on redirected stderr. A more recent way "sh tXXXX -i -v -x" has the same issue. So let's use test_i18ngrep (as suggested by Jonathan Nieder) instead of test_cmp/test_i18ncmp to verify that stderr looks as expected. Signed-off-by: Johannes Schindelin Signed-off-by: Junio C Hamano --- t/t1300-repo-config.sh | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) (limited to 't') diff --git a/t/t1300-repo-config.sh b/t/t1300-repo-config.sh index 8867ce10f8..dca27a3880 100755 --- a/t/t1300-repo-config.sh +++ b/t/t1300-repo-config.sh @@ -699,17 +699,13 @@ test_expect_success 'invalid unit' ' echo 1auto >expect && git config aninvalid.unit >actual && test_cmp expect actual && - cat >expect <<-\EOF && - fatal: bad numeric config value '\''1auto'\'' for '\''aninvalid.unit'\'' in file .git/config: invalid unit - EOF test_must_fail git config --int --get aninvalid.unit 2>actual && - test_i18ncmp expect actual + test_i18ngrep "bad numeric config value .1auto. for .aninvalid.unit. in file .git/config: invalid unit" actual ' test_expect_success 'invalid stdin config' ' - echo "fatal: bad config line 1 in standard input " >expect && echo "[broken" | test_must_fail git config --list --file - >output 2>&1 && - test_cmp expect output + test_i18ngrep "bad config line 1 in standard input" output ' cat > expect << EOF -- cgit v1.2.1 From 45bf32971c067a542024a1b5f47fc26237baa713 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Wed, 23 Mar 2016 11:55:13 +0100 Subject: t1300: fix the new --show-origin tests on Windows On Windows, we have that funny situation where the test script can refer to POSIX paths because it runs in a shell that uses a POSIX emulation layer ("MSYS2 runtime"). Yet, git.exe does *not* understand POSIX paths at all but only pure Windows paths. So let's just convert the POSIX paths to Windows paths before passing them on to Git, using `pwd` (which is already modified on Windows to output Windows paths). While fixing the new tests on Windows, we also have to exclude the tests that want to write a file with a name that is illegal on Windows (unfortunately, there is more than one test trying to make use of that file). Signed-off-by: Johannes Schindelin Signed-off-by: Junio C Hamano --- t/t1300-repo-config.sh | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 't') diff --git a/t/t1300-repo-config.sh b/t/t1300-repo-config.sh index dca27a3880..6767da87cb 100755 --- a/t/t1300-repo-config.sh +++ b/t/t1300-repo-config.sh @@ -1205,6 +1205,9 @@ test_expect_success POSIXPERM,PERL 'preserves existing permissions' ' "die q(badrename) if ((stat(q(.git/config)))[2] & 07777) != 0600" ' +! test_have_prereq MINGW || +HOME="$(pwd)" # convert to Windows path + test_expect_success 'set up --show-origin tests' ' INCLUDE_DIR="$HOME/include" && mkdir -p "$INCLUDE_DIR" && @@ -1304,7 +1307,7 @@ test_expect_success 'set up custom config file' ' EOF ' -test_expect_success '--show-origin escape special file name characters' ' +test_expect_success !MINGW '--show-origin escape special file name characters' ' cat >expect <<-\EOF && file:"file\" (dq) and spaces.conf" user.custom=true EOF @@ -1333,7 +1336,7 @@ test_expect_success '--show-origin stdin with file include' ' test_cmp expect output ' -test_expect_success '--show-origin blob' ' +test_expect_success !MINGW '--show-origin blob' ' cat >expect <<-\EOF && blob:a9d9f9e555b5c6f07cbe09d3f06fe3df11e09c08 user.custom=true EOF @@ -1342,7 +1345,7 @@ test_expect_success '--show-origin blob' ' test_cmp expect output ' -test_expect_success '--show-origin blob ref' ' +test_expect_success !MINGW '--show-origin blob ref' ' cat >expect <<-\EOF && blob:"master:file\" (dq) and spaces.conf" user.custom=true EOF -- cgit v1.2.1 From 8257d3b458f0b64516f4aee66a9b2b2df30744e1 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Wed, 23 Mar 2016 11:55:20 +0100 Subject: mingw: skip some tests in t9115 due to file name issues MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit These two tests wanted to write file names which are incompatible with Windows' file naming rules (even if they pass using Cygwin due to Cygwin's magic path mangling). While at it, skip the same tests also on MacOSX/HFS, as pointed out by Torsten Bögershausen. Signed-off-by: Johannes Schindelin Signed-off-by: Torsten Bögershausen Reviewed-by: Jonathan Nieder Signed-off-by: Junio C Hamano --- t/t9115-git-svn-dcommit-funky-renames.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 't') diff --git a/t/t9115-git-svn-dcommit-funky-renames.sh b/t/t9115-git-svn-dcommit-funky-renames.sh index 0990f8d235..a87d3d3fc1 100755 --- a/t/t9115-git-svn-dcommit-funky-renames.sh +++ b/t/t9115-git-svn-dcommit-funky-renames.sh @@ -93,7 +93,7 @@ test_expect_success 'git svn rebase works inside a fresh-cloned repository' ' # > to special UNICODE characters in the range 0xf000 to 0xf0ff (the # > "Private use area") when creating or accessing files. prepare_a_utf8_locale -test_expect_success UTF8 'svn.pathnameencoding=cp932 new file on dcommit' ' +test_expect_success UTF8,!MINGW,!UTF8_NFD_TO_NFC 'svn.pathnameencoding=cp932 new file on dcommit' ' LC_ALL=$a_utf8_locale && export LC_ALL && neq=$(printf "\201\202") && @@ -105,7 +105,7 @@ test_expect_success UTF8 'svn.pathnameencoding=cp932 new file on dcommit' ' ' # See the comment on the above test for setting of LC_ALL. -test_expect_success 'svn.pathnameencoding=cp932 rename on dcommit' ' +test_expect_success !MINGW,!UTF8_NFD_TO_NFC 'svn.pathnameencoding=cp932 rename on dcommit' ' LC_ALL=$a_utf8_locale && export LC_ALL && inf=$(printf "\201\207") && -- cgit v1.2.1