Git development
 help / color / mirror / Atom feed
* [PATCH 0/2] mingw: fix perl related test failures
@ 2026-09-13 19:11 Johannes Schindelin via GitGitGadget
  2026-09-13 19:11 ` [PATCH 1/2] t9700: accommodate for MSYS2 Perl reporting as `cygwin` Johannes Schindelin via GitGitGadget
  2026-09-13 19:11 ` [PATCH 2/2] t9129: skip UTF-8 tests on Windows Johannes Schindelin via GitGitGadget
  0 siblings, 2 replies; 3+ messages in thread
From: Johannes Schindelin via GitGitGadget @ 2026-09-13 19:11 UTC (permalink / raw)
  To: git; +Cc: Johannes Schindelin

For performance reasons (and also because we retired support for git svn in
Git for Windows), Perl-related tests are skipped from the CI builds. As can
be expected, this caused some bit-rot.

While this is not exactly -rc1 material, in preparing for Git for Windows
v2.56.0-rc0 I did run the entire test suite on Windows/ARM64 and these were
the only two bugs that needed fixing.

Johannes Schindelin (2):
  t9700: accommodate for MSYS2 Perl reporting as `cygwin`
  t9129: skip UTF-8 tests on Windows

 t/t9129-git-svn-i18n-commitencoding.sh | 4 ++--
 t/t9700/test.pl                        | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)


base-commit: b8242b093d9e941a34460d715e3ce616a34ac3fe
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-2227%2Fdscho%2Ffix-perl-related-test-failures-on-windows-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-2227/dscho/fix-perl-related-test-failures-on-windows-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/2227
-- 
gitgitgadget

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH 1/2] t9700: accommodate for MSYS2 Perl reporting as `cygwin`
  2026-09-13 19:11 [PATCH 0/2] mingw: fix perl related test failures Johannes Schindelin via GitGitGadget
@ 2026-09-13 19:11 ` Johannes Schindelin via GitGitGadget
  2026-09-13 19:11 ` [PATCH 2/2] t9129: skip UTF-8 tests on Windows Johannes Schindelin via GitGitGadget
  1 sibling, 0 replies; 3+ messages in thread
From: Johannes Schindelin via GitGitGadget @ 2026-09-13 19:11 UTC (permalink / raw)
  To: git; +Cc: Johannes Schindelin, Johannes Schindelin

From: Johannes Schindelin <johannes.schindelin@gmx.de>

As of a year or two ago, there is this push to align MSYS2 more closely
with Cygwin, so as to benefit from a closer collaboration. Part of that
is that the triplet `x86_64-pc-cygwin` is used nowadays, whereas it had
been `x86_64-pc-msys` previously. Likewise, Perl now reports `$^O` as
`cygwin` instead of `msys`.

The Perl module test used `msys` as tell-tale when to accommodate for a
native Windows version of `git.exe` which would report absolute
_Windows_ paths rather than those pseudo-Unix paths. We cannot use that
tell-tale anymore, and we also cannot adjust it to `cygwin` because that
would break in Cygwin (where `git.exe` reports absolute pseudo-Unix
paths).

Let's use the environment variable `MSYSTEM` instead (being mindful that
the `MSYSTEM=MSYS` variant would _also_ reflect a setup where `git.exe`
won't report absolute _Windows_ paths).

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
---
 t/t9700/test.pl | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/t/t9700/test.pl b/t/t9700/test.pl
index f83e6169e2..43a6dc266e 100755
--- a/t/t9700/test.pl
+++ b/t/t9700/test.pl
@@ -118,7 +118,7 @@ unlink $tmpfile;
 
 # paths
 my $abs_git_dir = $abs_repo_dir . "/.git";
-if ($^O eq 'msys') {
+if (defined $ENV{MSYSTEM} && $ENV{MSYSTEM} ne 'MSYS') {
   $abs_git_dir = `cygpath -am "$abs_repo_dir/.git"`;
   $abs_git_dir =~ s/\r?\n?$//;
 }
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [PATCH 2/2] t9129: skip UTF-8 tests on Windows
  2026-09-13 19:11 [PATCH 0/2] mingw: fix perl related test failures Johannes Schindelin via GitGitGadget
  2026-09-13 19:11 ` [PATCH 1/2] t9700: accommodate for MSYS2 Perl reporting as `cygwin` Johannes Schindelin via GitGitGadget
@ 2026-09-13 19:11 ` Johannes Schindelin via GitGitGadget
  1 sibling, 0 replies; 3+ messages in thread
From: Johannes Schindelin via GitGitGadget @ 2026-09-13 19:11 UTC (permalink / raw)
  To: git; +Cc: Johannes Schindelin, Johannes Schindelin

From: Johannes Schindelin <johannes.schindelin@gmx.de>

The assumption of this test is that Perl and Git have the same idea how
to perform encoding conversions.

However, in Git for Windows, Git is a native Win32 program, and such
programs have a very different concept of encodings (called "Code
Pages", and they are not controlled via environment variables at all),
whereas the Perl interpreter used in Git for Windows is a pseudo-Unix
one that uses the MSYS2 runtime (which _does_ try very much to abide by
Unix' `LC_ALL` and friends, and totally ignores Windows' current or
active code pages).

As such, these test cases _cannot_ work with Git for Windows. So let's
just skip them on that platform.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
---
 t/t9129-git-svn-i18n-commitencoding.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/t/t9129-git-svn-i18n-commitencoding.sh b/t/t9129-git-svn-i18n-commitencoding.sh
index 01e1e8a8f7..f72a425dc1 100755
--- a/t/t9129-git-svn-i18n-commitencoding.sh
+++ b/t/t9129-git-svn-i18n-commitencoding.sh
@@ -71,7 +71,7 @@ do
 	'
 done
 
-test_expect_success UTF8 'ISO-8859-1 should match UTF-8 in svn' '
+test_expect_success UTF8,!MINGW 'ISO-8859-1 should match UTF-8 in svn' '
 	(
 		cd ISO8859-1 &&
 		compare_svn_head_with "$TEST_DIRECTORY"/t3900/1-UTF-8.txt
@@ -80,7 +80,7 @@ test_expect_success UTF8 'ISO-8859-1 should match UTF-8 in svn' '
 
 for H in eucJP ISO-2022-JP
 do
-	test_expect_success UTF8 "$H should match UTF-8 in svn" '
+	test_expect_success UTF8,!MINGW "$H should match UTF-8 in svn" '
 		(
 			cd $H &&
 			compare_svn_head_with "$TEST_DIRECTORY"/t3900/2-UTF-8.txt
-- 
gitgitgadget

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-09-13 19:11 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-13 19:11 [PATCH 0/2] mingw: fix perl related test failures Johannes Schindelin via GitGitGadget
2026-09-13 19:11 ` [PATCH 1/2] t9700: accommodate for MSYS2 Perl reporting as `cygwin` Johannes Schindelin via GitGitGadget
2026-09-13 19:11 ` [PATCH 2/2] t9129: skip UTF-8 tests on Windows Johannes Schindelin via GitGitGadget

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox