From: Mike Bayer Date: Mon, 21 Aug 2006 20:01:32 +0000 (+0000) Subject: - unit tests updated to run without any pysqlite installed; pool X-Git-Tag: rel_0_2_8~37 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=43d3b773072b07fc19f6eebcd121db99b6370e00;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git - unit tests updated to run without any pysqlite installed; pool test uses a mock DBAPI --- diff --git a/CHANGES b/CHANGES index 5887b631dd..f456647b35 100644 --- a/CHANGES +++ b/CHANGES @@ -25,6 +25,8 @@ with use_information_schema=True argument to create_engine - added natural_case argument to Table, Column, semi-experimental flag for use with table reflection to help with quoting rules [ticket:155] +- unit tests updated to run without any pysqlite installed; pool +test uses a mock DBAPI 0.2.7 - quoting facilities set up so that database-specific quoting can be diff --git a/test/engine/pool.py b/test/engine/pool.py index fd09eb1c73..d21f928a16 100644 --- a/test/engine/pool.py +++ b/test/engine/pool.py @@ -1,16 +1,30 @@ +import testbase from testbase import PersistTest import unittest, sys, os, time -from pysqlite2 import dbapi2 as sqlite import sqlalchemy.pool as pool -import sqlalchemy.exceptions as exceptions +import sqlalchemy.exceptions as exceptions + +class MockDBAPI(object): + def connect(self, argument): + return MockConnection() +class MockConnection(object): + def close(self): + pass + def cursor(self): + return MockCursor() +class MockCursor(object): + def close(self): + pass +mock_dbapi = MockDBAPI() + class PoolTest(PersistTest): def setUp(self): pool.clear_managers() - + def testmanager(self): - manager = pool.manage(sqlite) + manager = pool.manage(mock_dbapi) connection = manager.connect('foo.db') connection2 = manager.connect('foo.db') @@ -22,7 +36,7 @@ class PoolTest(PersistTest): self.assert_(connection2 is not connection3) def testbadargs(self): - manager = pool.manage(sqlite) + manager = pool.manage(mock_dbapi) try: connection = manager.connect(None) @@ -30,7 +44,7 @@ class PoolTest(PersistTest): pass def testnonthreadlocalmanager(self): - manager = pool.manage(sqlite, use_threadlocal = False) + manager = pool.manage(mock_dbapi, use_threadlocal = False) connection = manager.connect('foo.db') connection2 = manager.connect('foo.db') @@ -47,8 +61,7 @@ class PoolTest(PersistTest): self._do_testqueuepool(useclose=True) def _do_testqueuepool(self, useclose=False): - - p = pool.QueuePool(creator = lambda: sqlite.connect('foo.db'), pool_size = 3, max_overflow = -1, use_threadlocal = False, echo = False) + p = pool.QueuePool(creator = lambda: mock_dbapi.connect('foo.db'), pool_size = 3, max_overflow = -1, use_threadlocal = False, echo = False) def status(pool): tup = (pool.size(), pool.checkedin(), pool.overflow(), pool.checkedout()) @@ -91,7 +104,7 @@ class PoolTest(PersistTest): self.assert_(status(p) == (3, 2, 0, 1)) def test_timeout(self): - p = pool.QueuePool(creator = lambda: sqlite.connect('foo.db'), pool_size = 3, max_overflow = 0, use_threadlocal = False, echo = False, timeout=2) + p = pool.QueuePool(creator = lambda: mock_dbapi.connect('foo.db'), pool_size = 3, max_overflow = 0, use_threadlocal = False, echo = False, timeout=2) c1 = p.get() c2 = p.get() c3 = p.get() @@ -110,8 +123,8 @@ class PoolTest(PersistTest): def _do_testthreadlocal(self, useclose=False): for p in ( - pool.QueuePool(creator = lambda: sqlite.connect('foo.db'), pool_size = 3, max_overflow = -1, use_threadlocal = True, echo = False), - pool.SingletonThreadPool(creator = lambda: sqlite.connect('foo.db'), use_threadlocal = True) + pool.QueuePool(creator = lambda: mock_dbapi.connect('foo.db'), pool_size = 3, max_overflow = -1, use_threadlocal = True, echo = False), + pool.SingletonThreadPool(creator = lambda: mock_dbapi.connect('foo.db'), use_threadlocal = True) ): c1 = p.connect() c2 = p.connect() @@ -158,9 +171,6 @@ class PoolTest(PersistTest): def tearDown(self): pool.clear_managers() - for file in ('foo.db', 'bar.db'): - if os.access(file, os.F_OK): - os.remove(file) if __name__ == "__main__": diff --git a/test/engine/proxy_engine.py b/test/engine/proxy_engine.py index 5b957b4dcc..26b738e418 100644 --- a/test/engine/proxy_engine.py +++ b/test/engine/proxy_engine.py @@ -85,9 +85,16 @@ class ProxyEngineTest1(ProxyTestBase): class ThreadProxyTest(ProxyTestBase): def tearDownAll(self): - os.remove('threadtesta.db') - os.remove('threadtestb.db') + try: + os.remove('threadtesta.db') + except OSError: + pass + try: + os.remove('threadtestb.db') + except OSError: + pass + @testbase.supported('sqlite') def test_multi_thread(self): from threading import Thread