From 69852595d89da821cef980f06fa58a39d7db0b04 Mon Sep 17 00:00:00 2001 From: Kris Wehner Date: Thu, 5 Jan 2017 10:25:48 -0800 Subject: [PATCH] Properly make the replication tests skippable on 9.5 and below --- conn_config_test.go.example | 1 + conn_config_test.go.travis | 10 ++++++++++ replication_test.go | 13 +++++++------ 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/conn_config_test.go.example b/conn_config_test.go.example index 0b80d490..6deedd90 100644 --- a/conn_config_test.go.example +++ b/conn_config_test.go.example @@ -14,6 +14,7 @@ var plainPasswordConnConfig *pgx.ConnConfig = nil var invalidUserConnConfig *pgx.ConnConfig = nil var tlsConnConfig *pgx.ConnConfig = nil var customDialerConnConfig *pgx.ConnConfig = nil +var replicationConfig *pgx.ConnConfig = nil // var tcpConnConfig *pgx.ConnConfig = &pgx.ConnConfig{Host: "127.0.0.1", User: "pgx_md5", Password: "secret", Database: "pgx_test"} // var unixSocketConnConfig *pgx.ConnConfig = &pgx.ConnConfig{Host: "/private/tmp", User: "pgx_none", Database: "pgx_test"} diff --git a/conn_config_test.go.travis b/conn_config_test.go.travis index 2b2691de..f8fb4260 100644 --- a/conn_config_test.go.travis +++ b/conn_config_test.go.travis @@ -3,6 +3,8 @@ package pgx_test import ( "crypto/tls" "github.com/jackc/pgx" + "os" + "strconv" ) var defaultConnConfig = &pgx.ConnConfig{Host: "127.0.0.1", User: "pgx_md5", Password: "secret", Database: "pgx_test"} @@ -13,3 +15,11 @@ var plainPasswordConnConfig = &pgx.ConnConfig{Host: "127.0.0.1", User: "pgx_pw", var invalidUserConnConfig = &pgx.ConnConfig{Host: "127.0.0.1", User: "invalid", Database: "pgx_test"} var tlsConnConfig = &pgx.ConnConfig{Host: "127.0.0.1", User: "pgx_ssl", Password: "secret", Database: "pgx_test", TLSConfig: &tls.Config{InsecureSkipVerify: true}} var customDialerConnConfig = &pgx.ConnConfig{Host: "127.0.0.1", User: "pgx_md5", Password: "secret", Database: "pgx_test"} +var pgVersion = os.getenv("PGVERSION") +var replicationConfig *pgx.ConnConfig = nil +if len(pgVersion) > 0 { + version, err := strconv.ParseFloat(pgVersion) + if err == nil && version >= 9.6 { + replicationConfig = &pgx.ConnConfig{Host: "127.0.0.1", User: "pgx_replication", Password: "secret", Database: "pgx_test"} + } +} diff --git a/replication_test.go b/replication_test.go index b86da951..789bb27d 100644 --- a/replication_test.go +++ b/replication_test.go @@ -41,19 +41,20 @@ func TestSimpleReplicationConnection(t *testing.T) { var err error var replicationUserConfig pgx.ConnConfig - var replicationConnConfig pgx.ConnConfig - replicationUserConfig = *defaultConnConfig - replicationUserConfig.User = "pgx_replication" + // /.s.PGSQL.5432 + if replicationConnConfig == nil { + t.Skip("Skipping due to undefined replicationConnConfig") + } + + replicationUserConfig = *replicationConnConfig conn := mustConnect(t, replicationUserConfig) defer closeConn(t, conn) - replicationConnConfig = *defaultConnConfig - replicationConnConfig.User = "pgx_replication" replicationConnConfig.RuntimeParams = make(map[string]string) replicationConnConfig.RuntimeParams["replication"] = "database" - replicationConn := mustConnect(t, replicationConnConfig) + replicationConn := mustConnect(t, *replicationConnConfig) defer closeConn(t, replicationConn) _, err = replicationConn.Exec("CREATE_REPLICATION_SLOT pgx_test LOGICAL test_decoding")