Several other tests skipped for CockroachDB

The only remaining test modules in this branch are test_types_basic/extra.
This commit is contained in:
Daniele Varrazzo 2020-07-22 02:43:19 +01:00
parent a9153ac373
commit c8697e6c67
9 changed files with 34 additions and 14 deletions

View File

@ -33,6 +33,7 @@ import psycopg2.extras
from psycopg2.extensions import POLL_OK, POLL_READ, POLL_WRITE from psycopg2.extensions import POLL_OK, POLL_READ, POLL_WRITE
from .testutils import ConnectingTestCase, skip_before_postgres, slow from .testutils import ConnectingTestCase, skip_before_postgres, slow
from .testutils import skip_if_crdb
class ConnectionStub(object): class ConnectionStub(object):
@ -122,6 +123,7 @@ class GreenTestCase(ConnectingTestCase):
cur.execute, "copy (select 1) to stdout") cur.execute, "copy (select 1) to stdout")
@slow @slow
@skip_if_crdb
@skip_before_postgres(9, 0) @skip_before_postgres(9, 0)
def test_non_block_after_notification(self): def test_non_block_after_notification(self):
def wait(conn): def wait(conn):
@ -216,6 +218,7 @@ class CallbackErrorTestCase(ConnectingTestCase):
self.fail("you should have had a success or an error by now") self.fail("you should have had a success or an error by now")
@skip_if_crdb
def test_errors_named_cursor(self): def test_errors_named_cursor(self):
for i in range(100): for i in range(100):
self.to_error = None self.to_error = None

View File

@ -71,6 +71,7 @@ class NetworkingTestCase(testutils.ConnectingTestCase):
cur.execute("select %s", [ip.ip_interface('::ffff:102:300/128')]) cur.execute("select %s", [ip.ip_interface('::ffff:102:300/128')])
self.assertEquals(cur.fetchone()[0], '::ffff:102:300/128') self.assertEquals(cur.fetchone()[0], '::ffff:102:300/128')
@testutils.skip_if_crdb
def test_cidr_cast(self): def test_cidr_cast(self):
cur = self.conn.cursor() cur = self.conn.cursor()
psycopg2.extras.register_ipaddress(cur) psycopg2.extras.register_ipaddress(cur)
@ -88,6 +89,7 @@ class NetworkingTestCase(testutils.ConnectingTestCase):
self.assert_(isinstance(obj, ip.IPv6Network), repr(obj)) self.assert_(isinstance(obj, ip.IPv6Network), repr(obj))
self.assertEquals(obj, ip.ip_network('::ffff:102:300/128')) self.assertEquals(obj, ip.ip_network('::ffff:102:300/128'))
@testutils.skip_if_crdb
@testutils.skip_before_postgres(8, 2) @testutils.skip_before_postgres(8, 2)
def test_cidr_array_cast(self): def test_cidr_array_cast(self):
cur = self.conn.cursor() cur = self.conn.cursor()

View File

@ -32,13 +32,14 @@ import psycopg2
import psycopg2.extensions import psycopg2.extensions
import unittest import unittest
from .testutils import (decorate_all_tests, skip_if_tpc_disabled, from .testutils import (decorate_all_tests, skip_if_tpc_disabled,
skip_before_postgres, ConnectingTestCase, skip_if_green, slow) skip_before_postgres, ConnectingTestCase, skip_if_green, skip_if_crdb, slow)
skip_if_no_lo = skip_before_postgres(8, 1, def skip_if_no_lo(f):
"large objects only supported from PG 8.1") f = skip_before_postgres(8, 1, "large objects only supported from PG 8.1")(f)
f = skip_if_green("libpq doesn't support LO in async mode")(f)
skip_lo_if_green = skip_if_green("libpq doesn't support LO in async mode") f = skip_if_crdb(f)
return f
class LargeObjectTestCase(ConnectingTestCase): class LargeObjectTestCase(ConnectingTestCase):
@ -67,7 +68,6 @@ class LargeObjectTestCase(ConnectingTestCase):
@skip_if_no_lo @skip_if_no_lo
@skip_lo_if_green
class LargeObjectTests(LargeObjectTestCase): class LargeObjectTests(LargeObjectTestCase):
def test_create(self): def test_create(self):
lo = self.conn.lobject() lo = self.conn.lobject()
@ -413,7 +413,6 @@ def skip_if_no_truncate(f):
@skip_if_no_lo @skip_if_no_lo
@skip_lo_if_green
@skip_if_no_truncate @skip_if_no_truncate
class LargeObjectTruncateTests(LargeObjectTestCase): class LargeObjectTruncateTests(LargeObjectTestCase):
def test_truncate(self): def test_truncate(self):
@ -478,7 +477,6 @@ def skip_if_no_lo64(f):
@skip_if_no_lo @skip_if_no_lo
@skip_lo_if_green
@skip_if_no_truncate @skip_if_no_truncate
@skip_if_no_lo64 @skip_if_no_lo64
class LargeObject64Tests(LargeObjectTestCase): class LargeObject64Tests(LargeObjectTestCase):
@ -506,7 +504,6 @@ def skip_if_lo64(f):
@skip_if_no_lo @skip_if_no_lo
@skip_lo_if_green
@skip_if_no_truncate @skip_if_no_truncate
@skip_if_lo64 @skip_if_lo64
class LargeObjectNot64Tests(LargeObjectTestCase): class LargeObjectNot64Tests(LargeObjectTestCase):

View File

@ -32,7 +32,7 @@ from weakref import ref
import unittest import unittest
from .testutils import (skip_before_postgres, from .testutils import (skip_before_postgres,
ConnectingTestCase, skip_copy_if_green, slow, StringIO) ConnectingTestCase, skip_copy_if_green, skip_if_crdb, slow, StringIO)
import psycopg2 import psycopg2
@ -216,6 +216,7 @@ class ExceptionsTestCase(ConnectingTestCase):
gc.collect() gc.collect()
assert(w() is None) assert(w() is None)
@skip_if_crdb
@skip_copy_if_green @skip_copy_if_green
def test_diagnostics_copy(self): def test_diagnostics_copy(self):
f = StringIO() f = StringIO()
@ -244,6 +245,7 @@ class ExceptionsTestCase(ConnectingTestCase):
self.assertEqual(diag1.sqlstate, '42601') self.assertEqual(diag1.sqlstate, '42601')
self.assertEqual(diag2.sqlstate, '42P01') self.assertEqual(diag2.sqlstate, '42P01')
@skip_if_crdb
def test_diagnostics_from_commit(self): def test_diagnostics_from_commit(self):
cur = self.conn.cursor() cur = self.conn.cursor()
cur.execute(""" cur.execute("""
@ -259,6 +261,7 @@ class ExceptionsTestCase(ConnectingTestCase):
e = exc e = exc
self.assertEqual(e.diag.sqlstate, '23503') self.assertEqual(e.diag.sqlstate, '23503')
@skip_if_crdb
@skip_before_postgres(9, 3) @skip_before_postgres(9, 3)
def test_9_3_diagnostics(self): def test_9_3_diagnostics(self):
cur = self.conn.cursor() cur = self.conn.cursor()
@ -299,6 +302,7 @@ class ExceptionsTestCase(ConnectingTestCase):
self.assertEqual(e.pgcode, e1.pgcode) self.assertEqual(e.pgcode, e1.pgcode)
self.assert_(e1.cursor is None) self.assert_(e1.cursor is None)
@skip_if_crdb
def test_pickle_connection_error(self): def test_pickle_connection_error(self):
# segfaults on psycopg 2.5.1 - see ticket #170 # segfaults on psycopg 2.5.1 - see ticket #170
try: try:

View File

@ -29,7 +29,7 @@ from collections import deque
import psycopg2 import psycopg2
from psycopg2 import extensions from psycopg2 import extensions
from psycopg2.extensions import Notify from psycopg2.extensions import Notify
from .testutils import ConnectingTestCase, slow from .testutils import ConnectingTestCase, skip_if_crdb, slow
from .testconfig import dsn from .testconfig import dsn
import sys import sys
@ -38,6 +38,7 @@ import select
from subprocess import Popen, PIPE from subprocess import Popen, PIPE
@skip_if_crdb
class NotifiesTests(ConnectingTestCase): class NotifiesTests(ConnectingTestCase):
def autocommit(self, conn): def autocommit(self, conn):

View File

@ -25,7 +25,7 @@
from . import testutils from . import testutils
import unittest import unittest
from .testutils import ConnectingTestCase, unichr, PY2 from .testutils import ConnectingTestCase, skip_if_crdb, unichr, PY2
import psycopg2 import psycopg2
import psycopg2.extensions import psycopg2.extensions
@ -121,6 +121,7 @@ class QuotingTestCase(ConnectingTestCase):
self.assertEqual(res, data) self.assertEqual(res, data)
self.assert_(not self.conn.notices) self.assert_(not self.conn.notices)
@skip_if_crdb
def test_latin1(self): def test_latin1(self):
self.conn.set_client_encoding('LATIN1') self.conn.set_client_encoding('LATIN1')
curs = self.conn.cursor() curs = self.conn.cursor()
@ -146,6 +147,7 @@ class QuotingTestCase(ConnectingTestCase):
self.assertEqual(res, data) self.assertEqual(res, data)
self.assert_(not self.conn.notices) self.assert_(not self.conn.notices)
@skip_if_crdb
def test_koi8(self): def test_koi8(self):
self.conn.set_client_encoding('KOI8') self.conn.set_client_encoding('KOI8')
curs = self.conn.cursor() curs = self.conn.cursor()

View File

@ -26,7 +26,8 @@
import datetime as dt import datetime as dt
import unittest import unittest
from .testutils import ( from .testutils import (
ConnectingTestCase, skip_before_postgres, skip_copy_if_green, StringIO) ConnectingTestCase, skip_before_postgres, skip_copy_if_green, StringIO,
skip_if_crdb)
import psycopg2 import psycopg2
from psycopg2 import sql from psycopg2 import sql
@ -151,6 +152,7 @@ class SqlFormatTests(ConnectingTestCase):
self.assertEqual(cur.fetchall(), self.assertEqual(cur.fetchall(),
[(10, 'a', 'b', 'c'), (20, 'd', 'e', 'f')]) [(10, 'a', 'b', 'c'), (20, 'd', 'e', 'f')])
@skip_if_crdb
@skip_copy_if_green @skip_copy_if_green
@skip_before_postgres(8, 2) @skip_before_postgres(8, 2)
def test_copy(self): def test_copy(self):

View File

@ -26,18 +26,22 @@
import threading import threading
import unittest import unittest
from .testutils import ConnectingTestCase, skip_before_postgres, slow from .testutils import ConnectingTestCase, skip_before_postgres, slow
from .testutils import crdb_version, skip_if_crdb
import psycopg2 import psycopg2
from psycopg2.extensions import ( from psycopg2.extensions import (
ISOLATION_LEVEL_SERIALIZABLE, STATUS_BEGIN, STATUS_READY) ISOLATION_LEVEL_SERIALIZABLE, STATUS_BEGIN, STATUS_READY)
@skip_if_crdb
class TransactionTests(ConnectingTestCase): class TransactionTests(ConnectingTestCase):
def setUp(self): def setUp(self):
ConnectingTestCase.setUp(self) ConnectingTestCase.setUp(self)
self.conn.set_isolation_level(ISOLATION_LEVEL_SERIALIZABLE) self.conn.set_isolation_level(ISOLATION_LEVEL_SERIALIZABLE)
curs = self.conn.cursor() curs = self.conn.cursor()
if crdb_version(self.conn) is not None:
self.skipTest("features not supported on CockroachDB")
curs.execute(''' curs.execute('''
CREATE TEMPORARY TABLE table1 ( CREATE TEMPORARY TABLE table1 (
id int PRIMARY KEY id int PRIMARY KEY
@ -92,6 +96,7 @@ class TransactionTests(ConnectingTestCase):
self.assertEqual(curs.fetchone()[0], 1) self.assertEqual(curs.fetchone()[0], 1)
@skip_if_crdb
class DeadlockSerializationTests(ConnectingTestCase): class DeadlockSerializationTests(ConnectingTestCase):
"""Test deadlock and serialization failure errors.""" """Test deadlock and serialization failure errors."""
@ -102,6 +107,8 @@ class DeadlockSerializationTests(ConnectingTestCase):
def setUp(self): def setUp(self):
ConnectingTestCase.setUp(self) ConnectingTestCase.setUp(self)
if crdb_version(self.conn) is not None:
self.skipTest("features not supported on CockroachDB")
curs = self.conn.cursor() curs = self.conn.cursor()
# Drop table if it already exists # Drop table if it already exists

View File

@ -27,7 +27,7 @@ import psycopg2
import psycopg2.extensions as ext import psycopg2.extensions as ext
import unittest import unittest
from .testutils import ConnectingTestCase, skip_before_postgres from .testutils import ConnectingTestCase, skip_before_postgres, skip_if_crdb
class WithTestCase(ConnectingTestCase): class WithTestCase(ConnectingTestCase):
@ -203,6 +203,7 @@ class WithCursorTestCase(WithTestCase):
self.assert_(curs.closed) self.assert_(curs.closed)
self.assert_(closes) self.assert_(closes)
@skip_if_crdb
def test_exception_swallow(self): def test_exception_swallow(self):
# bug #262: __exit__ calls cur.close() that hides the exception # bug #262: __exit__ calls cur.close() that hides the exception
# with another error. # with another error.
@ -216,6 +217,7 @@ class WithCursorTestCase(WithTestCase):
else: else:
self.fail("where is my exception?") self.fail("where is my exception?")
@skip_if_crdb
@skip_before_postgres(8, 2) @skip_before_postgres(8, 2)
def test_named_with_noop(self): def test_named_with_noop(self):
with self.conn.cursor('named'): with self.conn.cursor('named'):