]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
- cx_oracle test for "unicode returns" needs to be cx_oracle only,
authorMike Bayer <mike_mp@zzzcomputing.com>
Thu, 6 Mar 2014 16:57:54 +0000 (11:57 -0500)
committerMike Bayer <mike_mp@zzzcomputing.com>
Thu, 6 Mar 2014 16:57:54 +0000 (11:57 -0500)
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.

README.unittests.rst
lib/sqlalchemy/testing/exclusions.py
lib/sqlalchemy/testing/plugin/plugin_base.py
test/dialect/test_oracle.py

index 0ddffaa68b37406216fdc031fa96f02d2aecf416..1ab4e9536b67256b772a52bb3560ff8dd304100d 100644 (file)
@@ -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
 
index 9a713adaab6fc1e89bd4a5006a1223e759fb7fda..bcd593708a2d0a0957c5047479ed05dc8f38f791 100644 (file)
@@ -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):
index 6a2814109e1bdf9922972dad2476d54acc8850ea..b8a0fae969155d875798043a26734a24a149dc3e 100644 (file)
@@ -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
index 660a2a5e9a72835c3552228a5c917f0f81558893..7e8ddffcd9718d5f0f386ef763e342c4c00c853c 100644 (file)
@@ -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")