summaryrefslogtreecommitdiff
path: root/tests/testconfig.py
diff options
context:
space:
mode:
authorDaniele Varrazzo <daniele.varrazzo@gmail.com>2010-12-21 04:58:38 +0000
committerDaniele Varrazzo <daniele.varrazzo@gmail.com>2010-12-21 05:02:19 +0000
commitade1b2cc7b9fc7b0fc05f70e2c15c1d1d1e56ca8 (patch)
treea831e5f16a239ca33c7920bbada5f58928a954e5 /tests/testconfig.py
parentf697410ab4aac2f7ac789e78efc4e5ac5dfb6f71 (diff)
downloadpsycopg2-ade1b2cc7b9fc7b0fc05f70e2c15c1d1d1e56ca8.tar.gz
Test suite converted into a proper package.
Dropped cyclic import from modules to tests: they were only working because a second copy of the package was found in the project dir. Use relative import so that 2to3 can do a good conversion.
Diffstat (limited to 'tests/testconfig.py')
-rw-r--r--tests/testconfig.py33
1 files changed, 33 insertions, 0 deletions
diff --git a/tests/testconfig.py b/tests/testconfig.py
new file mode 100644
index 0000000..b2730e0
--- /dev/null
+++ b/tests/testconfig.py
@@ -0,0 +1,33 @@
+# Configure the test suite from the env variables.
+
+import os
+
+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:
+ if green == '1':
+ from psycopg2.extras import wait_select as wait_callback
+ elif green == 'eventlet':
+ from eventlet.support.psycopg2_patcher import eventlet_wait_callback \
+ as wait_callback
+ else:
+ raise ValueError("please set 'PSYCOPG2_TEST_GREEN' to a valid value")
+
+ import psycopg2.extensions
+ psycopg2.extensions.set_wait_callback(wait_callback)
+
+# 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
+
+