mirror of
https://github.com/psycopg/psycopg2.git
synced 2024-11-26 19:03:43 +03:00
8fed0aa57d
With the current implementation, at best they would silently block. They actually hang everything. Implementation posponed after some refactoring of the polling system, because it will be probably possible to provide an implementation for 'poll()' during COPY which is good for both async and green modes.
68 lines
1.9 KiB
Python
Executable File
68 lines
1.9 KiB
Python
Executable File
#!/usr/bin/env python
|
|
|
|
import os
|
|
import unittest
|
|
|
|
dbname = os.environ.get('PSYCOPG2_TESTDB', 'psycopg2_test')
|
|
dbhost = os.environ.get('PSYCOPG2_TESTDB_HOST', None)
|
|
dbport = os.environ.get('PSYCOPG2_TESTDB_PORT', None)
|
|
dbuser = os.environ.get('PSYCOPG2_TESTDB_USER', None)
|
|
|
|
# Check if we want to test psycopg's green path.
|
|
green = os.environ.get('PSYCOPG2_TEST_GREEN', None)
|
|
if green:
|
|
import psycopg2.extensions
|
|
import psycopg2.extras
|
|
psycopg2.extensions.set_wait_callback(psycopg2.extras.wait_select)
|
|
|
|
# Construct a DSN to connect to the test database:
|
|
dsn = 'dbname=%s' % dbname
|
|
if dbhost is not None:
|
|
dsn += ' host=%s' % dbhost
|
|
if dbport is not None:
|
|
dsn += ' port=%s' % dbport
|
|
if dbuser is not None:
|
|
dsn += ' user=%s' % dbuser
|
|
|
|
import bugX000
|
|
import extras_dictcursor
|
|
import test_dates
|
|
import test_psycopg2_dbapi20
|
|
import test_quote
|
|
import test_connection
|
|
import test_transaction
|
|
import types_basic
|
|
import types_extras
|
|
import test_lobject
|
|
import test_copy
|
|
import test_notify
|
|
import test_async
|
|
import test_green
|
|
|
|
def test_suite():
|
|
suite = unittest.TestSuite()
|
|
suite.addTest(bugX000.test_suite())
|
|
suite.addTest(extras_dictcursor.test_suite())
|
|
suite.addTest(test_dates.test_suite())
|
|
suite.addTest(test_psycopg2_dbapi20.test_suite())
|
|
suite.addTest(test_quote.test_suite())
|
|
suite.addTest(test_connection.test_suite())
|
|
suite.addTest(test_transaction.test_suite())
|
|
suite.addTest(types_basic.test_suite())
|
|
suite.addTest(types_extras.test_suite())
|
|
suite.addTest(test_lobject.test_suite())
|
|
|
|
if not green:
|
|
suite.addTest(test_copy.test_suite())
|
|
else:
|
|
import warnings
|
|
warnings.warn("copy not implemented in green mode: skipping tests")
|
|
|
|
suite.addTest(test_notify.test_suite())
|
|
suite.addTest(test_async.test_suite())
|
|
suite.addTest(test_green.test_suite())
|
|
return suite
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main(defaultTest='test_suite')
|