summaryrefslogtreecommitdiff
path: root/tests/testutils.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/testutils.py')
-rw-r--r--tests/testutils.py14
1 files changed, 13 insertions, 1 deletions
diff --git a/tests/testutils.py b/tests/testutils.py
index d0a34bc..9347735 100644
--- a/tests/testutils.py
+++ b/tests/testutils.py
@@ -122,13 +122,25 @@ class ConnectingTestCase(unittest.TestCase):
Should raise a skip test if not available, but guard for None on
old Python versions.
"""
+ if repl_dsn is None:
+ return self.skipTest("replication tests disabled by default")
+
if 'dsn' not in kwargs:
kwargs['dsn'] = repl_dsn
import psycopg2
try:
conn = self.connect(**kwargs)
+ if conn.async == 1:
+ self.wait(conn)
except psycopg2.OperationalError, e:
- return self.skipTest("replication db not configured: %s" % e)
+ # If pgcode is not set it is a genuine connection error
+ # Otherwise we tried to run some bad operation in the connection
+ # (e.g. bug #482) and we'd rather know that.
+ if e.pgcode is None:
+ return self.skipTest("replication db not configured: %s" % e)
+ else:
+ raise
+
return conn
def _get_conn(self):