mirror of
https://github.com/postgres/postgres.git
synced 2025-07-20 05:03:10 +03:00
libpq: Add TAP test for nested service file
This test corresponds to the case of a "service" defined in a service file, that libpq is not able to support in parseServiceFile(). This has come up during the review of a patch to add more features in this area, useful on its own. Piece extracted from a larger patch by the same author. Author: Ryo Kanbayashi <kanbayashi.dev@gmail.com> Discussion: https://postgr.es/m/Zz2AE7NKKLIZTtEh@paquier.xyz
This commit is contained in:
@ -47,6 +47,12 @@ my $srvfile_default = "$td/pg_service.conf";
|
|||||||
# Missing service file.
|
# Missing service file.
|
||||||
my $srvfile_missing = "$td/pg_service_missing.conf";
|
my $srvfile_missing = "$td/pg_service_missing.conf";
|
||||||
|
|
||||||
|
# Service file with nested "service" defined.
|
||||||
|
my $srvfile_nested = "$td/pg_service_nested.conf";
|
||||||
|
copy($srvfile_valid, $srvfile_nested)
|
||||||
|
or die "Could not copy $srvfile_valid to $srvfile_nested: $!";
|
||||||
|
append_to_file($srvfile_nested, 'service=invalid_srv' . $newline);
|
||||||
|
|
||||||
# Set the fallback directory lookup of the service file to the temporary
|
# Set the fallback directory lookup of the service file to the temporary
|
||||||
# directory of this test. PGSYSCONFDIR is used if the service file
|
# directory of this test. PGSYSCONFDIR is used if the service file
|
||||||
# defined in PGSERVICEFILE cannot be found, or when a service file is
|
# defined in PGSERVICEFILE cannot be found, or when a service file is
|
||||||
@ -146,6 +152,17 @@ local $ENV{PGSERVICEFILE} = "$srvfile_empty";
|
|||||||
unlink($srvfile_default);
|
unlink($srvfile_default);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Checks nested service file contents.
|
||||||
|
{
|
||||||
|
local $ENV{PGSERVICEFILE} = $srvfile_nested;
|
||||||
|
|
||||||
|
$dummy_node->connect_fails(
|
||||||
|
'service=my_srv',
|
||||||
|
'connection with nested service file',
|
||||||
|
expected_stderr =>
|
||||||
|
qr/nested service specifications not supported in service file/);
|
||||||
|
}
|
||||||
|
|
||||||
$node->teardown_node;
|
$node->teardown_node;
|
||||||
|
|
||||||
done_testing();
|
done_testing();
|
||||||
|
Reference in New Issue
Block a user