diff --git a/src/bin/pg_basebackup/t/010_pg_basebackup.pl b/src/bin/pg_basebackup/t/010_pg_basebackup.pl
index 4dbf8ca5224..5fa0caa3053 100644
--- a/src/bin/pg_basebackup/t/010_pg_basebackup.pl
+++ b/src/bin/pg_basebackup/t/010_pg_basebackup.pl
@@ -92,7 +92,7 @@ unlink "$tempdir/pgdata/$superlongname";
 # The following tests test symlinks. Windows doesn't have symlinks, so
 # skip on Windows.
 SKIP: {
-    skip "symlinks not supported on Windows", 10 if ($Config{osname} eq "MSWin32");
+    skip "symlinks not supported on Windows", 10 if ($windows_os);
 
 	# Create a temporary directory in the system location and symlink it
 	# to our physical temp location.  That way we can use shorter names
diff --git a/src/bin/pg_ctl/t/001_start_stop.pl b/src/bin/pg_ctl/t/001_start_stop.pl
index 015e4d8931c..dae47a80135 100644
--- a/src/bin/pg_ctl/t/001_start_stop.pl
+++ b/src/bin/pg_ctl/t/001_start_stop.pl
@@ -20,7 +20,7 @@ command_ok(
 		"$tempdir/data" ],
 	'configure authentication');
 open CONF, ">>$tempdir/data/postgresql.conf";
-if ($Config{osname} ne "MSWin32")
+if (! $windows_os)
 {
 	print CONF "listen_addresses = ''\n";
 	print CONF "unix_socket_directories = '$tempdir_short'\n";
diff --git a/src/test/perl/TestLib.pm b/src/test/perl/TestLib.pm
index 6677a57990c..8fd6f2c92a8 100644
--- a/src/test/perl/TestLib.pm
+++ b/src/test/perl/TestLib.pm
@@ -30,6 +30,7 @@ our @EXPORT = qw(
 
   $tmp_check
   $log_path
+  $windows_os
 );
 
 use Cwd;
@@ -42,6 +43,8 @@ use SimpleTee;
 
 use Test::More;
 
+our $windows_os = $Config{osname} eq 'MSWin32' || $Config{osname} eq 'msys';
+
 # Open log file. For each test, the log file name uses the name of the
 # file launching this module, without the .pl suffix.
 our ($tmp_check, $log_path);
@@ -140,7 +143,7 @@ sub standard_initdb
 
 	open CONF, ">>$pgdata/postgresql.conf";
 	print CONF "\n# Added by TestLib.pm)\n";
-	if ($Config{osname} eq "MSWin32")
+	if ($windows_os)
 	{
 		print CONF "listen_addresses = '127.0.0.1'\n";
 	}
@@ -151,7 +154,7 @@ sub standard_initdb
 	}
 	close CONF;
 
-	$ENV{PGHOST}         = ($Config{osname} eq "MSWin32") ? "127.0.0.1" : $tempdir_short;
+	$ENV{PGHOST}         = $windows_os ? "127.0.0.1" : $tempdir_short;
 }
 
 # Set up the cluster to allow replication connections, in the same way that
@@ -162,7 +165,7 @@ sub configure_hba_for_replication
 
 	open HBA, ">>$pgdata/pg_hba.conf";
 	print HBA "\n# Allow replication (set up by TestLib.pm)\n";
-	if ($Config{osname} ne "MSWin32")
+	if (! $windows_os)
 	{
 		print HBA "local replication all trust\n";
 	}