summaryrefslogtreecommitdiff
path: root/tests/testconfig.py
diff options
context:
space:
mode:
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
+
+