1
0
mirror of https://github.com/postgres/postgres.git synced 2025-06-14 18:42:34 +03:00

postgres_fdw: Fix tests on some Windows variants

The tests introduced by commit 76563f88cf only work when Unix-domain
sockets are available.  This is optional on Windows, and buildfarm
member drongo runs without them.  To fix, skip the test if Unix-domain
sockets are not enabled.
This commit is contained in:
Peter Eisentraut
2025-03-26 06:56:52 +01:00
parent bde2fb797a
commit d2028e9bbc

View File

@ -68,46 +68,51 @@ test_fdw_auth($node1, $db0, "t2", $fdw_server2,
test_auth($node2, $db2, "t2", test_auth($node2, $db2, "t2",
"SCRAM auth directly on foreign server should still succeed"); "SCRAM auth directly on foreign server should still succeed");
# Ensure that trust connections fail without superuser opt-in. SKIP:
unlink($node1->data_dir . '/pg_hba.conf'); {
unlink($node2->data_dir . '/pg_hba.conf'); skip "test requires Unix-domain sockets", 4 if !$use_unix_sockets;
$node1->append_conf( # Ensure that trust connections fail without superuser opt-in.
'pg_hba.conf', qq{ unlink($node1->data_dir . '/pg_hba.conf');
unlink($node2->data_dir . '/pg_hba.conf');
$node1->append_conf(
'pg_hba.conf', qq{
local db0 all scram-sha-256 local db0 all scram-sha-256
local db1 all trust local db1 all trust
} }
); );
$node2->append_conf( $node2->append_conf(
'pg_hba.conf', qq{ 'pg_hba.conf', qq{
local all all password local all all password
} }
); );
$node1->restart; $node1->restart;
$node2->restart; $node2->restart;
my ($ret, $stdout, $stderr) = $node1->psql( my ($ret, $stdout, $stderr) = $node1->psql(
$db0, $db0,
qq'select count(1) from t', qq'select count(1) from t',
connstr => $node1->connstr($db0) . " user=$user"); connstr => $node1->connstr($db0) . " user=$user");
is($ret, 3, 'loopback trust fails on the same cluster'); is($ret, 3, 'loopback trust fails on the same cluster');
like( like(
$stderr, $stderr,
qr/failed: authentication method requirement "scram-sha-256"/, qr/failed: authentication method requirement "scram-sha-256"/,
'expected error from loopback trust (same cluster)'); 'expected error from loopback trust (same cluster)');
($ret, $stdout, $stderr) = $node1->psql( ($ret, $stdout, $stderr) = $node1->psql(
$db0, $db0,
qq'select count(1) from t2', qq'select count(1) from t2',
connstr => $node1->connstr($db0) . " user=$user"); connstr => $node1->connstr($db0) . " user=$user");
is($ret, 3, 'loopback password fails on a different cluster'); is($ret, 3, 'loopback password fails on a different cluster');
like( like(
$stderr, $stderr,
qr/failed: authentication method requirement "scram-sha-256"/, qr/failed: authentication method requirement "scram-sha-256"/,
'expected error from loopback password (different cluster)'); 'expected error from loopback password (different cluster)');
}
# Helper functions # Helper functions