summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2015-05-15 21:18:18 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2015-05-15 21:18:18 -0400
commit5ca14954b89a218e879f6833bb811b88ea537242 (patch)
tree1fec5efc9cf14a342289c6993e304279dcb5b459
parentd178707ecaeb547470e2b7b37b9a939abc69cbd0 (diff)
downloadsqlalchemy-5ca14954b89a218e879f6833bb811b88ea537242.tar.gz
- pg8000 wants to raise a ProgrammingError for a PK violation
-rw-r--r--lib/sqlalchemy/testing/requirements.py8
-rw-r--r--lib/sqlalchemy/testing/suite/test_dialect.py2
-rw-r--r--test/requirements.py4
3 files changed, 14 insertions, 0 deletions
diff --git a/lib/sqlalchemy/testing/requirements.py b/lib/sqlalchemy/testing/requirements.py
index 32465c47d..e8b3a995f 100644
--- a/lib/sqlalchemy/testing/requirements.py
+++ b/lib/sqlalchemy/testing/requirements.py
@@ -342,6 +342,14 @@ class SuiteRequirements(Requirements):
return exclusions.open()
@property
+ def duplicate_key_raises_integrity_error(self):
+ """target dialect raises IntegrityError when reporting an INSERT
+ with a primary key violation. (hint: it should)
+
+ """
+ return exclusions.open()
+
+ @property
def unbounded_varchar(self):
"""Target database must support VARCHAR with no length"""
diff --git a/lib/sqlalchemy/testing/suite/test_dialect.py b/lib/sqlalchemy/testing/suite/test_dialect.py
index 5ad5694b3..00884a212 100644
--- a/lib/sqlalchemy/testing/suite/test_dialect.py
+++ b/lib/sqlalchemy/testing/suite/test_dialect.py
@@ -1,4 +1,5 @@
from .. import fixtures, config
+from ..config import requirements
from sqlalchemy import exc
from sqlalchemy import Integer, String
from .. import assert_raises
@@ -23,6 +24,7 @@ class ExceptionTest(fixtures.TablesTest):
Column('data', String(50))
)
+ @requirements.duplicate_key_raises_integrity_error
def test_integrity_error(self):
with config.db.begin() as conn:
diff --git a/test/requirements.py b/test/requirements.py
index 77d941a67..e993be2e7 100644
--- a/test/requirements.py
+++ b/test/requirements.py
@@ -669,6 +669,10 @@ class DefaultRequirements(SuiteRequirements):
)
@property
+ def duplicate_key_raises_integrity_error(self):
+ return fails_on("postgresql+pg8000")
+
+ @property
def python2(self):
return skip_if(
lambda: sys.version_info >= (3,),