]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
trying different approaches to test layout. in this one, the testing modules
authorMike Bayer <mike_mp@zzzcomputing.com>
Thu, 27 Sep 2012 06:37:33 +0000 (02:37 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Thu, 27 Sep 2012 06:37:33 +0000 (02:37 -0400)
become an externally usable package but still remains within the main sqlalchemy parent package.
in this system, we use kind of an ugly hack to get the noseplugin imported outside of the
"sqlalchemy" package, while still making it available within sqlalchemy for usage by
third party libraries.

168 files changed:
lib/sqlalchemy/testing/__init__.py [moved from test/lib/testing.py with 77% similarity]
lib/sqlalchemy/testing/assertions.py [moved from test/lib/assertions.py with 99% similarity]
lib/sqlalchemy/testing/assertsql.py [moved from test/lib/assertsql.py with 100% similarity]
lib/sqlalchemy/testing/config.py [new file with mode: 0644]
lib/sqlalchemy/testing/engines.py [moved from test/lib/engines.py with 98% similarity]
lib/sqlalchemy/testing/entities.py [moved from test/lib/entities.py with 100% similarity]
lib/sqlalchemy/testing/exclusions.py [moved from test/lib/exclusions.py with 96% similarity]
lib/sqlalchemy/testing/fixtures.py [moved from test/lib/fixtures.py with 99% similarity]
lib/sqlalchemy/testing/pickleable.py [moved from test/lib/pickleable.py with 100% similarity]
lib/sqlalchemy/testing/plugin/__init__.py [moved from test/bootstrap/__init__.py with 100% similarity]
lib/sqlalchemy/testing/plugin/config.py [moved from test/bootstrap/config.py with 88% similarity]
lib/sqlalchemy/testing/plugin/noseplugin.py [moved from test/bootstrap/noseplugin.py with 90% similarity]
lib/sqlalchemy/testing/profiling.py [moved from test/lib/profiling.py with 98% similarity]
lib/sqlalchemy/testing/requirements.py [new file with mode: 0644]
lib/sqlalchemy/testing/schema.py [moved from test/lib/schema.py with 98% similarity]
lib/sqlalchemy/testing/suite/__init__.py [new file with mode: 0644]
lib/sqlalchemy/testing/suite/requirements.py [new file with mode: 0644]
lib/sqlalchemy/testing/suite/test_ddl.py [new file with mode: 0644]
lib/sqlalchemy/testing/suite/test_reflection.py [new file with mode: 0644]
lib/sqlalchemy/testing/suite/test_sequencing.py [new file with mode: 0644]
lib/sqlalchemy/testing/util.py [moved from test/lib/util.py with 98% similarity]
lib/sqlalchemy/testing/warnings.py [moved from test/lib/warnings.py with 96% similarity]
setup.cfg
sqla_nose.py
test/aaa_profiling/test_compiler.py
test/aaa_profiling/test_memusage.py
test/aaa_profiling/test_orm.py
test/aaa_profiling/test_pool.py
test/aaa_profiling/test_resultset.py
test/aaa_profiling/test_zoomark.py
test/aaa_profiling/test_zoomark_orm.py
test/base/test_dependency.py
test/base/test_events.py
test/base/test_except.py
test/base/test_inspect.py
test/base/test_utils.py
test/dialect/test_access.py
test/dialect/test_firebird.py
test/dialect/test_informix.py
test/dialect/test_maxdb.py
test/dialect/test_mssql.py
test/dialect/test_mxodbc.py
test/dialect/test_mysql.py
test/dialect/test_oracle.py
test/dialect/test_postgresql.py
test/dialect/test_pyodbc.py
test/dialect/test_sqlite.py
test/dialect/test_suite.py [new file with mode: 0644]
test/dialect/test_sybase.py
test/engine/test_bind.py
test/engine/test_ddlevents.py
test/engine/test_execute.py
test/engine/test_parseconnect.py
test/engine/test_pool.py
test/engine/test_processors.py
test/engine/test_reconnect.py
test/engine/test_reflection.py
test/engine/test_transaction.py
test/ex/test_examples.py
test/ext/declarative/test_basic.py
test/ext/declarative/test_clsregistry.py
test/ext/declarative/test_inheritance.py
test/ext/declarative/test_mixin.py
test/ext/declarative/test_reflection.py
test/ext/test_associationproxy.py
test/ext/test_compiler.py
test/ext/test_extendedattr.py
test/ext/test_horizontal_shard.py
test/ext/test_hybrid.py
test/ext/test_mutable.py
test/ext/test_orderinglist.py
test/ext/test_serializer.py
test/lib/__init__.py [deleted file]
test/orm/_fixtures.py
test/orm/inheritance/_poly_fixtures.py
test/orm/inheritance/test_abc_inheritance.py
test/orm/inheritance/test_abc_polymorphic.py
test/orm/inheritance/test_assorted_poly.py
test/orm/inheritance/test_basic.py
test/orm/inheritance/test_concrete.py
test/orm/inheritance/test_magazine.py
test/orm/inheritance/test_manytomany.py
test/orm/inheritance/test_poly_linked_list.py
test/orm/inheritance/test_poly_persistence.py
test/orm/inheritance/test_polymorphic_rel.py
test/orm/inheritance/test_productspec.py
test/orm/inheritance/test_relationship.py
test/orm/inheritance/test_selects.py
test/orm/inheritance/test_single.py
test/orm/inheritance/test_with_poly.py
test/orm/test_association.py
test/orm/test_assorted_eager.py
test/orm/test_attributes.py
test/orm/test_backref_mutations.py
test/orm/test_bind.py
test/orm/test_cascade.py
test/orm/test_collection.py
test/orm/test_compile.py
test/orm/test_composites.py
test/orm/test_cycles.py
test/orm/test_default_strategies.py
test/orm/test_defaults.py
test/orm/test_deprecations.py
test/orm/test_descriptor.py
test/orm/test_dynamic.py
test/orm/test_eager_relations.py
test/orm/test_evaluator.py
test/orm/test_events.py
test/orm/test_expire.py
test/orm/test_froms.py
test/orm/test_generative.py
test/orm/test_hasparent.py
test/orm/test_immediate_load.py
test/orm/test_inspect.py
test/orm/test_instrumentation.py
test/orm/test_joins.py
test/orm/test_lazy_relations.py
test/orm/test_load_on_fks.py
test/orm/test_lockmode.py
test/orm/test_manytomany.py
test/orm/test_mapper.py
test/orm/test_merge.py
test/orm/test_naturalpks.py
test/orm/test_of_type.py
test/orm/test_onetoone.py
test/orm/test_pickled.py
test/orm/test_query.py
test/orm/test_rel_fn.py
test/orm/test_relationships.py
test/orm/test_scoping.py
test/orm/test_selectable.py
test/orm/test_session.py
test/orm/test_subquery_relations.py
test/orm/test_sync.py
test/orm/test_transaction.py
test/orm/test_unitofwork.py
test/orm/test_unitofworkv2.py
test/orm/test_update_delete.py
test/orm/test_utils.py
test/orm/test_versioning.py
test/perf/insertspeed.py
test/perf/large_flush.py
test/perf/objselectspeed.py
test/perf/objupdatespeed.py
test/perf/ormsession.py
test/perf/sessions.py
test/profiles.txt [moved from test/lib/profiles.txt with 100% similarity]
test/requirements.py [moved from test/lib/requires.py with 98% similarity]
test/sql/test_case_statement.py
test/sql/test_compiler.py
test/sql/test_constraints.py
test/sql/test_cte.py
test/sql/test_defaults.py
test/sql/test_functions.py
test/sql/test_generative.py
test/sql/test_inspect.py
test/sql/test_labels.py
test/sql/test_metadata.py
test/sql/test_operators.py
test/sql/test_query.py
test/sql/test_quote.py
test/sql/test_returning.py
test/sql/test_rowcount.py
test/sql/test_selectable.py
test/sql/test_type_expressions.py
test/sql/test_types.py
test/sql/test_unicode.py
test/sql/test_update.py

similarity index 77%
rename from test/lib/testing.py
rename to lib/sqlalchemy/testing/__init__.py
index f244dfecc354088b9e2e4c329df580d686144f61..415705e93ad6f3e18f0c50de98dfbabfea3c0832 100644 (file)
@@ -2,9 +2,7 @@ from __future__ import absolute_import
 
 from .warnings import testing_warn, assert_warnings, resetwarnings
 
-from ..bootstrap import config
-from . import assertsql, util as testutil
-from sqlalchemy.util import decorator
+from . import config
 
 from .exclusions import db_spec, _is_excluded, fails_if, skip_if, future,\
     fails_on, fails_on_everything_except, skip, only_on, exclude, against,\
@@ -18,8 +16,6 @@ from .util import run_as_contextmanager, rowset, fail, provide_metadata, adict
 
 crashes = skip
 
-# various sugar installed by config.py
-db = None
-requires = None
+from .config import db, requirements as requires
 
 
similarity index 99%
rename from test/lib/assertions.py
rename to lib/sqlalchemy/testing/assertions.py
index 70284799c19d1cd7ef806f7ff01f00285575e309..1e8559c1aae25148d63215910bd28492abb967b3 100644 (file)
@@ -11,7 +11,7 @@ import re
 from .warnings import resetwarnings
 from .exclusions import db_spec, _is_excluded
 from . import assertsql
-from ..bootstrap import config
+from . import config
 import itertools
 from .util import fail
 
diff --git a/lib/sqlalchemy/testing/config.py b/lib/sqlalchemy/testing/config.py
new file mode 100644 (file)
index 0000000..2945bd4
--- /dev/null
@@ -0,0 +1,3 @@
+requirements = None
+db = None
+
similarity index 98%
rename from test/lib/engines.py
rename to lib/sqlalchemy/testing/engines.py
index 1431d5a86083cf45d0b1a56a1195443c459fe7dc..f7401550ec49b3c671070a209a71a2ce3d85fccb 100644 (file)
@@ -3,7 +3,7 @@ from __future__ import absolute_import
 import types
 import weakref
 from collections import deque
-from ..bootstrap import config
+from . import config
 from .util import decorator
 from sqlalchemy import event, pool
 import re
@@ -60,13 +60,12 @@ class ConnectionKiller(object):
             self._stop_test_ctx_aggressive()
 
     def _stop_test_ctx_minimal(self):
-        from test.lib import testing
         self.close_all()
 
         self.conns = set()
 
         for rec in self.testing_engines.keys():
-            if rec is not testing.db:
+            if rec is not config.db:
                 rec.dispose()
 
     def _stop_test_ctx_aggressive(self):
@@ -185,7 +184,7 @@ def testing_engine(url=None, options=None):
     """Produce an engine configured by --options with optional overrides."""
 
     from sqlalchemy import create_engine
-    from test.lib.assertsql import asserter
+    from .assertsql import asserter
 
     if not options:
         use_reaper = True
@@ -193,7 +192,8 @@ def testing_engine(url=None, options=None):
         use_reaper = options.pop('use_reaper', True)
 
     url = url or config.db_url
-    options = options or config.db_opts
+    if options is None:
+        options = config.db_opts
 
     engine = create_engine(url, **options)
     if isinstance(engine.pool, pool.QueuePool):
similarity index 96%
rename from test/lib/exclusions.py
rename to lib/sqlalchemy/testing/exclusions.py
index b3f5e0f7387fb9516ede39af5355893005ebb841..ba2eebe4f76ea7007be7be6737f057780b07868d 100644 (file)
@@ -1,7 +1,7 @@
 import operator
 from nose import SkipTest
 from sqlalchemy.util import decorator
-from ..bootstrap import config
+from . import config
 from sqlalchemy import util
 
 
@@ -104,7 +104,7 @@ class SpecPredicate(Predicate):
         if self.op is not None:
             assert driver is None, "DBAPI version specs not supported yet"
 
-            version = _server_version()
+            version = _server_version(engine)
             oper = hasattr(self.op, '__call__') and self.op \
                         or self._ops[self.op]
             return oper(version, self.spec)
@@ -218,15 +218,12 @@ _as_predicate = Predicate.as_predicate
 def _is_excluded(db, op, spec):
     return SpecPredicate(db, op, spec)()
 
-def _server_version(bind=None):
+def _server_version(engine):
     """Return a server_version_info tuple."""
 
-    if bind is None:
-        bind = config.db
-
     # force metadata to be retrieved
-    conn = bind.connect()
-    version = getattr(bind.dialect, 'server_version_info', ())
+    conn = engine.connect()
+    version = getattr(engine.dialect, 'server_version_info', ())
     conn.close()
     return version
 
@@ -235,6 +232,9 @@ def db_spec(*dbs):
             Predicate.as_predicate(db) for db in dbs
         )
 
+def open(fn):
+    return fn
+
 @decorator
 def future(fn, *args, **kw):
     return fails_if(LambdaPredicate(fn, *args, **kw), "Future feature")
similarity index 99%
rename from test/lib/fixtures.py
rename to lib/sqlalchemy/testing/fixtures.py
index 722b64cfc97c46ed75428d52ef7545748c501439..018276d4d7da43a11aaeefe7b6ab309e108ba633 100644 (file)
@@ -1,4 +1,4 @@
-from ..bootstrap import config
+from . import config
 from . import assertions, schema
 from .util import adict
 from .engines import drop_all_tables
similarity index 88%
rename from test/bootstrap/config.py
rename to lib/sqlalchemy/testing/plugin/config.py
index b0e92d630d329c047b007425197be47b5db4730f..08b9753dc171406e13c1baa4cbca4142f4bba848 100644 (file)
@@ -47,7 +47,8 @@ post_configure = []
 
 def _setup_options(opt, file_config):
     global options
-    options = opt
+    from sqlalchemy.testing import config
+    config.options = options = opt
 pre_configure.append(_setup_options)
 
 def _monkeypatch_cdecimal(options, file_config):
@@ -107,14 +108,17 @@ def _engine_pool(options, file_config):
 post_configure.append(_engine_pool)
 
 def _create_testing_engine(options, file_config):
-    from test.lib import engines, testing
+    from sqlalchemy.testing import engines, config
+    from sqlalchemy import testing
     global db
-    db = engines.testing_engine(db_url, db_opts)
-    testing.db = db
+    config.db = testing.db = db = engines.testing_engine(db_url, db_opts)
+    config.db_opts = db_opts
+    config.db_url = db_url
+
 post_configure.append(_create_testing_engine)
 
 def _prep_testing_database(options, file_config):
-    from test.lib import engines
+    from sqlalchemy.testing import engines
     from sqlalchemy import schema
 
     # also create alt schemas etc. here?
@@ -136,7 +140,7 @@ def _prep_testing_database(options, file_config):
 post_configure.append(_prep_testing_database)
 
 def _set_table_options(options, file_config):
-    from test.lib import schema
+    from sqlalchemy.testing import schema
 
     table_options = schema.table_options
     for spec in options.tableopts:
@@ -151,13 +155,14 @@ def _reverse_topological(options, file_config):
     if options.reversetop:
         from sqlalchemy.orm import unitofwork, session, mapper, dependency
         from sqlalchemy.util import topological
-        from test.lib.util import RandomSet
+        from sqlalchemy.testing.util import RandomSet
         topological.set = unitofwork.set = session.set = mapper.set = \
                 dependency.set = RandomSet
 post_configure.append(_reverse_topological)
 
 def _requirements(options, file_config):
-    from ..lib import testing
+    from sqlalchemy.testing import config
+    from sqlalchemy import testing
     requirement_cls = file_config.get('sqla_testing', "requirement_cls")
 
     modname, clsname = requirement_cls.split(":")
@@ -167,18 +172,15 @@ def _requirements(options, file_config):
     mod = __import__(modname)
     for component in modname.split(".")[1:]:
         mod = getattr(mod, component)
-
     req_cls = getattr(mod, clsname)
-    global requirements
-    requirements = req_cls(db, sys.modules[__name__])
-    testing.requires = requirements
+    config.requirements = testing.requires = req_cls(db, config)
 
 post_configure.append(_requirements)
 
-
 def _setup_profiling(options, file_config):
-    from ..lib import profiling
+    from sqlalchemy.testing import profiling
     profiling._profile_stats = profiling.ProfileStatsFile(
                 file_config.get('sqla_testing', 'profile_file'))
 
-post_configure.append(_setup_profiling)
\ No newline at end of file
+post_configure.append(_setup_profiling)
+
similarity index 90%
rename from test/bootstrap/noseplugin.py
rename to lib/sqlalchemy/testing/plugin/noseplugin.py
index 5608a06a4f6d7a6f97786ea82337bf59861c22c0..c9e12c3051deac2f8225ca633590229bdf403639 100644 (file)
@@ -1,3 +1,14 @@
+"""Enhance nose with extra options and behaviors for running SQLAlchemy tests.
+
+This module is imported relative to the "plugins" package as a top level
+package by the sqla_nose.py runner, so that the plugin can be loaded with
+the rest of nose including the coverage plugin before any of SQLAlchemy itself
+is imported, so that coverage works.
+
+When third party libraries use this library, it can be imported
+normally as "from sqlalchemy.testing.plugin import noseplugin".
+
+"""
 import os
 import ConfigParser
 
@@ -10,14 +21,13 @@ from .config import _log, _list_dbs, _zero_timeout, \
     post_configure
 
 # late imports
-testing = None
 fixtures = None
 engines = None
 exclusions = None
 warnings = None
 profiling = None
 assertions = None
-requires = None
+requirements = None
 util = None
 file_config = None
 
@@ -27,9 +37,7 @@ class NoseSQLAlchemy(Plugin):
     """
     enabled = True
 
-    # nose 1.0 will allow us to replace the old "sqlalchemy" plugin,
-    # if installed, using the same name, but nose 1.0 isn't released yet...
-    name = 'sqlalchemy'
+    name = 'sqla_testing'
     score = 100
 
     def options(self, parser, env=os.environ):
@@ -97,9 +105,9 @@ class NoseSQLAlchemy(Plugin):
 
         # late imports, has to happen after config as well
         # as nose plugins like coverage
-        global testing, requires, util, fixtures, engines, exclusions, \
+        global util, fixtures, engines, exclusions, \
                         assertions, warnings, profiling
-        from test.lib import testing, requires, fixtures, engines, exclusions, \
+        from sqlalchemy.testing import fixtures, engines, exclusions, \
                         assertions, warnings, profiling
         from sqlalchemy import util
 
@@ -130,6 +138,7 @@ class NoseSQLAlchemy(Plugin):
             return True
 
     def _do_skips(self, cls):
+        from sqlalchemy.testing import config
         if hasattr(cls, '__requires__'):
             def test_suite():
                 return 'ok'
@@ -165,7 +174,7 @@ class NoseSQLAlchemy(Plugin):
             exclusions.exclude(db, op, spec,
                     "'%s' unsupported on DB %s version %s" % (
                     cls.__name__, config.db.name,
-                    exclusions._server_version()))
+                    exclusions._server_version(config.db)))
 
     def beforeTest(self, test):
         warnings.resetwarnings()
similarity index 98%
rename from test/lib/profiling.py
rename to lib/sqlalchemy/testing/profiling.py
index ab0bc3f2b91bf3c6e9702316780f5e2dadb80fbc..be32b1d1da881fdef260b2100de44fb748ca64eb 100644 (file)
@@ -8,7 +8,7 @@ in a more fine-grained way than nose's profiling plugin.
 import os
 import sys
 from .util import gc_collect, decorator
-from ..bootstrap import config
+from . import config
 from nose import SkipTest
 import pstats
 import time
@@ -172,7 +172,10 @@ class ProfileStatsFile(object):
         "" % (self.fname)
 
     def _read(self):
-        profile_f = open(self.fname)
+        try:
+            profile_f = open(self.fname)
+        except IOError:
+            return
         for lineno, line in enumerate(profile_f):
             line = line.strip()
             if not line or line.startswith("#"):
diff --git a/lib/sqlalchemy/testing/requirements.py b/lib/sqlalchemy/testing/requirements.py
new file mode 100644 (file)
index 0000000..eca883d
--- /dev/null
@@ -0,0 +1,38 @@
+"""Global database feature support policy.
+
+Provides decorators to mark tests requiring specific feature support from the
+target database.
+
+"""
+
+from .exclusions import \
+     skip, \
+     skip_if,\
+     only_if,\
+     only_on,\
+     fails_on,\
+     fails_on_everything_except,\
+     fails_if,\
+     SpecPredicate,\
+     against
+
+def no_support(db, reason):
+    return SpecPredicate(db, description=reason)
+
+def exclude(db, op, spec, description=None):
+    return SpecPredicate(db, op, spec, description=description)
+
+
+def _chain_decorators_on(*decorators):
+    def decorate(fn):
+        for decorator in reversed(decorators):
+            fn = decorator(fn)
+        return fn
+    return decorate
+
+class Requirements(object):
+    def __init__(self, db, config):
+        self.db = db
+        self.config = config
+
+
similarity index 98%
rename from test/lib/schema.py
rename to lib/sqlalchemy/testing/schema.py
index 6c7a684e2f5ce8e81a5fd322e726abce53ab8455..03da78c6469fdfd7da8f5115bad7ef0be9fd3b08 100644 (file)
@@ -4,7 +4,7 @@ desired state for different backends.
 
 from . import exclusions
 from sqlalchemy import schema, event
-from ..bootstrap import config
+from . import config
 
 __all__ = 'Table', 'Column',
 
diff --git a/lib/sqlalchemy/testing/suite/__init__.py b/lib/sqlalchemy/testing/suite/__init__.py
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/lib/sqlalchemy/testing/suite/requirements.py b/lib/sqlalchemy/testing/suite/requirements.py
new file mode 100644 (file)
index 0000000..5eda39b
--- /dev/null
@@ -0,0 +1,24 @@
+from ..requirements import Requirements
+from .. import exclusions
+
+
+class SuiteRequirements(Requirements):
+
+    @property
+    def create_table(self):
+        """target platform can emit basic CreateTable DDL."""
+
+        return exclusions.open
+
+    @property
+    def drop_table(self):
+        """target platform can emit basic DropTable DDL."""
+
+        return exclusions.open
+
+    @property
+    def autoincrement_insert(self):
+        """target platform generates new surrogate integer primary key values
+        when insert() is executed, excluding the pk column."""
+
+        return exclusions.open
diff --git a/lib/sqlalchemy/testing/suite/test_ddl.py b/lib/sqlalchemy/testing/suite/test_ddl.py
new file mode 100644 (file)
index 0000000..1285c41
--- /dev/null
@@ -0,0 +1,48 @@
+from .. import fixtures, config, util
+from ..config import requirements
+from ..assertions import eq_
+
+from sqlalchemy import Table, Column, Integer, String
+
+
+class TableDDLTest(fixtures.TestBase):
+
+    def _simple_fixture(self):
+        return Table('test_table', self.metadata,
+                Column('id', Integer, primary_key=True),
+                Column('data', String(50))
+            )
+
+    def _simple_roundtrip(self):
+        with config.db.begin() as conn:
+            conn.execute("insert into test_table(id, data) values "
+                            "(1, 'some data')")
+            result = conn.execute("select id, data from test_table")
+            eq_(
+                result.first(),
+                (1, 'some data')
+            )
+
+
+    @requirements.create_table
+    @util.provide_metadata
+    def test_create_table(self):
+        table = self._simple_fixture()
+        table.create(
+            config.db, checkfirst=False
+        )
+        self._simple_roundtrip()
+
+
+    @requirements.drop_table
+    @util.provide_metadata
+    def test_drop_table(self):
+        table = self._simple_fixture()
+        table.create(
+            config.db, checkfirst=False
+        )
+        table.drop(
+            config.db, checkfirst=False
+        )
+
+__all__ = ('TableDDLTest',)
\ No newline at end of file
diff --git a/lib/sqlalchemy/testing/suite/test_reflection.py b/lib/sqlalchemy/testing/suite/test_reflection.py
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/lib/sqlalchemy/testing/suite/test_sequencing.py b/lib/sqlalchemy/testing/suite/test_sequencing.py
new file mode 100644 (file)
index 0000000..7b09ecb
--- /dev/null
@@ -0,0 +1,36 @@
+from .. import fixtures, config, util
+from ..config import requirements
+from ..assertions import eq_
+
+from sqlalchemy import Table, Column, Integer, String
+
+
+class InsertSequencingTest(fixtures.TablesTest):
+    run_deletes = 'each'
+
+    @classmethod
+    def define_tables(cls, metadata):
+        Table('plain_pk', metadata,
+                Column('id', Integer, primary_key=True),
+                Column('data', String(50))
+            )
+
+    def _assert_round_trip(self, table):
+        row = config.db.execute(table.select()).first()
+        eq_(
+            row,
+            (1, "some data")
+        )
+
+    @requirements.autoincrement_insert
+    def test_autoincrement_on_insert(self):
+
+        config.db.execute(
+            self.tables.plain_pk.insert(),
+            data="some data"
+        )
+        self._assert_round_trip(self.tables.plain_pk)
+
+
+
+__all__ = ('InsertSequencingTest',)
\ No newline at end of file
similarity index 98%
rename from test/lib/util.py
rename to lib/sqlalchemy/testing/util.py
index c2144f6bdef249f41c5957dcc28295ea111b1312..625b9e6a5ffb572749d32528f9cfae3dc816ce30 100644 (file)
@@ -169,10 +169,10 @@ def fail(msg):
 def provide_metadata(fn, *args, **kw):
     """Provide bound MetaData for a single test, dropping afterwards."""
 
-    from ..bootstrap.config import db
+    from . import config
     from sqlalchemy import schema
 
-    metadata = schema.MetaData(db)
+    metadata = schema.MetaData(config.db)
     self = args[0]
     prev_meta = getattr(self, 'metadata', None)
     self.metadata = metadata
similarity index 96%
rename from test/lib/warnings.py
rename to lib/sqlalchemy/testing/warnings.py
index d17d9f465c6d8d34c0efb6e966cc64fd66177959..799fca128d7102fc1dfa5c5d058096fe7564ef1b 100644 (file)
@@ -7,7 +7,7 @@ from sqlalchemy import util
 def testing_warn(msg, stacklevel=3):
     """Replaces sqlalchemy.util.warn during tests."""
 
-    filename = "test.lib.testing"
+    filename = "sqlalchemy.testing.warnings"
     lineno = 1
     if isinstance(msg, basestring):
         warnings.warn_explicit(msg, sa_exc.SAWarning, filename, lineno)
index 01e4149c9ce915ab6e5c02ef24729b0e1c547176..ef1b8dbcc04085cb239d45f6acd8f70bf78692a8 100644 (file)
--- a/setup.cfg
+++ b/setup.cfg
@@ -2,14 +2,14 @@
 tag_build = dev
 
 [nosetests]
-with-sqlalchemy = true
+with-sqla_testing = true
 exclude = ^examples
 first-package-wins = true
 where = test
 
 [sqla_testing]
-requirement_cls=test.lib.requires:DefaultRequirements
-profile_file=test/lib/profiles.txt
+requirement_cls=test.requirements:DefaultRequirements
+profile_file=test/profiles.txt
 
 [db]
 sqlite=sqlite:///:memory:
index 09481410c2d54aae7f933aead6baa27da0e73970..290fc760e820e87d2ece07635e2d14a542bead53 100755 (executable)
@@ -9,10 +9,11 @@ installs SQLAlchemy's testing plugin into the local environment.
 import sys
 
 from os import path
-for pth in ['.', './lib']:
+for pth in ['.', './lib', './lib/sqlalchemy/testing']:
     sys.path.insert(0, path.join(path.dirname(path.abspath(__file__)), pth))
 
-from test.bootstrap.noseplugin import NoseSQLAlchemy
+
+from plugin.noseplugin import NoseSQLAlchemy
 
 import nose
 
index deff49f0fcb1049b4f43de291cd5631b38177bb8..2776f05ab62033b7751411b626e5fd84289951ff 100644 (file)
@@ -1,5 +1,5 @@
 from sqlalchemy import *
-from test.lib import *
+from sqlalchemy.testing import *
 from sqlalchemy.engine import default
 
 class CompileTest(fixtures.TestBase, AssertsExecutionResults):
index 9e58a10aaedc8e175f8dea54b909fc84f87fe4ef..fca0635d244d7bdc9eb13a2c09b459664a5f76ca 100644 (file)
@@ -1,23 +1,24 @@
-from test.lib.testing import eq_
+from sqlalchemy.testing import eq_
 from sqlalchemy.orm import mapper, relationship, create_session, \
     clear_mappers, sessionmaker, class_mapper, aliased,\
     Session, subqueryload
 from sqlalchemy.orm.mapper import _mapper_registry
 from sqlalchemy.orm.session import _sessions
 import operator
-from test.lib import testing, engines
+from sqlalchemy import testing
+from sqlalchemy.testing import engines
 from sqlalchemy import MetaData, Integer, String, ForeignKey, \
     PickleType, create_engine, Unicode
-from test.lib.schema import Table, Column
+from sqlalchemy.testing.schema import Table, Column
 import sqlalchemy as sa
 from sqlalchemy.sql import column
 from sqlalchemy.processors import to_decimal_processor_factory, \
     to_unicode_processor_factory
-from test.lib.util import gc_collect
+from sqlalchemy.testing.util import gc_collect
 from sqlalchemy.util.compat import decimal
 import gc
 import weakref
-from test.lib import fixtures
+from sqlalchemy.testing import fixtures
 
 class A(fixtures.ComparableEntity):
     pass
index 12b43b2298a45ba9f4960a0010fefb9843bd6ec9..b9eeb836102b2ad41d63ce9417aacc357718f949 100644 (file)
@@ -1,11 +1,12 @@
-from test.lib.testing import eq_, assert_raises, \
+from sqlalchemy.testing import eq_, assert_raises, \
     assert_raises_message
 from sqlalchemy import exc as sa_exc, util, Integer, String, ForeignKey
 from sqlalchemy.orm import exc as orm_exc, mapper, relationship, \
     sessionmaker, Session
-from test.lib import testing, profiling
-from test.lib import fixtures
-from test.lib.schema import Table, Column
+from sqlalchemy import testing
+from sqlalchemy.testing import profiling
+from sqlalchemy.testing import fixtures
+from sqlalchemy.testing.schema import Table, Column
 import sys
 
 class MergeTest(fixtures.MappedTest):
index 6a3d9323014934a8a8cf16bda3afe47dda57a399..cf41d2684e508ca612993f992fadd8776965b0db 100644 (file)
@@ -1,5 +1,5 @@
 from sqlalchemy import *
-from test.lib import *
+from sqlalchemy.testing import *
 from sqlalchemy.pool import QueuePool
 from sqlalchemy import pool as pool_module
 
index 1b519c3f8770cb8b52b2cd1bed776261642847e9..cf3a12fe131c6cd71250c1a89328bde48a1dbdce 100644 (file)
@@ -1,6 +1,6 @@
 from sqlalchemy import *
-from test.lib import *
-from test.lib.testing import eq_
+from sqlalchemy.testing import *
+from sqlalchemy.testing import eq_
 NUM_FIELDS = 10
 NUM_RECORDS = 1000
 
index 97d9f1243bda1e237b5d574c140322debb7c533d..7a9a0e11d3daff217fec5626f884a3cc66d49210 100644 (file)
@@ -7,7 +7,7 @@ import datetime
 import sys
 import time
 from sqlalchemy import *
-from test.lib import *
+from sqlalchemy.testing import *
 ITERATIONS = 1
 dbapi_session = engines.ReplayableSession()
 metadata = None
index 64ceb46ff63ce0fd27900937dd685ff8bceaa419..ef609602207e7e137ccefc77d665452c4cc9b871 100644 (file)
@@ -8,7 +8,7 @@ import sys
 import time
 from sqlalchemy import *
 from sqlalchemy.orm import *
-from test.lib import *
+from sqlalchemy.testing import *
 ITERATIONS = 1
 dbapi_session = engines.ReplayableSession()
 metadata = None
index f3e19982b0713179056a9d576885b72046162fcc..f4a0a4c8b1d14f485335cc1d8d6a94d27ad19ef2 100644 (file)
@@ -1,8 +1,8 @@
 from sqlalchemy.util import topological
-from test.lib.testing import assert_raises, eq_
-from test.lib.util import conforms_partial_ordering
+from sqlalchemy.testing import assert_raises, eq_
+from sqlalchemy.testing.util import conforms_partial_ordering
 from sqlalchemy import exc
-from test.lib import fixtures
+from sqlalchemy.testing import fixtures
 
 class DependencySortTest(fixtures.TestBase):
 
index 657ddc1be02055caa018fdd9a937b68a1b3a8332..eb58f5183847b1aeda8a339fa2feee7b05fe868b 100644 (file)
@@ -1,9 +1,9 @@
 """Test event registration and listening."""
 
-from test.lib.testing import eq_, assert_raises, assert_raises_message, \
+from sqlalchemy.testing import eq_, assert_raises, assert_raises_message, \
     is_, is_not_
 from sqlalchemy import event, exc, util
-from test.lib import fixtures
+from sqlalchemy.testing import fixtures
 
 class EventsTest(fixtures.TestBase):
     """Test class- and instance-level event registration."""
index 597f1132bd6fdec94dec168d5b86e5fb7afc8c91..a8c7de201e7e26326956fe4c26f33d3986b06cda 100644 (file)
@@ -2,8 +2,8 @@
 
 
 from sqlalchemy import exc as sa_exceptions
-from test.lib import fixtures
-from test.lib.testing import eq_
+from sqlalchemy.testing import fixtures
+from sqlalchemy.testing import eq_
 
 # Py3K
 #StandardError = BaseException
index c5a60481bef44f467937208d7bdc9e344b32e09f..011e2d09fc28c4ba980fe93ef651fb41c9841672 100644 (file)
@@ -1,9 +1,9 @@
 """test the inspection registry system."""
 
-from test.lib.testing import eq_, assert_raises_message
+from sqlalchemy.testing import eq_, assert_raises_message
 from sqlalchemy import exc, util
 from sqlalchemy import inspection, inspect
-from test.lib import fixtures
+from sqlalchemy.testing import fixtures
 
 class TestFixture(object):
     pass
index a9ff7da9881198f9e3c49ffef746a2ed8fc14d07..ab92d8c94f67c682d559bf7443f2e904362f5aaa 100644 (file)
@@ -1,10 +1,10 @@
-from test.lib.testing import assert_raises, assert_raises_message
+from sqlalchemy.testing import assert_raises, assert_raises_message
 import copy, threading
 from sqlalchemy import util, sql, exc
-from test.lib.testing import eq_, is_, ne_, fails_if
-from test.lib.util import gc_collect, picklers
+from sqlalchemy.testing import eq_, is_, ne_, fails_if
+from sqlalchemy.testing.util import gc_collect, picklers
 from sqlalchemy.util import classproperty
-from test.lib import fixtures
+from sqlalchemy.testing import fixtures
 
 class OrderedDictTest(fixtures.TestBase):
     def test_odict(self):
index e2c20804f055d1b5277dd5f5a351e366aa8aa688..951d43e1a65bbd92d1597b8469e271abdc03252e 100644 (file)
@@ -1,7 +1,7 @@
 from sqlalchemy import *
 from sqlalchemy import sql
 from sqlalchemy.databases import access
-from test.lib import *
+from sqlalchemy.testing import *
 
 
 class CompileTest(fixtures.TestBase, AssertsCompiledSQL):
index aa57711e4ff2312a4411956ade100e0831bb35ac..5a80a37764a9d29c92a3be30f66f531c36b3898a 100644 (file)
@@ -1,11 +1,12 @@
-from test.lib.testing import eq_, assert_raises_message
+from sqlalchemy.testing import eq_, assert_raises_message
 from sqlalchemy import exc
 from sqlalchemy.databases import firebird
 from sqlalchemy.exc import ProgrammingError
 from sqlalchemy.sql import table, column
 from sqlalchemy import types as sqltypes
-from test.lib import fixtures, AssertsExecutionResults, AssertsCompiledSQL
-from test.lib import testing, engines
+from sqlalchemy.testing import fixtures, AssertsExecutionResults, AssertsCompiledSQL
+from sqlalchemy import testing
+from sqlalchemy.testing import engines
 from sqlalchemy import String, VARCHAR, NVARCHAR, Unicode, Integer,\
     func, insert, update, MetaData, select, Table, Column, text,\
     Sequence, Float
index 3fa2f0470059442e6bd770f1e12d6a2090773dc3..332edd24e2539fb2acc8506b6f50bb13635013b6 100644 (file)
@@ -1,6 +1,6 @@
 from sqlalchemy import *
 from sqlalchemy.databases import informix
-from test.lib import *
+from sqlalchemy.testing import *
 
 
 class CompileTest(fixtures.TestBase, AssertsCompiledSQL):
index e0c3eafbe911d29b8c750418208ce273e29737f7..237d6c9ff37d76cc01bd205779f26d4919330cb7 100644 (file)
@@ -1,12 +1,12 @@
 """MaxDB-specific tests."""
 
-from test.lib.testing import eq_
+from sqlalchemy.testing import eq_
 import StringIO, sys
 from sqlalchemy import *
 from sqlalchemy import exc, sql
 from sqlalchemy.util.compat import decimal
 from sqlalchemy.databases import maxdb
-from test.lib import *
+from sqlalchemy.testing import *
 
 
 # TODO
index 9a7c906653751b22ce80db09ed3796744e8a0236..e15324dca6f3d97f218373a347055ab17054d889 100644 (file)
@@ -1,5 +1,5 @@
 # -*- encoding: utf-8
-from test.lib.testing import eq_
+from sqlalchemy.testing import eq_
 import datetime
 import os
 import re
@@ -12,8 +12,8 @@ from sqlalchemy.databases import mssql
 from sqlalchemy.dialects.mssql import pyodbc, mxodbc, pymssql
 from sqlalchemy.dialects.mssql.base import TIME
 from sqlalchemy.engine import url
-from test.lib import *
-from test.lib.testing import eq_, emits_warning_on, \
+from sqlalchemy.testing import *
+from sqlalchemy.testing import eq_, emits_warning_on, \
     assert_raises_message
 from sqlalchemy.util.compat import decimal
 from sqlalchemy.engine.reflection import Inspector
@@ -780,7 +780,7 @@ class QueryUnicodeTest(fixtures.TestBase):
         finally:
             meta.drop_all()
 
-from test.lib.assertsql import ExactSQL
+from sqlalchemy.testing.assertsql import ExactSQL
 class QueryTest(testing.AssertsExecutionResults, fixtures.TestBase):
     __only_on__ = 'mssql'
 
index 6c6a4b42359e56c197ee6d892bce187d74ccff65..32cad4168125f33ff9eac9ed37b3e580f7eb8ad7 100644 (file)
@@ -1,7 +1,7 @@
 from sqlalchemy import *
-from test.lib.testing import eq_
-from test.lib import engines
-from test.lib import fixtures
+from sqlalchemy.testing import eq_
+from sqlalchemy.testing import engines
+from sqlalchemy.testing import fixtures
 
 # TODO: we should probably build mock bases for
 # these to share with test_reconnect, test_parseconnect
index 92eb52624a31490793e8abf3299676e65736a57f..2a3ffe7c46de1c09920f6099cff33a988c0aaf5a 100644 (file)
@@ -1,15 +1,16 @@
 # coding: utf-8
 
-from test.lib.testing import eq_, assert_raises, assert_raises_message
+from sqlalchemy.testing import eq_, assert_raises, assert_raises_message
 
 
 from sqlalchemy import *
 from sqlalchemy import sql, exc, schema, types as sqltypes
 from sqlalchemy.dialects.mysql import base as mysql
 from sqlalchemy.engine.url import make_url
-from test.lib import fixtures, AssertsCompiledSQL, AssertsExecutionResults
-from test.lib import testing, engines
-from test.lib.engines import utf8_engine
+from sqlalchemy.testing import fixtures, AssertsCompiledSQL, AssertsExecutionResults
+from sqlalchemy import testing
+from sqlalchemy.testing import engines
+from sqlalchemy.testing.engines import utf8_engine
 import datetime
 
 class CompileTest(fixtures.TestBase, AssertsCompiledSQL):
index 55b5bb4ba8da8a416087e93e86a8241c29a4d0b6..dc39f8e8a09e71d29fb16bc76bf099f66473b0f4 100644 (file)
@@ -1,12 +1,12 @@
 # coding: utf-8
 
-from test.lib.testing import eq_
+from sqlalchemy.testing import eq_
 from sqlalchemy import *
 from sqlalchemy import types as sqltypes, exc
 from sqlalchemy.sql import table, column
-from test.lib import *
-from test.lib.testing import eq_, assert_raises, assert_raises_message
-from test.lib.engines import testing_engine
+from sqlalchemy.testing import *
+from sqlalchemy.testing import eq_, assert_raises, assert_raises_message
+from sqlalchemy.testing.engines import testing_engine
 from sqlalchemy.dialects.oracle import cx_oracle, base as oracle
 from sqlalchemy.engine import default
 from sqlalchemy.util import jython
index 73633c1289116c134928920cb8ca17ff74fb395b..6351ce9d05254c0a005b3c2dea65894a3c786428 100644 (file)
@@ -2,19 +2,24 @@
 
 from __future__ import with_statement
 
-from test.lib.testing import eq_, assert_raises, assert_raises_message, is_
-from test.lib import  engines
+from sqlalchemy.testing.assertions import eq_, assert_raises, \
+                assert_raises_message, is_, AssertsExecutionResults, \
+                AssertsCompiledSQL, ComparesTables
+from sqlalchemy.testing import engines, fixtures
+from sqlalchemy import testing
 import datetime
-from sqlalchemy import *
-from sqlalchemy.orm import *
+from sqlalchemy import Table, Column, select, MetaData, text, Integer, \
+            String, Sequence, ForeignKey, join, Numeric, \
+            PrimaryKeyConstraint, DateTime, tuple_, Float, BigInteger, \
+            func, literal_column, literal, bindparam, cast, extract, \
+            SmallInteger, Enum, REAL, update, insert, Index, delete, \
+            and_, Date, TypeDecorator, Time, Unicode, Interval
+from sqlalchemy.orm import Session, mapper, aliased
 from sqlalchemy import exc, schema, types
 from sqlalchemy.dialects.postgresql import base as postgresql
-from sqlalchemy.engine.strategies import MockEngineStrategy
 from sqlalchemy.util.compat import decimal
-from test.lib import *
-from test.lib.util import round_decimal
+from sqlalchemy.testing.util import round_decimal
 from sqlalchemy.sql import table, column
-from test.lib.testing import eq_
 import logging
 
 class SequenceTest(fixtures.TestBase, AssertsCompiledSQL):
index 52d6bc7c454723e123a50cec7300b21b44fdf7a4..f5850fe98152d5165c1bc5a73f71123bf07c516a 100644 (file)
@@ -1,6 +1,6 @@
-from test.lib.testing import eq_
+from sqlalchemy.testing import eq_
 from sqlalchemy.connectors import pyodbc
-from test.lib import fixtures
+from sqlalchemy.testing import fixtures
 
 class PyODBCTest(fixtures.TestBase):
     def test_pyodbc_version(self):
index 07995cdc4bd6da32d05f59c0b5cc43c39d3011ad..53720d26bfffe9340601ebedcabcd6f427a0183f 100644 (file)
@@ -1,6 +1,6 @@
 """SQLite-specific tests."""
 
-from test.lib.testing import eq_, assert_raises, \
+from sqlalchemy.testing import eq_, assert_raises, \
     assert_raises_message
 import datetime
 from sqlalchemy import *
@@ -8,7 +8,7 @@ from sqlalchemy import exc, sql, schema, pool, types as sqltypes
 from sqlalchemy.dialects.sqlite import base as sqlite, \
     pysqlite as pysqlite_dialect
 from sqlalchemy.engine.url import make_url
-from test.lib import *
+from sqlalchemy.testing import *
 import os
 from sqlalchemy.schema import CreateTable
 
diff --git a/test/dialect/test_suite.py b/test/dialect/test_suite.py
new file mode 100644 (file)
index 0000000..9abff42
--- /dev/null
@@ -0,0 +1,8 @@
+from sqlalchemy.testing.suite.test_ddl import *
+from sqlalchemy.testing.suite.test_sequencing import *
+
+
+
+
+
+
index 0a7cbf6b6dd72e61377b9ceea284491899332f7a..025d49aaeba99c291afd91544931aa4eae49cf9d 100644 (file)
@@ -1,7 +1,7 @@
 from sqlalchemy import *
 from sqlalchemy import sql
 from sqlalchemy.databases import sybase
-from test.lib import *
+from sqlalchemy.testing import *
 
 
 class CompileTest(fixtures.TestBase, AssertsCompiledSQL):
index 0d7b7d6930dd8253a62e308457bb1fe9f3a313b9..30ee43b3bb81b745f1ea467d3b351f68b2202d3f 100644 (file)
@@ -1,15 +1,15 @@
 """tests the "bind" attribute/argument across schema and SQL,
 including the deprecated versions of these arguments"""
 
-from test.lib.testing import eq_, assert_raises
+from sqlalchemy.testing import eq_, assert_raises
 from sqlalchemy import engine, exc
 from sqlalchemy import MetaData, ThreadLocalMetaData
 from sqlalchemy import Integer, text
-from test.lib.schema import Table
-from test.lib.schema import Column
+from sqlalchemy.testing.schema import Table
+from sqlalchemy.testing.schema import Column
 import sqlalchemy as sa
-from test.lib import testing
-from test.lib import fixtures
+from sqlalchemy import testing
+from sqlalchemy.testing import fixtures
 
 class BindTest(fixtures.TestBase):
     def test_create_drop_explicit(self):
index b341801eb5bbbf186bf3d7e1fedeb6dae426b97b..71379ec7e4c34a187cdbe9aec11d07c9c00cb62e 100644 (file)
@@ -1,16 +1,17 @@
 from __future__ import with_statement
-from test.lib.testing import assert_raises, assert_raises_message
+from sqlalchemy.testing import assert_raises, assert_raises_message
 from sqlalchemy.schema import DDL, CheckConstraint, AddConstraint, \
     DropConstraint
 from sqlalchemy import create_engine
 from sqlalchemy import MetaData, Integer, String, event, exc, text
-from test.lib.schema import Table
-from test.lib.schema import Column
+from sqlalchemy.testing.schema import Table
+from sqlalchemy.testing.schema import Column
 import sqlalchemy as tsa
-from test.lib import testing, engines
-from test.lib.testing import AssertsCompiledSQL, eq_
+from sqlalchemy import testing
+from sqlalchemy.testing import engines
+from sqlalchemy.testing import AssertsCompiledSQL, eq_
 from nose import SkipTest
-from test.lib import fixtures
+from sqlalchemy.testing import fixtures
 
 
 class DDLEventTest(fixtures.TestBase):
@@ -472,10 +473,10 @@ class DDLExecutionTest(fixtures.TestBase):
 
         # We're abusing the DDL()
         # construct here by pushing a SELECT through it
-        # so that we can verify the round trip.        
+        # so that we can verify the round trip.
         # the DDL() will trigger autocommit, which prohibits
         # some DBAPIs from returning results (pyodbc), so we
-        # run in an explicit transaction.   
+        # run in an explicit transaction.
         with testing.db.begin() as conn:
             eq_(
                 conn.execute(
index 156a9fc35d2c24529eab2445d72fb81af18dafbd..ced72f276f4c184f34e94651478ae1aaef7f00ef 100644 (file)
@@ -1,22 +1,23 @@
 from __future__ import with_statement
 
-from test.lib.testing import eq_, assert_raises, assert_raises_message, \
+from sqlalchemy.testing import eq_, assert_raises, assert_raises_message, \
     config, is_
 import re
-from test.lib.util import picklers
+from sqlalchemy.testing.util import picklers
 from sqlalchemy.interfaces import ConnectionProxy
 from sqlalchemy import MetaData, Integer, String, INT, VARCHAR, func, \
     bindparam, select, event, TypeDecorator, create_engine, Sequence
 from sqlalchemy.sql import column, literal
-from test.lib.schema import Table, Column
+from sqlalchemy.testing.schema import Table, Column
 import sqlalchemy as tsa
-from test.lib import testing, engines
-from test.lib.engines import testing_engine
+from sqlalchemy import testing
+from sqlalchemy.testing import engines
+from sqlalchemy.testing.engines import testing_engine
 import logging
 from sqlalchemy.dialects.oracle.zxjdbc import ReturningParam
 from sqlalchemy.engine import result as _result, default
 from sqlalchemy.engine.base import Connection, Engine
-from test.lib import fixtures
+from sqlalchemy.testing import fixtures
 import StringIO
 
 users, metadata, users_autoinc = None, None, None
index a87c8d05613c0029181f592643177a3f94e9e3c0..a00a942cb4d359d552cd3d56d58cdafab666ae86 100644 (file)
@@ -1,4 +1,4 @@
-from test.lib.testing import assert_raises, assert_raises_message, eq_
+from sqlalchemy.testing import assert_raises, assert_raises_message, eq_
 import ConfigParser
 import StringIO
 import sqlalchemy.engine.url as url
@@ -6,7 +6,8 @@ from sqlalchemy import create_engine, engine_from_config, exc, pool
 from sqlalchemy.engine.util import _coerce_config
 from sqlalchemy.engine.default import DefaultDialect
 import sqlalchemy as tsa
-from test.lib import fixtures, testing
+from sqlalchemy.testing import fixtures
+from sqlalchemy import testing
 
 class ParseConnectTest(fixtures.TestBase):
     def test_rfc1738(self):
index 6f00a3c80b32a9a2c4307dfbb305e098cfafc6d0..d991cc7be798a7b3c2fcd09316c6f3d47fac00e0 100644 (file)
@@ -1,11 +1,11 @@
 import threading, time
 from sqlalchemy import pool, interfaces, select, event
 import sqlalchemy as tsa
-from test.lib import testing
-from test.lib.util import gc_collect, lazy_gc
-from test.lib.testing import eq_, assert_raises
-from test.lib.engines import testing_engine
-from test.lib import fixtures
+from sqlalchemy import testing
+from sqlalchemy.testing.util import gc_collect, lazy_gc
+from sqlalchemy.testing import eq_, assert_raises
+from sqlalchemy.testing.engines import testing_engine
+from sqlalchemy.testing import fixtures
 
 mcid = 1
 class MockDBAPI(object):
index d05de690214a230d6f272f1f3b4f728eaa46ad7c..bc9af7305b3354d6c3f02b6b1193cbda9a4ba18b 100644 (file)
@@ -1,5 +1,5 @@
-from test.lib import fixtures
-from test.lib.testing import assert_raises_message, eq_
+from sqlalchemy.testing import fixtures
+from sqlalchemy.testing import assert_raises_message, eq_
 
 
 class _DateProcessorTest(fixtures.TestBase):
index 360a20eb238df0d8ec8867949d2cd81e6f91de1e..6416ce14904c18f7749402ab6a32973da317da56 100644 (file)
@@ -1,14 +1,15 @@
-from test.lib.testing import eq_, assert_raises, assert_raises_message
+from sqlalchemy.testing import eq_, assert_raises, assert_raises_message
 import time
 import weakref
 from sqlalchemy import select, MetaData, Integer, String, pool, create_engine
-from test.lib.schema import Table, Column
+from sqlalchemy.testing.schema import Table, Column
 import sqlalchemy as tsa
-from test.lib import testing, engines
-from test.lib.util import gc_collect
+from sqlalchemy import testing
+from sqlalchemy.testing import engines
+from sqlalchemy.testing.util import gc_collect
 from sqlalchemy import exc
-from test.lib import fixtures
-from test.lib.engines import testing_engine
+from sqlalchemy.testing import fixtures
+from sqlalchemy.testing.engines import testing_engine
 
 class MockDisconnect(Exception):
     pass
index 2713bd80b0a5d2b89a404c5080c7856d744c98f7..a909803a1336f4080af64228ac5c550f1e5ed183 100644 (file)
@@ -5,10 +5,11 @@ from sqlalchemy import types as sql_types
 from sqlalchemy import schema, events, event, inspect
 from sqlalchemy import MetaData, Integer, String
 from sqlalchemy.engine.reflection import Inspector
-from test.lib import ComparesTables, \
-                            testing, engines, AssertsCompiledSQL, fixtures
-from test.lib.schema import Table, Column
-from test.lib.testing import eq_, assert_raises, assert_raises_message
+from sqlalchemy.testing import ComparesTables, \
+                            engines, AssertsCompiledSQL, fixtures
+from sqlalchemy.testing.schema import Table, Column
+from sqlalchemy.testing import eq_, assert_raises, assert_raises_message
+from sqlalchemy import testing
 
 metadata, users = None, None
 
index 709f0d2f1a10ab1426750f96ffd553154038a85f..ad6813f877eb14932d5bd66a19f242b285bf6ae8 100644 (file)
@@ -1,15 +1,15 @@
-from test.lib.testing import eq_, assert_raises, \
+from sqlalchemy.testing import eq_, assert_raises, \
     assert_raises_message, ne_
 import sys
 import time
 import threading
-from test.lib.engines import testing_engine
+from sqlalchemy.testing.engines import testing_engine
 from sqlalchemy import create_engine, MetaData, INT, VARCHAR, Sequence, \
     select, Integer, String, func, text, exc
-from test.lib.schema import Table
-from test.lib.schema import Column
-from test.lib import testing
-from test.lib import fixtures
+from sqlalchemy.testing.schema import Table
+from sqlalchemy.testing.schema import Column
+from sqlalchemy import testing
+from sqlalchemy.testing import fixtures
 
 
 users, metadata = None, None
index ce44067fe49f6750dfe0faf22b59968df5c76fbe..3182b5ab5ac15c5e8fef1a0dc94f38f7459dd563 100644 (file)
@@ -1,4 +1,4 @@
-from test.lib import *
+from sqlalchemy.testing import *
 import os
 import re
 
index 5af2b88dc5b84f4fffcff1447dfb8b6abee33ce2..19141143f8b31504d9c7a213e6c7ac47e02901b4 100644 (file)
@@ -1,22 +1,22 @@
 
-from test.lib.testing import eq_, assert_raises, \
+from sqlalchemy.testing import eq_, assert_raises, \
     assert_raises_message, is_
 from sqlalchemy.ext import declarative as decl
 from sqlalchemy import exc
 import sqlalchemy as sa
-from test.lib import testing
+from sqlalchemy import testing
 from sqlalchemy import MetaData, Integer, String, ForeignKey, \
     ForeignKeyConstraint, Index
-from test.lib.schema import Table, Column
+from sqlalchemy.testing.schema import Table, Column
 from sqlalchemy.orm import relationship, create_session, class_mapper, \
     joinedload, configure_mappers, backref, clear_mappers, \
     deferred, column_property, composite,\
     Session
-from test.lib.testing import eq_
+from sqlalchemy.testing import eq_
 from sqlalchemy.util import classproperty
 from sqlalchemy.ext.declarative import declared_attr, AbstractConcreteBase, ConcreteBase
-from test.lib import fixtures
-from test.lib.util import gc_collect
+from sqlalchemy.testing import fixtures
+from sqlalchemy.testing.util import gc_collect
 
 Base = None
 
index f657beb65f65d8121cb3253518492290c79bcd47..db4b01470bc00cdf991c68bb2aa9783bc326b37e 100644 (file)
@@ -1,6 +1,6 @@
-from test.lib import fixtures
-from test.lib.util import gc_collect
-from test.lib.testing import assert_raises_message, is_, eq_
+from sqlalchemy.testing import fixtures
+from sqlalchemy.testing.util import gc_collect
+from sqlalchemy.testing import assert_raises_message, is_, eq_
 from sqlalchemy import exc, MetaData
 from sqlalchemy.ext.declarative import clsregistry
 import weakref
index 86bd1c28e31fc4687bb44fece5b36c481a3e5947..ab78cc3e2ea6e9e21c4e4deb4d1bd4b0488f82bd 100644 (file)
@@ -1,21 +1,21 @@
 
-from test.lib.testing import eq_, assert_raises, \
+from sqlalchemy.testing import eq_, assert_raises, \
     assert_raises_message, is_
 from sqlalchemy.ext import declarative as decl
 from sqlalchemy import exc
 import sqlalchemy as sa
-from test.lib import testing
+from sqlalchemy import testing
 from sqlalchemy import MetaData, Integer, String, ForeignKey, \
     ForeignKeyConstraint, Index
-from test.lib.schema import Table, Column
+from sqlalchemy.testing.schema import Table, Column
 from sqlalchemy.orm import relationship, create_session, class_mapper, \
     joinedload, configure_mappers, backref, clear_mappers, \
     polymorphic_union, deferred, column_property, composite,\
     Session
-from test.lib.testing import eq_
+from sqlalchemy.testing import eq_
 from sqlalchemy.util import classproperty
 from sqlalchemy.ext.declarative import declared_attr, AbstractConcreteBase, ConcreteBase
-from test.lib import fixtures
+from sqlalchemy.testing import fixtures
 
 Base = None
 
index bec9a659dc1d32d984dfcb4b672ed60f1fa19632..fb674f27a2f6f0d7969c864f238bd53dcf2dabc0 100644 (file)
@@ -1,17 +1,17 @@
-from test.lib.testing import eq_, assert_raises, \
+from sqlalchemy.testing import eq_, assert_raises, \
     assert_raises_message, is_
 from sqlalchemy.ext import declarative as decl
 import sqlalchemy as sa
-from test.lib import testing
+from sqlalchemy import testing
 from sqlalchemy import Integer, String, ForeignKey
-from test.lib.schema import Table, Column
+from sqlalchemy.testing.schema import Table, Column
 from sqlalchemy.orm import relationship, create_session, class_mapper, \
     configure_mappers, clear_mappers, \
     deferred, column_property, \
     Session
 from sqlalchemy.util import classproperty
 from sqlalchemy.ext.declarative import declared_attr
-from test.lib import fixtures
+from sqlalchemy.testing import fixtures
 
 Base = None
 
index d5fd8e787439bf722104824ea61e7b1898070dbd..013439f9302d7bd67c453ae267c3ff268f369522 100644 (file)
@@ -1,12 +1,12 @@
-from test.lib.testing import eq_, assert_raises
+from sqlalchemy.testing import eq_, assert_raises
 from sqlalchemy.ext import declarative as decl
-from test.lib import testing
+from sqlalchemy import testing
 from sqlalchemy import MetaData, Integer, String, ForeignKey
-from test.lib.schema import Table, Column
+from sqlalchemy.testing.schema import Table, Column
 from sqlalchemy.orm import relationship, create_session, \
     clear_mappers, \
     Session
-from test.lib import fixtures
+from sqlalchemy.testing import fixtures
 
 class DeclarativeReflectionBase(fixtures.TablesTest):
     __requires__ = 'reflectable_autoincrement',
index 7ae4673635c1b7823d27e857da12245b7e9e6a6d..5bec0ad1dba8535d9f98f2da4bcd5791bbded710 100644 (file)
@@ -1,4 +1,4 @@
-from test.lib.testing import eq_, assert_raises
+from sqlalchemy.testing import eq_, assert_raises
 import copy
 import pickle
 
@@ -7,12 +7,12 @@ from sqlalchemy.orm import *
 from sqlalchemy.orm.collections import collection, attribute_mapped_collection
 from sqlalchemy.ext.associationproxy import *
 from sqlalchemy.ext.associationproxy import _AssociationList
-from test.lib import *
-from test.lib.testing import assert_raises_message
-from test.lib.util import gc_collect
+from sqlalchemy.testing import assert_raises_message
+from sqlalchemy.testing.util import gc_collect
 from sqlalchemy.sql import not_
-from test.lib import fixtures
-
+from sqlalchemy.testing import fixtures, AssertsCompiledSQL
+from sqlalchemy import testing
+from sqlalchemy.testing.schema import Table, Column
 
 class DictCollection(dict):
     @collection.appender
index d4931931aff6775c34eb8d28b599c40e87ede267..c1f8b6258989cb0f90ea6f523928c3d49b12c295 100644 (file)
@@ -8,8 +8,8 @@ from sqlalchemy.schema import DDLElement
 from sqlalchemy.ext.compiler import compiles, deregister
 from sqlalchemy import exc
 from sqlalchemy.sql import table, column, visitors
-from test.lib.testing import assert_raises_message
-from test.lib import *
+from sqlalchemy.testing import assert_raises_message
+from sqlalchemy.testing import fixtures, AssertsCompiledSQL
 
 class UserDefinedTest(fixtures.TestBase, AssertsCompiledSQL):
     __dialect__ = 'default'
index 286c1905ff02674885f0a759063fa364b982beb7..a550ae4d0d3d936dc175ebe1d364c20e4cf75844 100644 (file)
@@ -1,14 +1,14 @@
-from test.lib.testing import eq_, assert_raises, assert_raises_message, ne_
+from sqlalchemy.testing import eq_, assert_raises, assert_raises_message, ne_
 from sqlalchemy import util
 from sqlalchemy.orm import attributes
 from sqlalchemy.orm.attributes import set_attribute, get_attribute, del_attribute
 from sqlalchemy.orm.instrumentation import is_instrumented
 from sqlalchemy.orm import clear_mappers
-from test.lib import *
-from test.lib import fixtures
+from sqlalchemy import testing
+from sqlalchemy.testing import fixtures
 from sqlalchemy.ext import instrumentation
 from sqlalchemy.orm.instrumentation import register_class
-from test.lib.util import decorator
+from sqlalchemy.testing.util import decorator
 from sqlalchemy.orm import events
 from sqlalchemy import event
 
index 93ebae48fa1dd549981018bb4dae80e206f551df..0b9b89d2b69cb5553910924b354725e855c8d296 100644 (file)
@@ -5,9 +5,10 @@ from sqlalchemy import sql, util
 from sqlalchemy.orm import *
 from sqlalchemy.ext.horizontal_shard import ShardedSession
 from sqlalchemy.sql import operators
-from test.lib import *
-from test.lib.engines import testing_engine
-from test.lib.testing import eq_
+from sqlalchemy.testing import fixtures
+from sqlalchemy import testing
+from sqlalchemy.testing.engines import testing_engine
+from sqlalchemy.testing import eq_
 from nose import SkipTest
 
 # TODO: ShardTest can be turned into a base for further subclasses
index 77966e6e5fc0b6949b6268e6e3ef7afdce9edd26..e7f392a3388fd9e6c55828f871008cc43e0a1f30 100644 (file)
@@ -1,10 +1,10 @@
 from sqlalchemy import func, Integer, String, ForeignKey
 from sqlalchemy.orm import relationship, Session, aliased
-from test.lib.schema import Column
+from sqlalchemy.testing.schema import Column
 from sqlalchemy.ext.declarative import declarative_base
 from sqlalchemy.ext import hybrid
-from test.lib.testing import eq_, AssertsCompiledSQL, assert_raises_message
-from test.lib import fixtures
+from sqlalchemy.testing import eq_, AssertsCompiledSQL, assert_raises_message
+from sqlalchemy.testing import fixtures
 
 class PropertyComparatorTest(fixtures.TestBase, AssertsCompiledSQL):
     __dialect__ = 'default'
index c345d8fe38c3507c2072cae05f55613f0420a83d..f56ce40378d324c1fde2eb2fe9ceabbf5f873ae8 100644 (file)
@@ -3,11 +3,11 @@ from sqlalchemy.types import PickleType, TypeDecorator, VARCHAR
 from sqlalchemy.orm import mapper, Session, composite
 from sqlalchemy.orm.mapper import Mapper
 from sqlalchemy.orm.instrumentation import ClassManager
-from test.lib.schema import Table, Column
-from test.lib.testing import eq_, assert_raises_message
-from test.lib.util import picklers
-from test.lib import testing
-from test.lib import fixtures
+from sqlalchemy.testing.schema import Table, Column
+from sqlalchemy.testing import eq_, assert_raises_message
+from sqlalchemy.testing.util import picklers
+from sqlalchemy import testing
+from sqlalchemy.testing import fixtures
 import sys
 import pickle
 
index 0b7d4328ec8814f493e42e7ed7061978b7c9de53..37b992f5b9ea308e1fac7d04fddad4cbe047c1dd 100644 (file)
@@ -1,10 +1,11 @@
 from sqlalchemy import Integer, ForeignKey, String, MetaData
 from sqlalchemy.orm import relationship, mapper, create_session
 from sqlalchemy.ext.orderinglist import ordering_list
-from test.lib.testing import eq_
-from test.lib import fixtures, testing
-from test.lib.schema import Table, Column
-from test.lib.util import picklers
+from sqlalchemy.testing import eq_
+from sqlalchemy.testing import fixtures
+from sqlalchemy import testing
+from sqlalchemy.testing.schema import Table, Column
+from sqlalchemy.testing.util import picklers
 
 
 metadata = None
index 0496479aa0e4f2f2550ab0c25bfbbbcb82b8ecd1..bf268fbbb6644911c2a38684f7bc903e13471ba9 100644 (file)
@@ -2,16 +2,16 @@
 from sqlalchemy.ext import serializer
 from sqlalchemy import exc
 import sqlalchemy as sa
-from test.lib import testing
+from sqlalchemy import testing
 from sqlalchemy import MetaData, Integer, String, ForeignKey, select, \
     desc, func, util
-from test.lib.schema import Table
-from test.lib.schema import Column
+from sqlalchemy.testing.schema import Table
+from sqlalchemy.testing.schema import Column
 from sqlalchemy.orm import relationship, sessionmaker, scoped_session, \
     class_mapper, mapper, joinedload, configure_mappers, aliased
-from test.lib.testing import eq_
+from sqlalchemy.testing import eq_
 
-from test.lib import fixtures
+from sqlalchemy.testing import fixtures
 
 class User(fixtures.ComparableEntity):
     pass
diff --git a/test/lib/__init__.py b/test/lib/__init__.py
deleted file mode 100644 (file)
index a1b8eb6..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-"""Testing environment and utilities.
-
-"""
-
-from ..bootstrap import config
-from . import testing, engines, requires, profiling, pickleable, \
-    fixtures
-from .schema import Column, Table
-from .assertions import AssertsCompiledSQL, \
-    AssertsExecutionResults, ComparesTables
-from .util import rowset
-
-
-__all__ = ('testing',
-            'Column', 'Table',
-           'rowset',
-           'fixtures',
-           'AssertsExecutionResults',
-           'AssertsCompiledSQL', 'ComparesTables',
-           'engines', 'profiling', 'pickleable')
-
-
index e51924b773f1d5fe949449d975509cd4829482e3..c218336196fd011375accb6dde7a3083e52df099 100644 (file)
@@ -1,10 +1,10 @@
 from sqlalchemy import MetaData, Integer, String, ForeignKey
 from sqlalchemy import util
-from test.lib.schema import Table
-from test.lib.schema import Column
+from sqlalchemy.testing.schema import Table
+from sqlalchemy.testing.schema import Column
 from sqlalchemy.orm import attributes, mapper, relationship, \
     backref, configure_mappers
-from test.lib import fixtures
+from sqlalchemy.testing import fixtures
 
 __all__ = ()
 
index 6c502f58ddd3d232925a5d02f027cce2a5e981de..55783cd693b24e8f589cbd70ff8c10ef5470fdd1 100644 (file)
@@ -6,9 +6,9 @@ from sqlalchemy.orm import interfaces, relationship, mapper, \
 from sqlalchemy import exc as sa_exc
 from sqlalchemy.engine import default
 
-from test.lib import AssertsCompiledSQL, fixtures, testing
-from test.lib.schema import Table, Column
-from test.lib.testing import assert_raises, eq_
+from sqlalchemy.testing import AssertsCompiledSQL, fixtures, testing
+from sqlalchemy.testing.schema import Table, Column
+from sqlalchemy.testing import assert_raises, eq_
 
 class Company(fixtures.ComparableEntity):
     pass
index 3a61adb18b40d00693949381dd393199b3759067..757f8868ed0415a26b4e5685e2fdbe3b81575c76 100644 (file)
@@ -2,9 +2,9 @@ from sqlalchemy import *
 from sqlalchemy.orm import *
 from sqlalchemy.orm.interfaces import ONETOMANY, MANYTOONE
 
-from test.lib import testing
-from test.lib.schema import Table, Column
-from test.lib import fixtures
+from sqlalchemy import testing
+from sqlalchemy.testing.schema import Table, Column
+from sqlalchemy.testing import fixtures
 
 
 def produce_test(parent, child, direction):
index 746bf0f1309c199218a72fb2341abea43a89d959..f32805cc7537c4269c63d7d13be59b9d1c58a50e 100644 (file)
@@ -2,11 +2,11 @@ from sqlalchemy import *
 from sqlalchemy import util
 from sqlalchemy.orm import *
 
-from test.lib.util import function_named
-from test.lib import fixtures
+from sqlalchemy.testing.util import function_named
+from sqlalchemy.testing import fixtures
 from test.orm import _fixtures
-from test.lib.testing import eq_
-from test.lib.schema import Table, Column
+from sqlalchemy.testing import eq_
+from sqlalchemy.testing.schema import Table, Column
 
 class ABCTest(fixtures.MappedTest):
     @classmethod
index fe9fb493b8ab7e046d549f6b4add8357d79a58fe..9c0ba989eea1bdcef2547e736476861dae9d005c 100644 (file)
@@ -3,17 +3,17 @@ These are generally tests derived from specific user issues.
 
 """
 
-from test.lib.testing import eq_
+from sqlalchemy.testing import eq_
 from sqlalchemy import *
 from sqlalchemy import util
 from sqlalchemy.orm import *
 from sqlalchemy.orm.interfaces import MANYTOONE
-from test.lib import AssertsExecutionResults, testing
-from test.lib.util import function_named
-from test.lib import fixtures
+from sqlalchemy.testing import AssertsExecutionResults, testing
+from sqlalchemy.testing.util import function_named
+from sqlalchemy.testing import fixtures
 from test.orm import _fixtures
-from test.lib.testing import eq_
-from test.lib.schema import Table, Column
+from sqlalchemy.testing import eq_
+from sqlalchemy.testing.schema import Table, Column
 
 class AttrSettable(object):
     def __init__(self, **kwargs):
index ad30ab44dec9e6d7c57cf44c3d8bb292991e859f..66991e9228c45db0ad61ff5c54cd9b6582d875fd 100644 (file)
@@ -1,18 +1,19 @@
 import warnings
-from test.lib.testing import eq_, assert_raises, assert_raises_message
+from sqlalchemy.testing import eq_, assert_raises, assert_raises_message
 from sqlalchemy import *
 from sqlalchemy import exc as sa_exc, util, event
 from sqlalchemy.orm import *
 from sqlalchemy.orm import exc as orm_exc, attributes
-from test.lib.assertsql import AllOf, CompiledSQL
+from sqlalchemy.testing.assertsql import AllOf, CompiledSQL
 from sqlalchemy.sql import table, column
-from test.lib import testing, engines
-from test.lib import fixtures
+from sqlalchemy import testing
+from sqlalchemy.testing import engines
+from sqlalchemy.testing import fixtures
 from test.orm import _fixtures
-from test.lib.schema import Table, Column
+from sqlalchemy.testing.schema import Table, Column
 from sqlalchemy import inspect
 from sqlalchemy.ext.declarative import declarative_base
-from test.lib.util import gc_collect
+from sqlalchemy.testing.util import gc_collect
 
 class O2MTest(fixtures.MappedTest):
     """deals with inheritance and one-to-many relationships"""
index d51efa62bc9d5d2412ac64fff3eec3b0e595ae83..40c3ab31b2009fe85e372f3e0820690b592a83cd 100644 (file)
@@ -1,15 +1,15 @@
-from test.lib.testing import eq_, assert_raises, \
+from sqlalchemy.testing import eq_, assert_raises, \
     assert_raises_message
 from sqlalchemy import *
 from sqlalchemy.orm import *
 from sqlalchemy.orm import exc as orm_exc
-from test.lib import *
+from sqlalchemy.testing import *
 import sqlalchemy as sa
-from test.lib import testing
-from test.lib import fixtures
+from sqlalchemy import testing
+from sqlalchemy.testing import fixtures
 from sqlalchemy.orm import attributes
-from test.lib.testing import eq_
-from test.lib.schema import Table, Column
+from sqlalchemy.testing import eq_
+from sqlalchemy.testing.schema import Table, Column
 
 
 class Employee(object):
index a1118aa86fa65aa44b2cf6940419b7c75f9f53fc..ae5aa8c8d6f7180a02f6400f4f79f7374923f3c7 100644 (file)
@@ -1,10 +1,10 @@
 from sqlalchemy import *
 from sqlalchemy.orm import *
 
-from test.lib import testing
-from test.lib.util import function_named
-from test.lib import fixtures
-from test.lib.schema import Table, Column
+from sqlalchemy import testing
+from sqlalchemy.testing.util import function_named
+from sqlalchemy.testing import fixtures
+from sqlalchemy.testing.schema import Table, Column
 
 class BaseObject(object):
     def __init__(self, *args, **kwargs):
index 1d5d8b297ee2ce969aae414e75b8570ed8f5dd5f..e4df5d133cc2bc89501bac3a2909ca260b0ceb6a 100644 (file)
@@ -1,9 +1,9 @@
-from test.lib.testing import eq_
+from sqlalchemy.testing import eq_
 from sqlalchemy import *
 from sqlalchemy.orm import *
 
-from test.lib import testing
-from test.lib import fixtures
+from sqlalchemy import testing
+from sqlalchemy.testing import fixtures
 
 
 class InheritTest(fixtures.MappedTest):
index f8766258750641f5c9fba824989e8a137aa5066e..1915007def90f9fd3cce0f49ab55b6a0448889c9 100644 (file)
@@ -1,9 +1,9 @@
 from sqlalchemy import *
 from sqlalchemy.orm import *
 
-from test.lib import fixtures
-from test.lib import testing
-from test.lib.schema import Table, Column
+from sqlalchemy.testing import fixtures
+from sqlalchemy import testing
+from sqlalchemy.testing.schema import Table, Column
 
 
 class PolymorphicCircularTest(fixtures.MappedTest):
index 5b5844b7032c7e3065d427c3010c4e7c87d3d335..3450c133c167a4323646a187702d8dfddc017514 100644 (file)
@@ -1,14 +1,14 @@
 """tests basic polymorphic mapper loading/saving, minimal relationships"""
 
-from test.lib.testing import eq_, assert_raises, assert_raises_message
+from sqlalchemy.testing import eq_, assert_raises, assert_raises_message
 from sqlalchemy import *
 from sqlalchemy.orm import *
 from sqlalchemy.orm import exc as orm_exc
 from sqlalchemy import exc as sa_exc
-from test.lib import Column, testing
-from test.lib.util import function_named
+from sqlalchemy.testing import Column, testing
+from sqlalchemy.testing.util import function_named
 from test.orm import _fixtures
-from test.lib import fixtures
+from sqlalchemy.testing import fixtures
 
 class Person(fixtures.ComparableEntity):
     pass
index 6d7bcb6760df2cfaef7a3b344b6198f536ba31f9..8bbde972ddaef895523fd44e3b6aba330a6116ca 100644 (file)
@@ -4,8 +4,8 @@ from sqlalchemy.orm import interfaces, create_session, joinedload, joinedload_al
     class_mapper
 from sqlalchemy import exc as sa_exc
 
-from test.lib import testing
-from test.lib.testing import assert_raises, eq_
+from sqlalchemy import testing
+from sqlalchemy.testing import assert_raises, eq_
 
 from _poly_fixtures import Company, Person, Engineer, Manager, Boss, \
     Machine, Paperwork, _Polymorphic,\
index d7c7eb24a2877385465886ec9e1e8339d44c0383..c1e99e3383f35f6f3435f84fb1679cf930097747 100644 (file)
@@ -2,9 +2,9 @@ from datetime import datetime
 from sqlalchemy import *
 from sqlalchemy.orm import *
 
-from test.lib import testing
-from test.lib import fixtures
-from test.lib.schema import Table, Column
+from sqlalchemy import testing
+from sqlalchemy.testing import fixtures
+from sqlalchemy.testing.schema import Table, Column
 
 class InheritTest(fixtures.MappedTest):
     """tests some various inheritance round trips involving a particular set of polymorphic inheritance relationships"""
index a4e19b988bcc657cb3a2506cf261e40d531095fe..5511614c806875e610a357a29dcf314ec4878bbe 100644 (file)
@@ -5,9 +5,9 @@ from sqlalchemy.orm import create_session, relationship, mapper, \
 from sqlalchemy import Integer, String, ForeignKey
 from sqlalchemy.engine import default
 
-from test.lib import AssertsCompiledSQL, fixtures, testing
-from test.lib.schema import Table, Column
-from test.lib.testing import assert_raises, eq_
+from sqlalchemy.testing import AssertsCompiledSQL, fixtures, testing
+from sqlalchemy.testing.schema import Table, Column
+from sqlalchemy.testing import assert_raises, eq_
 
 class Company(fixtures.ComparableEntity):
     pass
index 9758744ca26bde87c36a972e00d52acd409dae69..dd9c8c8b81ad7af74bf54cb0a9af09dba5a796e2 100644 (file)
@@ -1,9 +1,9 @@
 from sqlalchemy import *
 from sqlalchemy.orm import *
 
-from test.lib import testing
+from sqlalchemy import testing
 
-from test.lib import fixtures
+from sqlalchemy.testing import fixtures
 
 class InheritingSelectablesTest(fixtures.MappedTest):
     @classmethod
index 774626c48e888b6b7eab18050c6979bd620a220c..08a693b92f1bb779b4d0ba8b281cea160b24a09b 100644 (file)
@@ -1,11 +1,11 @@
-from test.lib.testing import eq_
+from sqlalchemy.testing import eq_
 from sqlalchemy import *
 from sqlalchemy.orm import *
 
-from test.lib import testing
+from sqlalchemy import testing
 from test.orm import _fixtures
-from test.lib import fixtures
-from test.lib.schema import Table, Column
+from sqlalchemy.testing import fixtures
+from sqlalchemy.testing.schema import Table, Column
 
 
 class SingleInheritanceTest(testing.AssertsCompiledSQL, fixtures.MappedTest):
index dc0035b6a8e246e532ffc3c1f84eec7380cfd540..cbf2c96513985187cb38fde36085090d02442ef4 100644 (file)
@@ -6,9 +6,9 @@ from sqlalchemy.orm import interfaces, relationship, mapper, \
 from sqlalchemy import exc as sa_exc
 from sqlalchemy.engine import default
 
-from test.lib import AssertsCompiledSQL, fixtures, testing
-from test.lib.schema import Table, Column
-from test.lib.testing import assert_raises, eq_
+from sqlalchemy.testing import AssertsCompiledSQL, fixtures, testing
+from sqlalchemy.testing.schema import Table, Column
+from sqlalchemy.testing import assert_raises, eq_
 
 from _poly_fixtures import Company, Person, Engineer, Manager, Boss, \
     Machine, Paperwork, _PolymorphicFixtureBase, _Polymorphic,\
index 47d0b1ddc2fffb47e6a7143cb667dfcaa866318b..376cfaa84fb4e457377f26caa6649964bfb2821d 100644 (file)
@@ -1,10 +1,10 @@
 
-from test.lib import testing
+from sqlalchemy import testing
 from sqlalchemy import Integer, String, ForeignKey
-from test.lib.schema import Table, Column
+from sqlalchemy.testing.schema import Table, Column
 from sqlalchemy.orm import mapper, relationship, create_session
-from test.lib import fixtures
-from test.lib.testing import eq_
+from sqlalchemy.testing import fixtures
+from sqlalchemy.testing import eq_
 
 
 class AssociationTest(fixtures.MappedTest):
index dded00256f2708ddac327e1d832fe01a6f87a587..a1c96bdfa40955b66f9e1517ccdb0c7308aabeab 100644 (file)
@@ -9,12 +9,12 @@ be cleaned up and modernized.
 import datetime
 
 import sqlalchemy as sa
-from test.lib import testing
+from sqlalchemy import testing
 from sqlalchemy import Integer, String, ForeignKey
-from test.lib.schema import Table, Column
+from sqlalchemy.testing.schema import Table, Column
 from sqlalchemy.orm import mapper, relationship, backref, create_session
-from test.lib.testing import eq_
-from test.lib import fixtures
+from sqlalchemy.testing import eq_
+from sqlalchemy.testing import fixtures
 
 
 class EagerTest(fixtures.MappedTest):
index 7c0c9527ad9ec88122b5776678b8c7ded6458b9c..ecdfef29406166f64c4ab4ba3982a90e32e7e2b0 100644 (file)
@@ -3,11 +3,11 @@ from sqlalchemy.orm import attributes, instrumentation, exc as orm_exc
 from sqlalchemy.orm.collections import collection
 from sqlalchemy.orm.interfaces import AttributeExtension
 from sqlalchemy import exc as sa_exc
-from test.lib import *
-from test.lib.testing import eq_, ne_, assert_raises, \
+from sqlalchemy.testing import *
+from sqlalchemy.testing import eq_, ne_, assert_raises, \
     assert_raises_message
-from test.lib import fixtures
-from test.lib.util import gc_collect, all_partial_orderings
+from sqlalchemy.testing import fixtures
+from sqlalchemy.testing.util import gc_collect, all_partial_orderings
 from sqlalchemy.util import jython
 from sqlalchemy import event
 
index 7e425a457e9ffb1df60162526e86a13e4390c901..925eedfa90fde3bcff1c342ce261ce2222bc68a5 100644 (file)
@@ -9,16 +9,16 @@ UPDATE in the database.
 
 """
 
-from test.lib.testing import assert_raises, assert_raises_message
+from sqlalchemy.testing import assert_raises, assert_raises_message
 from sqlalchemy import Integer, String, ForeignKey, Sequence, exc as sa_exc
-from test.lib.schema import Table
-from test.lib.schema import Column
+from sqlalchemy.testing.schema import Table
+from sqlalchemy.testing.schema import Column
 from sqlalchemy.orm import mapper, relationship, create_session, \
     class_mapper, backref, sessionmaker, Session
 from sqlalchemy.orm import attributes, exc as orm_exc
-from test.lib import testing
-from test.lib.testing import eq_
-from test.lib import fixtures
+from sqlalchemy import testing
+from sqlalchemy.testing import eq_
+from sqlalchemy.testing import fixtures
 from test.orm import _fixtures
 
 class O2MCollectionTest(_fixtures.FixtureTest):
index 00d9bb0942140638d9e9364228f0a672bddf2a1c..0d869130bd9fd8d759dbc6236dae623a76e4eef2 100644 (file)
@@ -1,11 +1,11 @@
-from test.lib.testing import assert_raises, assert_raises_message
+from sqlalchemy.testing import assert_raises, assert_raises_message
 from sqlalchemy import MetaData, Integer
-from test.lib.schema import Table
-from test.lib.schema import Column
+from sqlalchemy.testing.schema import Table
+from sqlalchemy.testing.schema import Column
 from sqlalchemy.orm import mapper, create_session
 import sqlalchemy as sa
-from test.lib import testing
-from test.lib import fixtures
+from sqlalchemy import testing
+from sqlalchemy.testing import fixtures
 
 
 class BindTest(fixtures.MappedTest):
index ee3c7b63ee78d7850a997f7493144182bf180352..f681fc49887fc25acdef7a0a5811237447fff34d 100644 (file)
@@ -1,15 +1,15 @@
 
-from test.lib.testing import assert_raises, assert_raises_message
+from sqlalchemy.testing import assert_raises, assert_raises_message
 from sqlalchemy import Integer, String, ForeignKey, Sequence, \
     exc as sa_exc
-from test.lib.schema import Table, Column
+from sqlalchemy.testing.schema import Table, Column
 from sqlalchemy.orm import mapper, relationship, create_session, \
     sessionmaker, class_mapper, backref, Session, util as orm_util,\
     configure_mappers
 from sqlalchemy.orm import attributes, exc as orm_exc
-from test.lib import testing
-from test.lib.testing import eq_
-from test.lib import fixtures
+from sqlalchemy import testing
+from sqlalchemy.testing import eq_
+from sqlalchemy.testing import fixtures
 from test.orm import _fixtures
 
 class CascadeArgTest(fixtures.MappedTest):
index b3de03aaef61506d9f1a8020d13e6a8a2d320d48..dc8aa2bc46ba683886856502d27b8c2a68fc2735 100644 (file)
@@ -1,4 +1,4 @@
-from test.lib.testing import eq_
+from sqlalchemy.testing import eq_
 import sys
 from operator import and_
 
@@ -6,14 +6,14 @@ import sqlalchemy.orm.collections as collections
 from sqlalchemy.orm.collections import collection
 
 import sqlalchemy as sa
-from test.lib import testing
+from sqlalchemy import testing
 from sqlalchemy import Integer, String, ForeignKey, text
-from test.lib.schema import Table, Column
+from sqlalchemy.testing.schema import Table, Column
 from sqlalchemy import util, exc as sa_exc
 from sqlalchemy.orm import create_session, mapper, relationship, \
     attributes, instrumentation
-from test.lib import fixtures
-from test.lib.testing import eq_, assert_raises, assert_raises_message
+from sqlalchemy.testing import fixtures
+from sqlalchemy.testing import eq_, assert_raises, assert_raises_message
 
 class Canary(sa.orm.interfaces.AttributeExtension):
     def __init__(self):
@@ -1669,7 +1669,7 @@ class ColumnMappedWSerialize(fixtures.MappedTest):
         ])
 
     def _run_test(self, specs):
-        from test.lib.util import picklers
+        from sqlalchemy.testing.util import picklers
         for spec, obj, expected in specs:
             coll = collections.column_mapped_collection(spec)()
             eq_(
index 1b2714d7001bdb7265f0444ae257b0c5521d8c5f..d5823b7a6eec84cbe11ba5d6574d7f09341e1512 100644 (file)
@@ -1,9 +1,9 @@
 from sqlalchemy import *
 from sqlalchemy import exc as sa_exc
 from sqlalchemy.orm import *
-from test.lib import *
-from test.lib.testing import assert_raises_message
-from test.lib import fixtures
+from sqlalchemy.testing import *
+from sqlalchemy.testing import assert_raises_message
+from sqlalchemy.testing import fixtures
 
 
 class CompileTest(fixtures.ORMTest):
index 5e5775dc28d20021056ebf92af612b0cf238fba8..f9af0c702e1ec7f48c44601a44f5686f70bfdf4d 100644 (file)
@@ -1,17 +1,17 @@
-from test.lib.testing import assert_raises, assert_raises_message
+from sqlalchemy.testing import assert_raises, assert_raises_message
 import sqlalchemy as sa
-from test.lib import testing
+from sqlalchemy import testing
 from sqlalchemy import MetaData, Integer, String, ForeignKey, func, \
     util, select
-from test.lib.schema import Table, Column
+from sqlalchemy.testing.schema import Table, Column
 from sqlalchemy.orm import mapper, relationship, backref, \
     class_mapper, CompositeProperty, \
     validates, aliased
 from sqlalchemy.orm import attributes, \
     composite, relationship, \
     Session
-from test.lib.testing import eq_
-from test.lib import fixtures
+from sqlalchemy.testing import eq_
+from sqlalchemy.testing import fixtures
 from test.orm import _fixtures
 
 
index dce8e04deb10ad51459d630a1df4363de8d2b413..1da57b050ac4c2acf54934fa95ac7cb693e9fe50 100644 (file)
@@ -5,14 +5,14 @@ T1<->T2, with o2m or m2o between them, and a third T3 with o2m/m2o to one/both
 T1/T2.
 
 """
-from test.lib import testing
+from sqlalchemy import testing
 from sqlalchemy import Integer, String, ForeignKey
-from test.lib.schema import Table, Column
+from sqlalchemy.testing.schema import Table, Column
 from sqlalchemy.orm import mapper, relationship, backref, \
                             create_session, sessionmaker
-from test.lib.testing import eq_
-from test.lib.assertsql import RegexSQL, ExactSQL, CompiledSQL, AllOf
-from test.lib import fixtures
+from sqlalchemy.testing import eq_
+from sqlalchemy.testing.assertsql import RegexSQL, ExactSQL, CompiledSQL, AllOf
+from sqlalchemy.testing import fixtures
 
 
 class SelfReferentialTest(fixtures.MappedTest):
index 675cebda8343eecaabdc0f0985bf8b7ef88c8dde..b986ac568e7973c12d4a26e644fcfbfd613b9359 100644 (file)
@@ -1,10 +1,10 @@
 from test.orm import _fixtures
-from test.lib import testing
+from sqlalchemy import testing
 from sqlalchemy.orm import mapper, relationship, create_session
 from sqlalchemy import util
 from sqlalchemy.util import any
 import sqlalchemy as sa
-from test.lib.testing import eq_, assert_raises_message
+from sqlalchemy.testing import eq_, assert_raises_message
 
 class DefaultStrategyOptionsTest(_fixtures.FixtureTest):
 
index a246cddaea470f12e830c1a883a1a04733b4a9cf..2c4656e10a984693978bd7cc52120aa7bcdfca8c 100644 (file)
@@ -1,11 +1,10 @@
-
 import sqlalchemy as sa
 from sqlalchemy import Integer, String, ForeignKey, event
-from test.lib import testing
-from test.lib.schema import Table, Column
+from sqlalchemy import testing
+from sqlalchemy.testing.schema import Table, Column
 from sqlalchemy.orm import mapper, relationship, create_session
-from test.lib import fixtures
-from test.lib.testing import eq_
+from sqlalchemy.testing import fixtures
+from sqlalchemy.testing import eq_
 
 
 class TriggerDefaultsTest(fixtures.MappedTest):
index e6222d167358d7763de436269e0151e71e277d14..95fa9dd2913f29fc4162ed8b428b30f065f00fa3 100644 (file)
@@ -5,12 +5,12 @@ modern (i.e. not deprecated) alternative to them.  The tests snippets here can
 be migrated directly to the wiki, docs, etc.
 
 """
-from test.lib import testing
+from sqlalchemy import testing
 from sqlalchemy import Integer, String, ForeignKey, func
-from test.lib.schema import Table
-from test.lib.schema import Column
+from sqlalchemy.testing.schema import Table
+from sqlalchemy.testing.schema import Column
 from sqlalchemy.orm import mapper, relationship, relation, create_session, sessionmaker
-from test.lib import fixtures
+from sqlalchemy.testing import fixtures
 
 
 class QueryAlternativesTest(fixtures.MappedTest):
index b8b87679473fc6eebb3942b3a30e8c49caa89d4d..2134d87b295e4221716fe9baa2e3947e231b61ef 100644 (file)
@@ -5,8 +5,8 @@ from sqlalchemy.sql import column
 from sqlalchemy import Column, Integer, func, String
 from sqlalchemy.ext.declarative import declarative_base
 from sqlalchemy.util import partial
-from test.lib import fixtures
-from test.lib.testing import eq_
+from sqlalchemy.testing import fixtures
+from sqlalchemy.testing import eq_
 
 class TestDescriptor(descriptor_props.DescriptorProperty):
     def __init__(self, cls, key, descriptor=None, doc=None,
index fd8793778a8382115e6d74fa8a65612f94ad013c..3c4ad4b1131a26a53397651171e5a615aa87e398 100644 (file)
@@ -1,13 +1,13 @@
-from test.lib.testing import eq_, ne_
+from sqlalchemy.testing import eq_, ne_
 import operator
 from sqlalchemy.orm import dynamic_loader, backref, configure_mappers
-from test.lib import testing
+from sqlalchemy import testing
 from sqlalchemy import Integer, String, ForeignKey, desc, select, func, exc
-from test.lib.schema import Table, Column
+from sqlalchemy.testing.schema import Table, Column
 from sqlalchemy.orm import mapper, relationship, create_session, Query, attributes, exc as orm_exc
 from sqlalchemy.orm.dynamic import AppenderMixin
-from test.lib.testing import eq_, AssertsCompiledSQL, assert_raises_message, assert_raises
-from test.lib import fixtures
+from sqlalchemy.testing import eq_, AssertsCompiledSQL, assert_raises_message, assert_raises
+from sqlalchemy.testing import fixtures
 from test.orm import _fixtures
 
 
index 4ef55293b3422d5a7c05dc30fb87bf2d16659f2f..664ddb8e3047fd6c7b788834c672ee7e1ecc2699 100644 (file)
@@ -1,20 +1,20 @@
 """tests of joined-eager loaded attributes"""
 
-from test.lib.testing import eq_, is_, is_not_
+from sqlalchemy.testing import eq_, is_, is_not_
 import sqlalchemy as sa
-from test.lib import testing
+from sqlalchemy import testing
 from sqlalchemy.orm import joinedload, deferred, undefer, \
     joinedload_all, backref, eagerload, Session, immediateload
 from sqlalchemy import Integer, String, Date, ForeignKey, and_, select, \
     func
-from test.lib.schema import Table, Column
+from sqlalchemy.testing.schema import Table, Column
 from sqlalchemy.orm import mapper, relationship, create_session, \
     lazyload, aliased, column_property
 from sqlalchemy.sql import operators
-from test.lib.testing import eq_, assert_raises, \
+from sqlalchemy.testing import eq_, assert_raises, \
     assert_raises_message
-from test.lib.assertsql import CompiledSQL
-from test.lib import fixtures
+from sqlalchemy.testing.assertsql import CompiledSQL
+from sqlalchemy.testing import fixtures
 from test.orm import _fixtures
 from sqlalchemy.util import OrderedDict as odict
 import datetime
index f632561f1f348291806f706f398d42cd4a099600..4678100ebdd1f8780e9ecf459f2ac1d26d84bcf1 100644 (file)
@@ -1,12 +1,12 @@
 """Evluating SQL expressions on ORM objects"""
 import sqlalchemy as sa
-from test.lib import testing
+from sqlalchemy import testing
 from sqlalchemy import String, Integer, select
-from test.lib.schema import Table
-from test.lib.schema import Column
+from sqlalchemy.testing.schema import Table
+from sqlalchemy.testing.schema import Column
 from sqlalchemy.orm import mapper, create_session
-from test.lib.testing import eq_
-from test.lib import fixtures
+from sqlalchemy.testing import eq_
+from sqlalchemy.testing import fixtures
 
 from sqlalchemy import and_, or_, not_
 from sqlalchemy.orm import evaluator
index e49a4a6a7aebc42159b953fd6a5eb877e8da6c58..d8bef66d3c242958e0b9144109f53b8e06b67a6a 100644 (file)
@@ -1,15 +1,15 @@
-from test.lib.testing import assert_raises_message, assert_raises
+from sqlalchemy.testing import assert_raises_message, assert_raises
 import sqlalchemy as sa
-from test.lib import testing
+from sqlalchemy import testing
 from sqlalchemy import Integer, String
-from test.lib.schema import Table, Column
+from sqlalchemy.testing.schema import Table, Column
 from sqlalchemy.orm import mapper, relationship, \
     create_session, class_mapper, \
     Mapper, column_property, \
     Session, sessionmaker, attributes
 from sqlalchemy.orm.instrumentation import ClassManager
-from test.lib.testing import eq_
-from test.lib import fixtures
+from sqlalchemy.testing import eq_
+from sqlalchemy.testing import fixtures
 from test.orm import _fixtures
 from sqlalchemy import event
 
index 16ca8b0ba29ebe988249baf5a36a70f012ddf266..0b1350e0aae1e7c2bcbd864660f649ac5fcd9b65 100644 (file)
@@ -1,16 +1,16 @@
 """Attribute/instance expiration, deferral of attributes, etc."""
 
-from test.lib.testing import eq_, assert_raises, assert_raises_message
-from test.lib.util import gc_collect
+from sqlalchemy.testing import eq_, assert_raises, assert_raises_message
+from sqlalchemy.testing.util import gc_collect
 import sqlalchemy as sa
-from test.lib import testing
+from sqlalchemy import testing
 from sqlalchemy import Integer, String, ForeignKey, exc as sa_exc
-from test.lib.schema import Table
-from test.lib.schema import Column
+from sqlalchemy.testing.schema import Table
+from sqlalchemy.testing.schema import Column
 from sqlalchemy.orm import mapper, relationship, create_session, \
                         attributes, deferred, exc as orm_exc, defer, undefer,\
                         strategies, state, lazyload, backref, Session
-from test.lib import fixtures
+from sqlalchemy.testing import fixtures
 from test.orm import _fixtures
 
 
index f70f08470b2ea86fe134269840cc61bbc9860e64..05a017bb9bdefa200c7a208898f3e85b901297b5 100644 (file)
@@ -1,4 +1,4 @@
-from test.lib.testing import eq_, assert_raises, assert_raises_message
+from sqlalchemy.testing import eq_, assert_raises, assert_raises_message
 import operator
 from sqlalchemy import *
 from sqlalchemy import exc as sa_exc, util
@@ -7,14 +7,15 @@ from sqlalchemy.engine import default
 from sqlalchemy.orm import *
 from sqlalchemy.orm import attributes
 
-from test.lib.testing import eq_
+from sqlalchemy.testing import eq_
 
 import sqlalchemy as sa
-from test.lib import testing, AssertsCompiledSQL, Column, engines
+from sqlalchemy import testing
+from sqlalchemy.testing import AssertsCompiledSQL, Column, engines
 
 from test.orm import _fixtures
 
-from test.lib import fixtures
+from sqlalchemy.testing import fixtures
 
 from sqlalchemy.orm.util import join, outerjoin, with_parent
 
index de3de3d63deba2ddbff227218526465ae3a3f3f9..3f5da69c33ca7934aea23a77350305f637173e0d 100644 (file)
@@ -1,12 +1,12 @@
-from test.lib.testing import eq_
+from sqlalchemy.testing import eq_
 import sqlalchemy as sa
-from test.lib import testing
+from sqlalchemy import testing
 from sqlalchemy import Integer, String, ForeignKey, MetaData, func
-from test.lib.schema import Table
-from test.lib.schema import Column
+from sqlalchemy.testing.schema import Table
+from sqlalchemy.testing.schema import Column
 from sqlalchemy.orm import mapper, relationship, create_session
-from test.lib.testing import eq_
-from test.lib import fixtures
+from sqlalchemy.testing import eq_
+from sqlalchemy.testing import fixtures
 from test.orm import _fixtures
 
 
index b9d1cb15af7e70655c619770d1310526a9e28e39..fd246b527bca001f07429f0015f82e2ccbe7f85c 100644 (file)
@@ -1,18 +1,18 @@
 """test the current state of the hasparent() flag."""
 
 
-from test.lib.testing import assert_raises, assert_raises_message
+from sqlalchemy.testing import assert_raises, assert_raises_message
 from sqlalchemy import Integer, String, ForeignKey, Sequence, \
     exc as sa_exc
-from test.lib.schema import Table, Column
+from sqlalchemy.testing.schema import Table, Column
 from sqlalchemy.orm import mapper, relationship, create_session, \
     sessionmaker, class_mapper, backref, Session
 from sqlalchemy.orm import attributes, exc as orm_exc
-from test.lib import testing
-from test.lib.testing import eq_
-from test.lib import fixtures
+from sqlalchemy import testing
+from sqlalchemy.testing import eq_
+from sqlalchemy.testing import fixtures
 from test.orm import _fixtures
-from test.lib.util import gc_collect
+from sqlalchemy.testing.util import gc_collect
 
 
 class ParentRemovalTest(fixtures.MappedTest):
index e809ebfe6383f416469c9dacd4a252b783f90cb6..38dec75bd0e6b1bebdd1e1c71606e3469772bb28 100644 (file)
@@ -1,8 +1,8 @@
 """basic tests of lazy loaded attributes"""
 
-from test.lib import testing
+from sqlalchemy import testing
 from sqlalchemy.orm import mapper, relationship, create_session, immediateload
-from test.lib.testing import eq_
+from sqlalchemy.testing import eq_
 from test.orm import _fixtures
 
 
index bd43e43d6a82d4bc7985eca7f318da2c0e0202d3..f504ad16e14aa7c091d7414a82285239584a4615 100644 (file)
@@ -1,12 +1,12 @@
 """test the inspection registry system."""
 
-from test.lib.testing import eq_, assert_raises_message, is_
+from sqlalchemy.testing import eq_, assert_raises_message, is_
 from sqlalchemy import exc, util
 from sqlalchemy import inspect
 from test.orm import _fixtures
 from sqlalchemy.orm import class_mapper, synonym, Session, aliased
 from sqlalchemy.orm.attributes import instance_state, NO_VALUE
-from test.lib import testing
+from sqlalchemy import testing
 
 class TestORMInspection(_fixtures.FixtureTest):
     @classmethod
index d2388856fdfae177a5b304b1d96be65844acabc3..01b678fac8c127815d21366fc26b65f48f9fecbe 100644 (file)
@@ -1,13 +1,13 @@
 
-from test.lib.testing import assert_raises, assert_raises_message
+from sqlalchemy.testing import assert_raises, assert_raises_message
 import sqlalchemy as sa
 from sqlalchemy import MetaData, Integer, ForeignKey, util, event
 from sqlalchemy.orm import mapper, relationship, create_session, \
     attributes, class_mapper, clear_mappers, instrumentation, events
-from test.lib.schema import Table
-from test.lib.schema import Column
-from test.lib.testing import eq_, ne_
-from test.lib import fixtures, testing
+from sqlalchemy.testing.schema import Table
+from sqlalchemy.testing.schema import Column
+from sqlalchemy.testing import eq_, ne_
+from sqlalchemy.testing import fixtures, testing
 
 
 class InitTest(fixtures.ORMTest):
index 086897186fc5620209b7fe0cdb8b5ee1760032ab..358c3ae8d67e4a032d1dd68266ee4aad5d547a90 100644 (file)
@@ -1,4 +1,4 @@
-from test.lib.testing import eq_, assert_raises, assert_raises_message
+from sqlalchemy.testing import eq_, assert_raises, assert_raises_message
 import operator
 from sqlalchemy import *
 from sqlalchemy import exc as sa_exc, util
@@ -7,14 +7,14 @@ from sqlalchemy.engine import default
 from sqlalchemy.orm import *
 from sqlalchemy.orm import attributes
 
-from test.lib.testing import eq_
+from sqlalchemy.testing import eq_
 
 import sqlalchemy as sa
-from test.lib import testing, AssertsCompiledSQL, Column, engines
-
+from sqlalchemy import testing
+from sqlalchemy.testing import AssertsCompiledSQL, Column, engines
 from test.orm import _fixtures
 
-from test.lib import fixtures
+from sqlalchemy.testing import fixtures
 
 from sqlalchemy.orm.util import join, outerjoin, with_parent
 
index 297d027f5db8c9d854208ca8e46b83cf1dc51aaf..66b1eb5e482cf690fd426ecd4d57178d76452434 100644 (file)
@@ -1,18 +1,18 @@
 """basic tests of lazy loaded attributes"""
 
-from test.lib.testing import assert_raises, assert_raises_message
+from sqlalchemy.testing import assert_raises, assert_raises_message
 import datetime
 from sqlalchemy import exc as sa_exc
 from sqlalchemy.orm import attributes, exc as orm_exc
 import sqlalchemy as sa
-from test.lib import testing
+from sqlalchemy import testing
 from sqlalchemy import Integer, String, ForeignKey, SmallInteger
 from sqlalchemy.types import TypeDecorator
-from test.lib.schema import Table
-from test.lib.schema import Column
+from sqlalchemy.testing.schema import Table
+from sqlalchemy.testing.schema import Column
 from sqlalchemy.orm import mapper, relationship, create_session
-from test.lib.testing import eq_
-from test.lib import fixtures
+from sqlalchemy.testing import eq_
+from sqlalchemy.testing import fixtures
 from test.orm import _fixtures
 
 
index 05b78ccb8785c2edb1e3f8dfa6b3b4f224f07106..813d8d17ad81bfac1dbdf7de10fe808fcefd7cda 100644 (file)
@@ -2,12 +2,12 @@ from sqlalchemy import *
 from sqlalchemy.orm import *
 
 from sqlalchemy.ext.declarative import declarative_base
-from test.lib.testing import eq_, AssertsExecutionResults, assert_raises
-from test.lib import testing
-from test.lib import fixtures
+from sqlalchemy.testing import eq_, AssertsExecutionResults, assert_raises
+from sqlalchemy import testing
+from sqlalchemy.testing import fixtures
 from sqlalchemy.orm.attributes import instance_state
 from sqlalchemy.orm.exc import FlushError
-from test.lib.schema import Table, Column
+from sqlalchemy.testing.schema import Table, Column
 
 engine = testing.db
 
index b2bc608659bdb72c02b5c988d769dc7a47b9ab98..0fe82f39443522f10c9082b12a71b75b1383a903 100644 (file)
@@ -2,8 +2,8 @@ from sqlalchemy.engine import default
 from sqlalchemy.databases import *
 from sqlalchemy.orm import mapper
 from sqlalchemy.orm import Session
-from test.lib import AssertsCompiledSQL
-from test.lib.testing import assert_raises_message
+from sqlalchemy.testing import AssertsCompiledSQL
+from sqlalchemy.testing import assert_raises_message
 from test.orm import _fixtures
 
 
index ed9075833bcb0059706d64e78dabba4d442e2ada..ca9c3c0959bbc68d8805253e07cdcbccab138e7e 100644 (file)
@@ -1,13 +1,13 @@
-from test.lib.testing import assert_raises, \
+from sqlalchemy.testing import assert_raises, \
     assert_raises_message, eq_
 import sqlalchemy as sa
-from test.lib import testing
+from sqlalchemy import testing
 from sqlalchemy import Integer, String, ForeignKey
-from test.lib.schema import Table
-from test.lib.schema import Column
+from sqlalchemy.testing.schema import Table
+from sqlalchemy.testing.schema import Column
 from sqlalchemy.orm import mapper, relationship, create_session, \
     exc as orm_exc, sessionmaker
-from test.lib import fixtures
+from sqlalchemy.testing import fixtures
 
 
 class M2MTest(fixtures.MappedTest):
index 487ec066f485a16aa4699bf2757d0e5ad906f7ae..b2e36b273616a8b8f0c5369f2b417dc383be90a6 100644 (file)
@@ -1,10 +1,10 @@
 """General mapper operations with an emphasis on selecting/loading."""
 
-from test.lib.testing import assert_raises, assert_raises_message
+from sqlalchemy.testing import assert_raises, assert_raises_message
 import sqlalchemy as sa
-from test.lib import testing
+from sqlalchemy import testing
 from sqlalchemy import MetaData, Integer, String, ForeignKey, func, util
-from test.lib.schema import Table, Column
+from sqlalchemy.testing.schema import Table, Column
 from sqlalchemy.engine import default
 from sqlalchemy.orm import mapper, relationship, backref, \
     create_session, class_mapper, configure_mappers, reconstructor, \
@@ -12,10 +12,10 @@ from sqlalchemy.orm import mapper, relationship, backref, \
     column_property, composite, dynamic_loader, \
     comparable_property, Session
 from sqlalchemy.orm.persistence import _sort_states
-from test.lib.testing import eq_, AssertsCompiledSQL, is_
-from test.lib import fixtures
+from sqlalchemy.testing import eq_, AssertsCompiledSQL, is_
+from sqlalchemy.testing import fixtures
 from test.orm import _fixtures
-from test.lib.assertsql import CompiledSQL
+from sqlalchemy.testing.assertsql import CompiledSQL
 import logging
 
 class MapperTest(_fixtures.FixtureTest, AssertsCompiledSQL):
index 47203b874e2b81c0f51855dd3f2465b49f9d5b8e..e1474f39b1284d789dd1678161c15cf482a2097e 100644 (file)
@@ -1,19 +1,19 @@
-from test.lib.testing import assert_raises, assert_raises_message
+from sqlalchemy.testing import assert_raises, assert_raises_message
 import sqlalchemy as sa
 from sqlalchemy import Integer, PickleType, String, ForeignKey
 import operator
-from test.lib import testing
+from sqlalchemy import testing
 from sqlalchemy.util import OrderedSet
 from sqlalchemy.orm import mapper, relationship, create_session, \
     PropComparator, synonym, comparable_property, sessionmaker, \
     attributes, Session, backref, configure_mappers
 from sqlalchemy.orm.collections import attribute_mapped_collection
 from sqlalchemy.orm.interfaces import MapperOption
-from test.lib.testing import eq_, ne_
-from test.lib import fixtures
+from sqlalchemy.testing import eq_, ne_
+from sqlalchemy.testing import fixtures
 from test.orm import _fixtures
 from sqlalchemy import event, and_, case
-from test.lib.schema import Table, Column
+from sqlalchemy.testing.schema import Table, Column
 
 class MergeTest(_fixtures.FixtureTest):
     """Session.merge() functionality"""
index 0592b1e10c88ae1ded856d1a38980d58316e378e..9ad54fd10c1051235b6f0ce2f7717f46c32f4c45 100644 (file)
@@ -3,16 +3,16 @@ Primary key changing capabilities and passive/non-passive cascading updates.
 
 """
 from __future__ import with_statement
-from test.lib.testing import eq_, ne_, \
+from sqlalchemy.testing import eq_, ne_, \
                         assert_raises, assert_raises_message
 import sqlalchemy as sa
-from test.lib import testing
+from sqlalchemy import testing
 from sqlalchemy import Integer, String, ForeignKey, Unicode
-from test.lib.schema import Table, Column
+from sqlalchemy.testing.schema import Table, Column
 from sqlalchemy.orm import mapper, relationship, create_session, backref, Session
 from sqlalchemy.orm.session import make_transient
-from test.lib.testing import eq_
-from test.lib import fixtures
+from sqlalchemy.testing import eq_
+from sqlalchemy.testing import fixtures
 from test.orm import _fixtures
 
 class NaturalPKTest(fixtures.MappedTest):
@@ -965,7 +965,7 @@ class CascadeToFKPKTest(fixtures.MappedTest, testing.AssertsCompiledSQL):
         sess.add(u2)
         sess.add(a2)
 
-        from test.lib.assertsql import CompiledSQL
+        from sqlalchemy.testing.assertsql import CompiledSQL
 
         # test that the primary key columns of addresses are not
         # being updated as well, since this is a row switch.
index 40d553fe843f932e40aa3775c758032ee49e3107..28bcc6e81146acf8c02f4b32d02c375e3a904f33 100644 (file)
@@ -2,11 +2,12 @@ from sqlalchemy.orm import Session, aliased, with_polymorphic, \
     contains_eager, joinedload, subqueryload, relationship,\
     subqueryload_all, joinedload_all
 from sqlalchemy import and_
-from test.lib import testing, fixtures
-from test.lib.testing import assert_raises, eq_
-from test.lib.schema import Column
+from sqlalchemy import testing
+from sqlalchemy.testing import fixtures
+from sqlalchemy.testing import assert_raises, eq_
+from sqlalchemy.testing.schema import Column
 from sqlalchemy.engine import default
-from test.lib.entities import ComparableEntity
+from sqlalchemy.testing.entities import ComparableEntity
 from sqlalchemy import Integer, String, ForeignKey
 from .inheritance._poly_fixtures import Company, Person, Engineer, Manager, Boss, \
     Machine, Paperwork, _PolymorphicFixtureBase, _Polymorphic,\
index 09dc379b8929fd9799c0710c20d277aca6560247..19b13c4ddc07d8e3d7cedb6a33e657f232eac690 100644 (file)
@@ -1,9 +1,9 @@
 import sqlalchemy as sa
-from test.lib import testing
+from sqlalchemy import testing
 from sqlalchemy import Integer, String, ForeignKey
-from test.lib.schema import Table, Column
+from sqlalchemy.testing.schema import Table, Column
 from sqlalchemy.orm import mapper, relationship, create_session
-from test.lib import fixtures
+from sqlalchemy.testing import fixtures
 
 
 class O2OTest(fixtures.MappedTest):
index 88867edcba900613ddf6159248d870d58925f025..d70d36b59e8e40c279e5b7186d758a40f05179d5 100644 (file)
@@ -1,11 +1,11 @@
-from test.lib.testing import eq_
+from sqlalchemy.testing import eq_
 from sqlalchemy.util import pickle
 import sqlalchemy as sa
-from test.lib import testing
-from test.lib.util import picklers
-from test.lib.testing import assert_raises_message
+from sqlalchemy import testing
+from sqlalchemy.testing.util import picklers
+from sqlalchemy.testing import assert_raises_message
 from sqlalchemy import Integer, String, ForeignKey, exc, MetaData
-from test.lib.schema import Table, Column
+from sqlalchemy.testing.schema import Table, Column
 from sqlalchemy.orm import mapper, relationship, create_session, \
                             sessionmaker, attributes, interfaces,\
                             clear_mappers, exc as orm_exc,\
@@ -13,9 +13,9 @@ from sqlalchemy.orm import mapper, relationship, create_session, \
                             lazyload, aliased
 from sqlalchemy.orm.collections import attribute_mapped_collection, \
     column_mapped_collection
-from test.lib import fixtures
+from sqlalchemy.testing import fixtures
 from test.orm import _fixtures
-from test.lib.pickleable import User, Address, Dingaling, Order, \
+from sqlalchemy.testing.pickleable import User, Address, Dingaling, Order, \
     Child1, Child2, Parent, Screen, EmailUser
 
 
@@ -87,7 +87,7 @@ class PickleTest(fixtures.MappedTest):
 
         assert_raises_message(
             orm_exc.UnmappedInstanceError,
-            "Cannot deserialize object of type <class 'test.lib.pickleable.User'> - no mapper()",
+            "Cannot deserialize object of type <class 'sqlalchemy.testing.pickleable.User'> - no mapper()",
             pickle.loads, u1_pickled)
 
     def test_no_instrumentation(self):
index 38739afffdf208499697bf986380e8619d19fe9e..56275a73513a114528f7c82b10e7e3dd02bcf75b 100644 (file)
@@ -1,4 +1,3 @@
-from test.lib.testing import eq_, assert_raises, assert_raises_message
 import operator
 from sqlalchemy import MetaData, null, exists, text, union, literal, \
     literal_column, func, between, Unicode, desc, and_, bindparam, \
@@ -11,14 +10,14 @@ from sqlalchemy.orm import attributes, mapper, relationship, backref, \
     configure_mappers, create_session, synonym, Session, class_mapper, \
     aliased, column_property, joinedload_all, joinedload, Query,\
     util as orm_util
-from test.lib.assertsql import CompiledSQL
-from test.lib.testing import eq_
-from test.lib.schema import Table, Column
-
+from sqlalchemy.testing.assertsql import CompiledSQL
+from sqlalchemy.testing.schema import Table, Column
 import sqlalchemy as sa
-from test.lib import testing, AssertsCompiledSQL, engines
+from sqlalchemy import testing
+from sqlalchemy.testing.assertions import eq_, assert_raises, assert_raises_message
+from sqlalchemy.testing import AssertsCompiledSQL
 from test.orm import _fixtures
-from test.lib import fixtures
+from sqlalchemy.testing import fixtures, engines
 
 from sqlalchemy.orm.util import join, outerjoin, with_parent
 
index f5fa1d4c9748a6247943006046cbaf4914d0be77..f23d40be76857401adf9e0580b098825926ab842 100644 (file)
@@ -1,6 +1,6 @@
-from test.lib.testing import assert_raises, assert_raises_message, eq_, \
+from sqlalchemy.testing import assert_raises, assert_raises_message, eq_, \
     AssertsCompiledSQL, is_
-from test.lib import fixtures
+from sqlalchemy.testing import fixtures
 from sqlalchemy.orm import relationships, foreign, remote, remote_foreign
 from sqlalchemy import MetaData, Table, Column, ForeignKey, Integer, \
     select, ForeignKeyConstraint, exc, func, and_
index 394a1fe7ac44137c5fe1e8a3203a00817b977cf3..a2a81d0eed9e397a3640e6b19a8af9ff335787f6 100644 (file)
@@ -1,17 +1,17 @@
-from test.lib.testing import assert_raises, assert_raises_message
+from sqlalchemy.testing import assert_raises, assert_raises_message
 import datetime
 import sqlalchemy as sa
-from test.lib import testing
+from sqlalchemy import testing
 from sqlalchemy import Integer, String, ForeignKey, MetaData, and_
-from test.lib.schema import Table, Column
+from sqlalchemy.testing.schema import Table, Column
 from sqlalchemy.orm import mapper, relationship, relation, \
                     backref, create_session, configure_mappers, \
                     clear_mappers, sessionmaker, attributes,\
                     Session, composite, column_property, foreign,\
                     remote
 from sqlalchemy.orm.interfaces import ONETOMANY, MANYTOONE, MANYTOMANY
-from test.lib.testing import eq_, startswith_, AssertsCompiledSQL, is_
-from test.lib import fixtures
+from sqlalchemy.testing import eq_, startswith_, AssertsCompiledSQL, is_
+from sqlalchemy.testing import fixtures
 from test.orm import _fixtures
 from sqlalchemy import exc
 
index 978a8bc1da6c6fc0659c247adff7e5544ddeeb9c..87557a162c7471c9c986a6711ffa28dd3f7916f7 100644 (file)
@@ -1,12 +1,12 @@
-from test.lib.testing import assert_raises, assert_raises_message
+from sqlalchemy.testing import assert_raises, assert_raises_message
 import sqlalchemy as sa
-from test.lib import testing
+from sqlalchemy import testing
 from sqlalchemy.orm import scoped_session
 from sqlalchemy import Integer, String, ForeignKey
-from test.lib.schema import Table, Column
+from sqlalchemy.testing.schema import Table, Column
 from sqlalchemy.orm import mapper, relationship, query
-from test.lib.testing import eq_
-from test.lib import fixtures
+from sqlalchemy.testing import eq_
+from sqlalchemy.testing import fixtures
 
 
 
index 1a46e3b6d799ae7295045c96a1be4fc58d1d3eec..42347213e186eb74684615c5075a2a49f3922923 100644 (file)
@@ -1,12 +1,12 @@
 """Generic mapping to Select statements"""
-from test.lib.testing import assert_raises, assert_raises_message
+from sqlalchemy.testing import assert_raises, assert_raises_message
 import sqlalchemy as sa
-from test.lib import testing
+from sqlalchemy import testing
 from sqlalchemy import String, Integer, select
-from test.lib.schema import Table, Column
+from sqlalchemy.testing.schema import Table, Column
 from sqlalchemy.orm import mapper, Session
-from test.lib.testing import eq_, AssertsCompiledSQL
-from test.lib import fixtures
+from sqlalchemy.testing import eq_, AssertsCompiledSQL
+from sqlalchemy.testing import fixtures
 
 
 
index 28293675df6a2c7cf7c151b471bd5dbcf62b866f..61fed6d18dd33228312eded98c32363599e79d88 100644 (file)
@@ -1,20 +1,20 @@
-from test.lib.testing import eq_, assert_raises, \
+from sqlalchemy.testing import eq_, assert_raises, \
     assert_raises_message, assert_warnings
-from test.lib.util import gc_collect
-from test.lib import pickleable
+from sqlalchemy.testing.util import gc_collect
+from sqlalchemy.testing import pickleable
 from sqlalchemy.util import pickle
 import inspect
 from sqlalchemy.orm import create_session, sessionmaker, attributes, \
     make_transient, Session
 import sqlalchemy as sa
-from test.lib import engines, testing, config
+from sqlalchemy.testing import engines, testing, config
 from sqlalchemy import Integer, String, Sequence
-from test.lib.schema import Table, Column
+from sqlalchemy.testing.schema import Table, Column
 from sqlalchemy.orm import mapper, relationship, backref, joinedload, \
     exc as orm_exc, object_session
 from sqlalchemy.util import pypy
-from test.lib import fixtures
-from test.lib import fixtures
+from sqlalchemy.testing import fixtures
+from sqlalchemy.testing import fixtures
 from test.orm import _fixtures
 
 class SessionTest(_fixtures.FixtureTest):
index 8d7c89044e5380f71ac4987611dd0f8b591cae5b..f6e2299b427ea89d1ad4eb3b126143369d5aecf2 100644 (file)
@@ -1,15 +1,15 @@
-from test.lib.testing import eq_, is_, is_not_
-from test.lib import testing
-from test.lib.schema import Table, Column
+from sqlalchemy.testing import eq_, is_, is_not_
+from sqlalchemy import testing
+from sqlalchemy.testing.schema import Table, Column
 from sqlalchemy import Integer, String, ForeignKey, bindparam, inspect
 from sqlalchemy.orm import backref, subqueryload, subqueryload_all, \
     mapper, relationship, clear_mappers, create_session, lazyload, \
     aliased, joinedload, deferred, undefer, eagerload_all,\
     Session
-from test.lib.testing import eq_, assert_raises, \
+from sqlalchemy.testing import eq_, assert_raises, \
     assert_raises_message
-from test.lib.assertsql import CompiledSQL
-from test.lib import fixtures
+from sqlalchemy.testing.assertsql import CompiledSQL
+from sqlalchemy.testing import fixtures
 from test.orm import _fixtures
 import sqlalchemy as sa
 
index 9134e47ce4ae0270c3b0d7bf9a1e34ee9f8354d6..a2c894725ca247b611ac82477cda8d3166b77722 100644 (file)
@@ -1,8 +1,8 @@
-from test.lib.testing import eq_, assert_raises, assert_raises_message
-from test.lib import testing
-from test.lib.schema import Table, Column
+from sqlalchemy.testing import eq_, assert_raises, assert_raises_message
+from sqlalchemy import testing
+from sqlalchemy.testing.schema import Table, Column
 from test.orm import _fixtures
-from test.lib import fixtures
+from sqlalchemy.testing import fixtures
 from sqlalchemy import Integer, String, ForeignKey, func
 from sqlalchemy.orm import mapper, relationship, backref, \
                             create_session, unitofwork, attributes,\
index fdbf6ae1f23407fec0652a4d3c5e3fa0a135bd19..d2b8b8b8597fcdb776bfe6bf7757abe6cc4b1301 100644 (file)
@@ -1,15 +1,15 @@
 
-from test.lib.testing import eq_, assert_raises, \
+from sqlalchemy.testing import eq_, assert_raises, \
     assert_raises_message, assert_warnings
 from sqlalchemy import *
 from sqlalchemy.orm import attributes
 from sqlalchemy import exc as sa_exc, event
 from sqlalchemy.orm import exc as orm_exc
 from sqlalchemy.orm import *
-from test.lib.util import gc_collect
-from test.lib import testing
-from test.lib import fixtures
-from test.lib import engines
+from sqlalchemy.testing.util import gc_collect
+from sqlalchemy import testing
+from sqlalchemy.testing import fixtures
+from sqlalchemy.testing import engines
 from test.orm._fixtures import FixtureTest
 
 
index 9691c38a6df57ac27f21191de5d3698b79ee7e76..8f354b083c5e876958db6f52b0aff4f95d414a95 100644 (file)
@@ -1,25 +1,25 @@
 # coding: utf-8
 """Tests unitofwork operations."""
 
-from test.lib.testing import eq_, assert_raises, assert_raises_message
+from sqlalchemy.testing import eq_, assert_raises, assert_raises_message
 import datetime
 import operator
 from sqlalchemy.orm import mapper as orm_mapper
 
 import sqlalchemy as sa
 from sqlalchemy import Integer, String, ForeignKey, literal_column, event
-from test.lib import engines, testing, pickleable
-from test.lib.schema import Table
-from test.lib.schema import Column
+from sqlalchemy.testing import engines, testing, pickleable
+from sqlalchemy.testing.schema import Table
+from sqlalchemy.testing.schema import Column
 from sqlalchemy.orm import mapper, relationship, create_session, \
     column_property, attributes, Session, reconstructor, object_session,\
     exc as orm_exc
-from test.lib.testing import eq_, ne_
-from test.lib.util import gc_collect
-from test.lib import fixtures
+from sqlalchemy.testing import eq_, ne_
+from sqlalchemy.testing.util import gc_collect
+from sqlalchemy.testing import fixtures
 from test.orm import _fixtures
-from test.lib import fixtures
-from test.lib.assertsql import AllOf, CompiledSQL
+from sqlalchemy.testing import fixtures
+from sqlalchemy.testing.assertsql import AllOf, CompiledSQL
 import gc
 
 class UnitOfWorkTest(object):
index 860fffdf50b53cb6176a0f2377b61af8d9377eca..7c7337c628528aad10db092659b00366c9703586 100644 (file)
@@ -1,14 +1,15 @@
-from test.lib.testing import eq_, assert_raises, assert_raises_message
-from test.lib import testing, engines
-from test.lib.schema import Table, Column
+from sqlalchemy.testing import eq_, assert_raises, assert_raises_message
+from sqlalchemy import testing
+from sqlalchemy.testing import engines
+from sqlalchemy.testing.schema import Table, Column
 from test.orm import _fixtures
-from test.lib import fixtures
+from sqlalchemy.testing import fixtures
 from sqlalchemy import Integer, String, ForeignKey, func
 from sqlalchemy.orm import mapper, relationship, backref, \
                             create_session, unitofwork, attributes,\
                             Session, class_mapper, sync, exc as orm_exc
 
-from test.lib.assertsql import AllOf, CompiledSQL
+from sqlalchemy.testing.assertsql import AllOf, CompiledSQL
 
 class AssertsUOW(object):
     def _get_test_uow(self, session):
index e259c52295e3eb4dabffc7e9e19d59d38e2380cf..85b880710c790500538687bc9fbfb2e869d048ce 100644 (file)
@@ -1,9 +1,9 @@
-from test.lib.testing import eq_, assert_raises, assert_raises_message
-from test.lib import fixtures, testing
+from sqlalchemy.testing import eq_, assert_raises, assert_raises_message
+from sqlalchemy.testing import fixtures, testing
 from sqlalchemy import Integer, String, ForeignKey, or_, and_, exc, select, func
 from sqlalchemy.orm import mapper, relationship, backref, Session, joinedload
 
-from test.lib.schema import Table, Column
+from sqlalchemy.testing.schema import Table, Column
 
 
 
index 617f1d5384f9c38f2db1f17ebadd004f68c042d5..00fbe7771517e80699b0eab056597444a56a9471 100644 (file)
@@ -1,4 +1,4 @@
-from test.lib.testing import assert_raises, assert_raises_message
+from sqlalchemy.testing import assert_raises, assert_raises_message
 from sqlalchemy.orm import interfaces, util
 from sqlalchemy import Column
 from sqlalchemy import Integer
@@ -6,10 +6,10 @@ from sqlalchemy import MetaData
 from sqlalchemy import Table
 from sqlalchemy.orm import aliased
 from sqlalchemy.orm import mapper, create_session
-from test.lib import testing
-from test.lib import fixtures
+from sqlalchemy import testing
+from sqlalchemy.testing import fixtures
 from test.orm import _fixtures
-from test.lib.testing import eq_
+from sqlalchemy.testing import eq_
 
 
 class AliasedClassTest(fixtures.TestBase):
index 0faeb133decc03a7272a09a42be675ead4afd5be..aa1e9960281ae4414e90e20597c569204ed89c4d 100644 (file)
@@ -1,16 +1,16 @@
 import datetime
 import sqlalchemy as sa
-from test.lib import engines, testing
+from sqlalchemy.testing import engines, testing
 from sqlalchemy import Integer, String, Date, ForeignKey, literal_column, \
     orm, exc, select, TypeDecorator
-from test.lib.schema import Table, Column
+from sqlalchemy.testing.schema import Table, Column
 from sqlalchemy.orm import mapper, relationship, Session, \
     create_session, column_property, sessionmaker,\
     exc as orm_exc
-from test.lib.testing import eq_, ne_, assert_raises, assert_raises_message
-from test.lib import fixtures
+from sqlalchemy.testing import eq_, ne_, assert_raises, assert_raises_message
+from sqlalchemy.testing import fixtures
 from test.orm import _fixtures
-from test.lib import fixtures
+from sqlalchemy.testing import fixtures
 
 
 _uuids = [
index 9b397771dd0eb8b5fb8ded298d8bf1280a7ee122..03d2c414421b6c1816960714b223033ed127a410 100644 (file)
@@ -1,7 +1,7 @@
 import sys, time
 from sqlalchemy import *
 from sqlalchemy.orm import *
-from test.lib import profiling
+from sqlalchemy.testing import profiling
 
 db = create_engine('sqlite://')
 metadata = MetaData(db)
index b23de080ceb576b679395bfe545927c9300a7e68..b1ecce85258622c5b2fb5b4eafb01854c42bb493 100644 (file)
@@ -3,7 +3,7 @@ from sqlalchemy import create_engine, MetaData, orm
 from sqlalchemy import Column, ForeignKey
 from sqlalchemy import Integer, String
 from sqlalchemy.orm import mapper
-from test.lib import profiling
+from sqlalchemy.testing import profiling
 
 class Object(object):
     pass
index f64c73c690c9366ef41a82c14b9e6df24379df35..c0ed884442b156b8c33ebf59e87841f400f35094 100644 (file)
@@ -1,8 +1,8 @@
 import time, resource
 from sqlalchemy import *
 from sqlalchemy.orm import *
-from test.lib.util import gc_collect
-from test.lib import profiling
+from sqlalchemy.testing.util import gc_collect
+from sqlalchemy.testing import profiling
 
 db = create_engine('sqlite://')
 metadata = MetaData(db)
index 078d95fa3b3460eacc19a7f7096ad7d6ae8e9f00..98d10180e8141bb51495b65c56dead51fa15c164 100644 (file)
@@ -1,8 +1,8 @@
 import time, resource
 from sqlalchemy import *
 from sqlalchemy.orm import *
-from test.lib import *
-from test.lib.util import gc_collect
+from sqlalchemy.testing import *
+from sqlalchemy.testing.util import gc_collect
 
 
 NUM = 100
index aff265ff1907ad55745f6aab570058f4bd01ae68..5e38d6e802f8ac19845c7e396039206e8f70f633 100644 (file)
@@ -3,8 +3,8 @@ from datetime import datetime
 
 from sqlalchemy import *
 from sqlalchemy.orm import *
-from test.lib import *
-from test.lib.profiling import profiled
+from sqlalchemy.testing import *
+from sqlalchemy.testing.profiling import profiled
 
 class Item(object):
     def __repr__(self):
index 75106f6ca2d6e5c8b9f62313f4b532facdc9058a..80553fe48a9329f4ecaf262c496a5cacfd0f708b 100644 (file)
@@ -1,8 +1,8 @@
 from sqlalchemy import *
 from sqlalchemy.orm import *
 
-from test.lib.compat import gc_collect
-from test.lib import AssertsExecutionResults, profiling, testing
+from sqlalchemy.testing.compat import gc_collect
+from sqlalchemy.testing import AssertsExecutionResults, profiling, testing
 from test.orm import _fixtures
 
 # in this test we are specifically looking for time spent in the attributes.InstanceState.__cleanup() method.
similarity index 100%
rename from test/lib/profiles.txt
rename to test/profiles.txt
similarity index 98%
rename from test/lib/requires.py
rename to test/requirements.py
index 1fff3d7c2cef4d29199ad63d7bb45617bddd1cb8..04260493514737f9f79a7b32b2773a9ab14d97c4 100644 (file)
@@ -5,7 +5,10 @@ target database.
 
 """
 
-from .exclusions import \
+from sqlalchemy import util
+import sys
+from sqlalchemy.testing.suite.requirements import SuiteRequirements
+from sqlalchemy.testing.exclusions import \
      skip, \
      skip_if,\
      only_if,\
@@ -22,9 +25,6 @@ def no_support(db, reason):
 def exclude(db, op, spec, description=None):
     return SpecPredicate(db, op, spec, description=description)
 
-from sqlalchemy import util
-from ..bootstrap import config
-import sys
 
 crashes = skip
 
@@ -35,13 +35,7 @@ def _chain_decorators_on(*decorators):
         return fn
     return decorate
 
-class Requirements(object):
-    def __init__(self, db, config):
-        self.db = db
-        self.config = config
-
-
-class DefaultRequirements(Requirements):
+class DefaultRequirements(SuiteRequirements):
     @property
     def deferrable_or_no_constraints(self):
         """Target database must support derferable constraints."""
@@ -451,7 +445,7 @@ class DefaultRequirements(Requirements):
 
         """
         return _chain_decorators_on(
-            skip_if(lambda: config.options.low_connections)
+            skip_if(lambda: self.config.options.low_connections)
         )
 
     @property
index 7b8ae88db34310766dd9cf920165e6852be84c0a..944a15384bf8b276abbb3b488b8c520be0cb0238 100644 (file)
@@ -1,7 +1,8 @@
-from test.lib.testing import assert_raises, assert_raises_message, eq_
+from sqlalchemy.testing import assert_raises, assert_raises_message, eq_
 import sys
 from sqlalchemy import *
-from test.lib import *
+from sqlalchemy.testing import fixtures, AssertsCompiledSQL
+from sqlalchemy import testing
 from sqlalchemy import util, exc
 from sqlalchemy.sql import table, column
 
index 356f2e8b1f056646b5c519aa274dc7c42730ef2d..3c6e687caca2899ad2a520a3fd00e400ebc53c10 100644 (file)
@@ -10,7 +10,9 @@ styling and coherent test organization.
 
 """
 
-from test.lib.testing import eq_, is_, assert_raises, assert_raises_message
+from sqlalchemy.testing import eq_, is_, assert_raises, assert_raises_message
+from sqlalchemy import testing
+from sqlalchemy.testing import fixtures, AssertsCompiledSQL
 import datetime, re, operator, decimal
 from sqlalchemy import *
 from sqlalchemy import exc, sql, util, types, schema
@@ -18,7 +20,6 @@ from sqlalchemy.sql import table, column, label, compiler
 from sqlalchemy.sql.expression import ClauseList, _literal_as_text, HasPrefixes
 from sqlalchemy.engine import default
 from sqlalchemy.databases import *
-from test.lib import *
 from sqlalchemy.ext.compiler import compiles
 
 table1 = table('mytable',
index 75a7cb2e153acbb56d7d74016fad505d2e6cf015..261932a7f9ca54bf1188e8306cfe932012fc6cbe 100644 (file)
@@ -1,11 +1,12 @@
-from test.lib.testing import assert_raises, assert_raises_message
+from sqlalchemy.testing import assert_raises, assert_raises_message
 from sqlalchemy import *
 from sqlalchemy import exc, schema
-from test.lib import *
-from test.lib import config, engines
+from sqlalchemy.testing import fixtures, AssertsExecutionResults, AssertsCompiledSQL
+from sqlalchemy import testing
+from sqlalchemy.testing import config, engines
 from sqlalchemy.engine import ddl
-from test.lib.testing import eq_
-from test.lib.assertsql import AllOf, RegexSQL, ExactSQL, CompiledSQL
+from sqlalchemy.testing import eq_
+from sqlalchemy.testing.assertsql import AllOf, RegexSQL, ExactSQL, CompiledSQL
 from sqlalchemy.dialects.postgresql import base as postgresql
 
 class ConstraintTest(fixtures.TestBase, AssertsExecutionResults, AssertsCompiledSQL):
index 6360e278cbdb961d5dab8f448650b8a59972b996..28756873f88be4275e265f906d3ce9bdbdf42c4b 100644 (file)
@@ -1,5 +1,5 @@
-from test.lib import fixtures
-from test.lib.testing import AssertsCompiledSQL, assert_raises_message
+from sqlalchemy.testing import fixtures
+from sqlalchemy.testing import AssertsCompiledSQL, assert_raises_message
 from sqlalchemy.sql import table, column, select, func, literal
 from sqlalchemy.dialects import mssql
 from sqlalchemy.engine import default
index 55aa86633b2d3aea8eeb3d1b34d11dd798f46e3d..1c31314d8c9295a31413fe8b7ee89a2fa5f077bd 100644 (file)
@@ -1,16 +1,17 @@
-from test.lib.testing import eq_, assert_raises, assert_raises_message
+from sqlalchemy.testing import eq_, assert_raises, assert_raises_message
 import datetime
 from sqlalchemy.schema import CreateSequence, DropSequence
 from sqlalchemy.sql import select, text, literal_column
 import sqlalchemy as sa
-from test.lib import testing, engines
+from sqlalchemy import testing
+from sqlalchemy.testing import engines
 from sqlalchemy import MetaData, Integer, String, ForeignKey, Boolean, exc,\
                 Sequence, func, literal, Unicode
 from sqlalchemy.types import TypeDecorator, TypeEngine
-from test.lib.schema import Table, Column
-from test.lib.testing import eq_
+from sqlalchemy.testing.schema import Table, Column
+from sqlalchemy.testing import eq_
 from sqlalchemy.dialects import sqlite
-from test.lib import fixtures
+from sqlalchemy.testing import fixtures
 
 class DefaultTest(fixtures.TestBase):
 
index 478f4138119489a46fb2d8d218a48294e72b81dd..ae8e28e24821a980920ea91ce96578e8aaf45319 100644 (file)
@@ -1,15 +1,16 @@
-from test.lib.testing import eq_
+from sqlalchemy.testing import eq_
 import datetime
 from sqlalchemy import *
 from sqlalchemy.sql import table, column
 from sqlalchemy import sql, util
 from sqlalchemy.sql.compiler import BIND_TEMPLATES
-from test.lib.engines import all_dialects
+from sqlalchemy.testing.engines import all_dialects
 from sqlalchemy import types as sqltypes
 from sqlalchemy.sql import functions
 from sqlalchemy.sql.functions import GenericFunction
 from sqlalchemy.util.compat import decimal
-from test.lib import testing, fixtures, AssertsCompiledSQL, engines
+from sqlalchemy import testing
+from sqlalchemy.testing import fixtures, AssertsCompiledSQL, engines
 from sqlalchemy.dialects import sqlite, postgresql, mysql, oracle
 
 
index b785599607e6dc438c7eb4e6816641e6301fc67f..f1c118e15cef3079f8422abe9544cacae55f71eb 100644 (file)
@@ -1,11 +1,14 @@
 from sqlalchemy import *
 from sqlalchemy.sql import table, column, ClauseElement, operators
 from sqlalchemy.sql.expression import  _clone, _from_objects
-from test.lib import *
-from sqlalchemy.sql.visitors import *
+from sqlalchemy.testing import fixtures, AssertsExecutionResults, \
+    AssertsCompiledSQL
+from sqlalchemy import testing
+from sqlalchemy.sql.visitors import ClauseVisitor, CloningVisitor, \
+    cloned_traverse, ReplacingCloningVisitor
 from sqlalchemy import util, exc
 from sqlalchemy.sql import util as sql_util
-from test.lib.testing import eq_, ne_, assert_raises
+from sqlalchemy.testing import eq_, ne_, assert_raises
 
 class TraversalTest(fixtures.TestBase, AssertsExecutionResults):
     """test ClauseVisitor's traversal, particularly its
index 9fcba16bdcba5410522e27e3eceb3093e1629aec..8a02514982aba90b7805c774363d6b616b4069d7 100644 (file)
@@ -2,8 +2,8 @@
 
 from sqlalchemy import inspect
 from sqlalchemy import Table, Column, Integer, MetaData
-from test.lib import fixtures
-from test.lib.testing import is_
+from sqlalchemy.testing import fixtures
+from sqlalchemy.testing import is_
 
 class TestCoreInspection(fixtures.TestBase):
 
index c814a01308ce7721753901c9ed175620abafe285..d6ebf3f801f8d4d76b7dca787eec10e478920879 100644 (file)
@@ -1,11 +1,12 @@
-from test.lib.testing import assert_raises, assert_raises_message, eq_
-from test.lib.engines import testing_engine
-from test.lib import fixtures, AssertsCompiledSQL, testing
+from sqlalchemy.testing import assert_raises, assert_raises_message, eq_
+from sqlalchemy.testing.engines import testing_engine
+from sqlalchemy.testing import fixtures, AssertsCompiledSQL
+from sqlalchemy import testing
 from sqlalchemy import *
 from sqlalchemy import exc as exceptions
 from sqlalchemy.engine import default
 from sqlalchemy.sql import table, column
-from test.lib.schema import Table, Column
+from sqlalchemy.testing.schema import Table, Column
 
 IDENT_LENGTH = 29
 
index dcf9820cc951a641d3807033567521929b5858da..ba5c9e9874d32a410a15af7da26dd018856d0c0d 100644 (file)
@@ -1,19 +1,19 @@
-from test.lib.testing import assert_raises
-from test.lib.testing import assert_raises_message
-from test.lib.testing import emits_warning
+from sqlalchemy.testing import assert_raises
+from sqlalchemy.testing import assert_raises_message
+from sqlalchemy.testing import emits_warning
 
 import pickle
 from sqlalchemy import Integer, String, UniqueConstraint, \
     CheckConstraint, ForeignKey, MetaData, Sequence, \
     ForeignKeyConstraint, ColumnDefault, Index, event,\
     events, Unicode
-from test.lib.schema import Table, Column
+from sqlalchemy.testing.schema import Table, Column
 from sqlalchemy import schema, exc
 import sqlalchemy as tsa
-from test.lib import fixtures
-from test.lib import testing
-from test.lib.testing import ComparesTables, AssertsCompiledSQL
-from test.lib.testing import eq_, is_
+from sqlalchemy.testing import fixtures
+from sqlalchemy import testing
+from sqlalchemy.testing import ComparesTables, AssertsCompiledSQL
+from sqlalchemy.testing import eq_, is_
 
 class MetaDataTest(fixtures.TestBase, ComparesTables):
     def test_metadata_connect(self):
index b104f6097126aa5f35afe30de011b438c4e2675d..24b4589582afa288f25515ac97a06fdce5471789 100644 (file)
@@ -1,5 +1,6 @@
-from test.lib import fixtures, testing
-from test.lib.testing import assert_raises_message
+from sqlalchemy.testing import fixtures
+from sqlalchemy import testing
+from sqlalchemy.testing import assert_raises_message
 from sqlalchemy.sql import column, desc, asc, literal, collate
 from sqlalchemy.sql.expression import BinaryExpression, \
                 ClauseList, Grouping, \
index 70e3e97a8809cdacc17072f9162aab7746141b3c..d14cafc86a9333418b7e279518bc85eeaa89366d 100644 (file)
@@ -1,10 +1,12 @@
-from test.lib.testing import eq_, assert_raises_message, assert_raises, is_
+from sqlalchemy.testing import eq_, assert_raises_message, assert_raises, is_
+from sqlalchemy import testing
+from sqlalchemy.testing import fixtures, engines
+from sqlalchemy import util
 import datetime
 from sqlalchemy import *
-from sqlalchemy import exc, sql, util
+from sqlalchemy import exc, sql
 from sqlalchemy.engine import default, result as _result
-from test.lib import *
-from test.lib.schema import Table, Column
+from sqlalchemy.testing.schema import Table, Column
 
 class QueryTest(fixtures.TestBase):
 
index a714002b1a9d7eabbead5c66f9031be2fc72f780..f736a69add0663c8615c6b06a168fa154693c419 100644 (file)
@@ -1,7 +1,8 @@
 from sqlalchemy import *
 from sqlalchemy import sql, schema
 from sqlalchemy.sql import compiler
-from test.lib import *
+from sqlalchemy.testing import fixtures, AssertsCompiledSQL
+from sqlalchemy import testing
 
 class QuoteTest(fixtures.TestBase, AssertsCompiledSQL):
     __dialect__ = 'default'
index c1ee900efd37b47d0ea0cab6ea61f8eda2bdb68b..55f4f792689d598b1a49b1e15071f690746ad40b 100644 (file)
@@ -1,9 +1,9 @@
-from test.lib.testing import eq_
+from sqlalchemy.testing import eq_
 from sqlalchemy import *
-from test.lib import *
-from test.lib.schema import Table, Column
+from sqlalchemy import testing
+from sqlalchemy.testing.schema import Table, Column
 from sqlalchemy.types import TypeDecorator
-from test.lib import fixtures
+from sqlalchemy.testing import fixtures, AssertsExecutionResults, engines
 
 class ReturningTest(fixtures.TestBase, AssertsExecutionResults):
     __requires__ = 'returning',
index c14fa22a1322f6c361f9c277dc7940fe42e11963..f14f78989bfb79fdae92868fe5503d35b51e5e2a 100644 (file)
@@ -1,5 +1,6 @@
 from sqlalchemy import *
-from test.lib import *
+from sqlalchemy.testing import fixtures, AssertsExecutionResults
+from sqlalchemy import testing
 
 
 class FoundRowsTest(fixtures.TestBase, AssertsExecutionResults):
index b81bd8e6fea0299e347f7bd59331b04a849fd34a..374147a1b70b33423cda5f131e9fd4b65b321426 100644 (file)
@@ -1,14 +1,16 @@
 """Test various algorithmic properties of selectables."""
 
-from test.lib.testing import eq_, assert_raises, \
+from sqlalchemy.testing import eq_, assert_raises, \
     assert_raises_message, is_
 from sqlalchemy import *
-from test.lib import *
+from sqlalchemy.testing import fixtures, AssertsCompiledSQL, \
+    AssertsExecutionResults
+from sqlalchemy import testing
 from sqlalchemy.sql import util as sql_util, visitors
 from sqlalchemy import exc
 from sqlalchemy.sql import table, column, null
 from sqlalchemy import util
-from test.lib import fixtures
+from sqlalchemy.testing import fixtures
 
 metadata = MetaData()
 table1 = Table('table1', metadata,
index 320dc5d7c27856bfe49df5683dd955275e802d19..4bb8a928d6efc4c1de8d245609bd1c6159652894 100644 (file)
@@ -1,6 +1,8 @@
 from sqlalchemy import Table, Column, String, func, MetaData, select, TypeDecorator, cast
-from test.lib import fixtures, AssertsCompiledSQL, testing
-from test.lib.testing import eq_
+from sqlalchemy.testing import fixtures, AssertsCompiledSQL
+from sqlalchemy import testing
+from sqlalchemy.testing import eq_
+
 
 class _ExprFixture(object):
     def _fixture(self):
index ff22ea4de6b5239d993b3945b0125949ab569083..81b572989a2bdb1248233701d2ce431a026d906c 100644 (file)
@@ -1,5 +1,5 @@
 # coding: utf-8
-from test.lib.testing import eq_, assert_raises, assert_raises_message
+from sqlalchemy.testing import eq_, assert_raises, assert_raises_message
 import decimal
 import datetime, os, re
 from sqlalchemy import *
@@ -7,15 +7,17 @@ from sqlalchemy import exc, types, util, schema, dialects
 for name in dialects.__all__:
     __import__("sqlalchemy.dialects.%s" % name)
 from sqlalchemy.sql import operators, column, table
-from test.lib.testing import eq_
+from sqlalchemy.testing import eq_
 import sqlalchemy.engine.url as url
 from sqlalchemy.engine import default
-from test.lib.schema import Table, Column
-from test.lib import *
-from test.lib.util import picklers
+from sqlalchemy.testing.schema import Table, Column
+from sqlalchemy import testing
+from sqlalchemy.testing import AssertsCompiledSQL, AssertsExecutionResults, \
+    engines, pickleable
+from sqlalchemy.testing.util import picklers
 from sqlalchemy.util.compat import decimal
-from test.lib.util import round_decimal
-from test.lib import fixtures
+from sqlalchemy.testing.util import round_decimal
+from sqlalchemy.testing import fixtures
 
 class AdaptTest(fixtures.TestBase):
     def _all_dialect_modules(self):
index e3fa0a4b3337791de5b1cdc2769d5084da9694dc..37e44522e065a03720b6e063648ac3c669c262fb 100644 (file)
@@ -2,10 +2,11 @@
 """verrrrry basic unicode column name testing"""
 
 from sqlalchemy import *
-from test.lib import fixtures, engines, testing
-from test.lib.engines import utf8_engine
+from sqlalchemy.testing import fixtures, engines
+from sqlalchemy import testing
+from sqlalchemy.testing.engines import utf8_engine
 from sqlalchemy.sql import column
-from test.lib.schema import Table, Column
+from sqlalchemy.testing.schema import Table, Column
 
 class UnicodeSchemaTest(fixtures.TestBase):
     __requires__ = ('unicode_ddl',)
index 79079e5127977d4c16e25953d05ecee1c25c9dd5..b46489cd24ac6ba05a66ba2edde80ef9783fd6f5 100644 (file)
@@ -1,10 +1,11 @@
-from test.lib.testing import eq_, assert_raises_message, assert_raises, AssertsCompiledSQL
+from sqlalchemy.testing import eq_, assert_raises_message, assert_raises, AssertsCompiledSQL
 import datetime
 from sqlalchemy import *
 from sqlalchemy import exc, sql, util
 from sqlalchemy.engine import default, base
-from test.lib import *
-from test.lib.schema import Table, Column
+from sqlalchemy import testing
+from sqlalchemy.testing import fixtures
+from sqlalchemy.testing.schema import Table, Column
 from sqlalchemy.dialects import mysql
 
 class _UpdateFromTestBase(object):