summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2014-03-06 11:57:54 -0500
committerMike Bayer <mike_mp@zzzcomputing.com>2014-03-06 11:57:54 -0500
commita4e84a154c51192c210cfe01088d0bf9da2eceda (patch)
tree011dbd5a0e54a376ffba5b1fe03eb993dad289e9
parent4175ca20508b0141c56560f4eae029c664213b79 (diff)
downloadsqlalchemy-a4e84a154c51192c210cfe01088d0bf9da2eceda.tar.gz
- cx_oracle test for "unicode returns" needs to be cx_oracle only,
and also will fail on py3k. - enhance exclusions so that a requirement attribute can be passed to fails_if/skip_if. - fix coverage docs to mention pytest.
-rw-r--r--README.unittests.rst5
-rw-r--r--lib/sqlalchemy/testing/exclusions.py4
-rw-r--r--lib/sqlalchemy/testing/plugin/plugin_base.py1
-rw-r--r--test/dialect/test_oracle.py4
4 files changed, 9 insertions, 5 deletions
diff --git a/README.unittests.rst b/README.unittests.rst
index 0ddffaa68..1ab4e9536 100644
--- a/README.unittests.rst
+++ b/README.unittests.rst
@@ -266,8 +266,9 @@ statement execution.
BUILT-IN COVERAGE REPORTING
------------------------------
-Coverage is tracked using Nose's coverage plugin. See the nose
-documentation for details. Basic usage is::
+Coverage is tracked using the coverage plugins built for pytest or nose::
+
+ $ py.test test/sql/test_query --cov=sqlalchemy
$ ./sqla_nose.py test.sql.test_query --with-coverage
diff --git a/lib/sqlalchemy/testing/exclusions.py b/lib/sqlalchemy/testing/exclusions.py
index 9a713adaa..bcd593708 100644
--- a/lib/sqlalchemy/testing/exclusions.py
+++ b/lib/sqlalchemy/testing/exclusions.py
@@ -6,7 +6,7 @@
import operator
-from nose import SkipTest
+from .plugin.plugin_base import SkipTest
from ..util import decorator
from . import config
from .. import util
@@ -98,7 +98,7 @@ class Predicate(object):
@classmethod
def as_predicate(cls, predicate):
if isinstance(predicate, skip_if):
- return predicate.predicate
+ return NotPredicate(predicate.predicate)
elif isinstance(predicate, Predicate):
return predicate
elif isinstance(predicate, list):
diff --git a/lib/sqlalchemy/testing/plugin/plugin_base.py b/lib/sqlalchemy/testing/plugin/plugin_base.py
index 6a2814109..b8a0fae96 100644
--- a/lib/sqlalchemy/testing/plugin/plugin_base.py
+++ b/lib/sqlalchemy/testing/plugin/plugin_base.py
@@ -114,7 +114,6 @@ def post_begin():
global util, fixtures, engines, exclusions, \
assertions, warnings, profiling,\
config, testing
- from sqlalchemy import testing
from sqlalchemy.testing import fixtures, engines, exclusions, \
assertions, warnings, profiling, config
from sqlalchemy import util
diff --git a/test/dialect/test_oracle.py b/test/dialect/test_oracle.py
index 660a2a5e9..7e8ddffcd 100644
--- a/test/dialect/test_oracle.py
+++ b/test/dialect/test_oracle.py
@@ -1226,6 +1226,10 @@ class TypesTest(fixtures.TestBase):
value = testing.db.scalar("SELECT 5.66 FROM DUAL")
assert isinstance(value, decimal.Decimal)
+ @testing.only_on("oracle+cx_oracle", "cx_oracle-specific feature")
+ @testing.fails_if(
+ testing.requires.python3,
+ "cx_oracle always returns unicode on py3k")
def test_coerce_to_unicode(self):
engine = testing_engine(options=dict(coerce_to_unicode=True))
value = engine.scalar("SELECT 'hello' FROM DUAL")