Update the SSL test suite for recent changes to TAP testing framework.
authorRobert Haas <rhaas@postgresql.org>
Wed, 2 Sep 2015 20:21:38 +0000 (16:21 -0400)
committerRobert Haas <rhaas@postgresql.org>
Wed, 2 Sep 2015 20:21:38 +0000 (16:21 -0400)
listen_addresses needs to be handled differently now, and so does
logging.

Michael Paquier

src/test/ssl/ServerSetup.pm
src/test/ssl/t/001_ssltests.pl

index a8228b04c0ffe01b5d03c03ffae3d02138111ff6..a6c77b5c80a5003da8ca59af89734e77e2d7d315 100644 (file)
@@ -45,7 +45,8 @@ sub copy_files
 
 sub configure_test_server_for_ssl
 {
-   my $tempdir = $_[0];
+   my $tempdir    = $_[0];
+   my $serverhost = $_[1];
 
    # Create test users and databases
    psql 'postgres', "CREATE USER ssltestuser";
@@ -58,6 +59,7 @@ sub configure_test_server_for_ssl
    print CONF "fsync=off\n";
    print CONF "log_connections=on\n";
    print CONF "log_hostname=on\n";
+   print CONF "listen_addresses='$serverhost'\n";
    print CONF "log_statement=all\n";
 
    # enable SSL and set up server key
@@ -80,11 +82,11 @@ sub configure_test_server_for_ssl
    print HBA
 "# TYPE  DATABASE        USER            ADDRESS                 METHOD\n";
    print HBA
-"hostssl trustdb         ssltestuser     127.0.0.1/32            trust\n";
+"hostssl trustdb         ssltestuser     $serverhost/32            trust\n";
    print HBA
 "hostssl trustdb         ssltestuser     ::1/128                 trust\n";
    print HBA
-"hostssl certdb          ssltestuser     127.0.0.1/32            cert\n";
+"hostssl certdb          ssltestuser     $serverhost/32            cert\n";
    print HBA
 "hostssl certdb          ssltestuser     ::1/128                 cert\n";
    close HBA;
@@ -107,10 +109,6 @@ sub switch_server_cert
    print SSLCONF "ssl_crl_file='root+client.crl'\n";
    close SSLCONF;
 
-   # Stop and restart server to reload the new config. We cannot use
-   # restart_test_server() because that overrides listen_addresses to only all
-   # Unix domain socket connections.
-
-   system_or_bail 'pg_ctl', 'stop', '-D', "$tempdir/pgdata";
-   system_or_bail 'pg_ctl', 'start', '-D', "$tempdir/pgdata", '-w';
+   # Stop and restart server to reload the new config.
+   restart_test_server();
 }
index 5d24d8de520232167bbb98309b3a1e553682d845..0d6f339335d3bfe4b4cb49a8480b9a6d01348a16 100644 (file)
@@ -27,9 +27,6 @@ my $SERVERHOSTADDR = '127.0.0.1';
 
 my $tempdir = TestLib::tempdir;
 
-#my $tempdir = "tmp_check";
-
-
 # Define a couple of helper functions to test connecting to the server.
 
 my $common_connstr;
@@ -43,12 +40,7 @@ sub run_test_psql
        'psql', '-A', '-t', '-c', "SELECT 'connected with $connstr'",
        '-d', "$connstr" ];
 
-   open CLIENTLOG, ">>$tempdir/client-log"
-     or die "Could not open client-log file";
-   print CLIENTLOG "\n# Running test: $connstr $logstring\n";
-   close CLIENTLOG;
-
-   my $result = run $cmd, '>>', "$tempdir/client-log", '2>&1';
+   my $result = run_log($cmd);
    return $result;
 }
 
@@ -84,7 +76,7 @@ chmod 0600, "ssl/client.key";
 
 diag "setting up data directory in \"$tempdir\"...";
 start_test_server($tempdir);
-configure_test_server_for_ssl($tempdir);
+configure_test_server_for_ssl($tempdir, $SERVERHOSTADDR);
 switch_server_cert($tempdir, 'server-cn-only');
 
 ### Part 1. Run client-side tests.