# all of the code used other than OpenSSL. # # psycopg2 is distributed in the hope that it will be useful, but WITHOUT # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or # FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public # License for more details. import psycopg2 from psycopg2.extras import ( PhysicalReplicationConnection, LogicalReplicationConnection, StopReplication) import testconfig from testutils import unittest, ConnectingTestCase from testutils import skip_before_postgres, skip_if_green skip_repl_if_green = skip_if_green("replication not supported in green mode") class ReplicationTestCase(ConnectingTestCase): def setUp(self): super(ReplicationTestCase, self).setUp() self.slot = testconfig.repl_slot self._slots = [] def tearDown(self): # first close all connections, as they might keep the slot(s) active super(ReplicationTestCase, self).tearDown() import time time.sleep(0.025) # sometimes the slot is still active, wait a little
from testutils import (unittest, decorate_all_tests, skip_if_tpc_disabled, ConnectingTestCase, skip_if_green, slow) def skip_if_no_lo(f): @wraps(f) def skip_if_no_lo_(self): if self.conn.server_version < 80100: return self.skipTest("large objects only supported from PG 8.1") else: return f(self) return skip_if_no_lo_ skip_lo_if_green = skip_if_green("libpq doesn't support LO in async mode") class LargeObjectTestCase(ConnectingTestCase): def setUp(self): ConnectingTestCase.setUp(self) self.lo_oid = None self.tmpdir = None def tearDown(self): if self.tmpdir: shutil.rmtree(self.tmpdir, ignore_errors=True) if self.conn.closed: return
import psycopg2.extensions from testutils import (unittest, decorate_all_tests, skip_if_tpc_disabled, ConnectingTestCase, skip_if_green, slow) def skip_if_no_lo(f): @wraps(f) def skip_if_no_lo_(self): if self.conn.server_version < 80100: return self.skipTest("large objects only supported from PG 8.1") else: return f(self) return skip_if_no_lo_ skip_lo_if_green = skip_if_green("libpq doesn't support LO in async mode") class LargeObjectTestCase(ConnectingTestCase): def setUp(self): ConnectingTestCase.setUp(self) self.lo_oid = None self.tmpdir = None def tearDown(self): if self.tmpdir: shutil.rmtree(self.tmpdir, ignore_errors=True) if self.conn.closed: return