variable PG_TEST_EXTRA to a whitespace-separated list,
for example:
-make check-world PG_TEST_EXTRA='kerberos ldap ssl load_balance'
+make check-world PG_TEST_EXTRA='kerberos ldap ssl load_balance libpq_encryption'
The following values are currently supported:
+
+ libpq_encryption
+
+ Runs the test src/interfaces/libpq/t/005_negotiate_encryption.pl.
+ This opens TCP/IP listen sockets. If PG_TEST_EXTRA
+ also includes kerberos, additional tests that require
+ an MIT Kerberos installation are enabled.
+
+
+
+
wal_consistency_checking
'Potentially unsafe test libpq_encryption not enabled in PG_TEST_EXTRA';
}
-my $ssl_supported = $ENV{with_ssl} eq 'openssl';
+# Only run the GSSAPI tests when compiled with GSSAPI support and
+# PG_TEST_EXTRA includes 'kerberos'
my $gss_supported = $ENV{with_gssapi} eq 'yes';
+my $kerberos_enabled = $ENV{PG_TEST_EXTRA} && $ENV{PG_TEST_EXTRA} =~ /\bkerberos\b/;
+my $ssl_supported = $ENV{with_ssl} eq 'openssl';
###
### Prepare test server for GSSAPI and SSL authentication, with a few
my $krb;
-if ($gss_supported != 0)
+if ($gss_supported != 0 && $kerberos_enabled != 0)
{
note "setting up Kerberos";
print $hba qq{
hostgssenc postgres gssuser $servercidr trust
-} if ($gss_supported != 0);
+} if ($gss_supported != 0 && $kerberos_enabled != 0);
close $hba;
$node->reload;
SKIP:
{
skip "GSSAPI/Kerberos not supported by this build" if $gss_supported == 0;
+ skip "kerberos not enabled in PG_TEST_EXTRA" if $kerberos_enabled == 0;
$krb->create_principal('gssuser', $gssuser_password);
$krb->create_ticket('gssuser', $gssuser_password);
###
SKIP:
{
- skip "GSSAPI/Kerberos or SSL not supported by this build" unless ($ssl_supported && $gss_supported);
+ skip "SSL not supported by this build" if $ssl_supported == 0;
+ skip "GSSAPI/Kerberos not supported by this build" if $gss_supported == 0;
+ skip "kerberos not enabled in PG_TEST_EXTRA" if $kerberos_enabled == 0;
# Sanity check that GSSAPI is still enabled from previous test.
connect_test($node, 'user=testuser gssencmode=prefer sslmode=prefer', 'connect, gssaccept, authok -> gss');