[Checkins] SVN: relstorage/branches/1. Changed the database adapter tests to disable themselves

Shane Hathaway shane at hathawaymix.org
Fri Oct 30 04:59:38 EDT 2009


Log message for revision 105384:
  Changed the database adapter tests to disable themselves
  when the corresponding Python module is not importable.
  Also made the buildouts compatible with virtualenv.
  

Changed:
  U   relstorage/branches/1.1/buildout.cfg
  U   relstorage/branches/1.1/relstorage/tests/testmysql.py
  U   relstorage/branches/1.1/relstorage/tests/testoracle.py
  U   relstorage/branches/1.1/relstorage/tests/testpostgresql.py
  U   relstorage/branches/1.2/buildout.cfg
  U   relstorage/branches/1.2/relstorage/tests/testmysql.py
  U   relstorage/branches/1.2/relstorage/tests/testoracle.py
  U   relstorage/branches/1.2/relstorage/tests/testpostgresql.py

-=-
Modified: relstorage/branches/1.1/buildout.cfg
===================================================================
--- relstorage/branches/1.1/buildout.cfg	2009-10-30 08:49:37 UTC (rev 105383)
+++ relstorage/branches/1.1/buildout.cfg	2009-10-30 08:59:37 UTC (rev 105384)
@@ -5,20 +5,22 @@
 versions = versions
 
 [versions]
-ZODB3 = 3.8.1-polling
+ZODB3 = 3.8.4-polling
 
 [test]
 recipe = zc.recipe.testrunner
 eggs = relstorage
+       MySQL-python
+       psycopg2
 
 [python]
 recipe = zc.recipe.egg
-eggs = relstorage
-interpreter = python
+eggs = ${test:eggs}
+interpreter = py
 
 [coverage-test]
 recipe = zc.recipe.testrunner
-eggs = relstorage
+eggs = ${test:eggs}
 defaults = ['--coverage', '../../coverage']
 
 [coverage-report]

Modified: relstorage/branches/1.1/relstorage/tests/testmysql.py
===================================================================
--- relstorage/branches/1.1/relstorage/tests/testmysql.py	2009-10-30 08:49:37 UTC (rev 105383)
+++ relstorage/branches/1.1/relstorage/tests/testmysql.py	2009-10-30 08:59:37 UTC (rev 105384)
@@ -15,13 +15,12 @@
 
 import logging
 import unittest
-
 import reltestbase
-from relstorage.adapters.mysql import MySQLAdapter
 
 
 class UseMySQLAdapter:
     def make_adapter(self):
+        from relstorage.adapters.mysql import MySQLAdapter
         return MySQLAdapter(
             db='relstoragetest',
             user='relstoragetest',
@@ -39,6 +38,13 @@
 
 
 def test_suite():
+    try:
+        import MySQLdb
+    except ImportError, e:
+        import warnings
+        warnings.warn("MySQLdb is not importable, so MySQL tests disabled")
+        return unittest.TestSuite()
+
     suite = unittest.TestSuite()
     for klass in [MySQLTests, MySQLToFile, FileToMySQL]:
         suite.addTest(unittest.makeSuite(klass, "check"))

Modified: relstorage/branches/1.1/relstorage/tests/testoracle.py
===================================================================
--- relstorage/branches/1.1/relstorage/tests/testoracle.py	2009-10-30 08:49:37 UTC (rev 105383)
+++ relstorage/branches/1.1/relstorage/tests/testoracle.py	2009-10-30 08:59:37 UTC (rev 105384)
@@ -17,9 +17,7 @@
 import os
 import re
 import unittest
-
 import reltestbase
-from relstorage.adapters.oracle import OracleAdapter
 
 
 def getOracleParams():
@@ -40,6 +38,7 @@
 
 class UseOracleAdapter:
     def make_adapter(self):
+        from relstorage.adapters.oracle import OracleAdapter
         user, password, dsn = getOracleParams()
         return OracleAdapter(user, password, dsn)
 
@@ -54,6 +53,13 @@
 
 
 def test_suite():
+    try:
+        import cx_Oracle
+    except ImportError, e:
+        import warnings
+        warnings.warn("cx_Oracle is not importable, so Oracle tests disabled")
+        return unittest.TestSuite()
+
     suite = unittest.TestSuite()
     for klass in [OracleTests, OracleToFile, FileToOracle]:
         suite.addTest(unittest.makeSuite(klass, "check"))

Modified: relstorage/branches/1.1/relstorage/tests/testpostgresql.py
===================================================================
--- relstorage/branches/1.1/relstorage/tests/testpostgresql.py	2009-10-30 08:49:37 UTC (rev 105383)
+++ relstorage/branches/1.1/relstorage/tests/testpostgresql.py	2009-10-30 08:59:37 UTC (rev 105384)
@@ -15,13 +15,12 @@
 
 import logging
 import unittest
-
 import reltestbase
-from relstorage.adapters.postgresql import PostgreSQLAdapter
 
 
 class UsePostgreSQLAdapter:
     def make_adapter(self):
+        from relstorage.adapters.postgresql import PostgreSQLAdapter
         return PostgreSQLAdapter(
             'dbname=relstoragetest user=relstoragetest password=relstoragetest')
 
@@ -36,6 +35,14 @@
 
 
 def test_suite():
+    try:
+        import psycopg2
+    except ImportError, e:
+        import warnings
+        warnings.warn(
+            "psycopg2 is not importable, so PostgreSQL tests disabled")
+        return unittest.TestSuite()
+
     suite = unittest.TestSuite()
     for klass in [PostgreSQLTests, PGToFile, FileToPG]:
         suite.addTest(unittest.makeSuite(klass, "check"))

Modified: relstorage/branches/1.2/buildout.cfg
===================================================================
--- relstorage/branches/1.2/buildout.cfg	2009-10-30 08:49:37 UTC (rev 105383)
+++ relstorage/branches/1.2/buildout.cfg	2009-10-30 08:59:37 UTC (rev 105384)
@@ -5,15 +5,17 @@
 [test]
 recipe = zc.recipe.testrunner
 eggs = relstorage
+       MySQL-python
+       psycopg2
 
 [python]
 recipe = zc.recipe.egg
-eggs = relstorage
-interpreter = python
+eggs = ${test:eggs}
+interpreter = py
 
 [coverage-test]
 recipe = zc.recipe.testrunner
-eggs = relstorage
+eggs = ${test:eggs}
 defaults = ['--coverage', '../../coverage']
 
 [coverage-report]

Modified: relstorage/branches/1.2/relstorage/tests/testmysql.py
===================================================================
--- relstorage/branches/1.2/relstorage/tests/testmysql.py	2009-10-30 08:49:37 UTC (rev 105383)
+++ relstorage/branches/1.2/relstorage/tests/testmysql.py	2009-10-30 08:59:37 UTC (rev 105384)
@@ -15,13 +15,12 @@
 
 import logging
 import unittest
-
 import reltestbase
-from relstorage.adapters.mysql import MySQLAdapter
 
 
 class UseMySQLAdapter:
     def make_adapter(self):
+        from relstorage.adapters.mysql import MySQLAdapter
         return MySQLAdapter(
             db='relstoragetest',
             user='relstoragetest',
@@ -39,6 +38,13 @@
 
 
 def test_suite():
+    try:
+        import MySQLdb
+    except ImportError, e:
+        import warnings
+        warnings.warn("MySQLdb is not importable, so MySQL tests disabled")
+        return unittest.TestSuite()
+
     suite = unittest.TestSuite()
     for klass in [MySQLTests, MySQLToFile, FileToMySQL]:
         suite.addTest(unittest.makeSuite(klass, "check"))

Modified: relstorage/branches/1.2/relstorage/tests/testoracle.py
===================================================================
--- relstorage/branches/1.2/relstorage/tests/testoracle.py	2009-10-30 08:49:37 UTC (rev 105383)
+++ relstorage/branches/1.2/relstorage/tests/testoracle.py	2009-10-30 08:59:37 UTC (rev 105384)
@@ -17,9 +17,7 @@
 import os
 import re
 import unittest
-
 import reltestbase
-from relstorage.adapters.oracle import OracleAdapter
 
 
 def getOracleParams():
@@ -40,6 +38,7 @@
 
 class UseOracleAdapter:
     def make_adapter(self):
+        from relstorage.adapters.oracle import OracleAdapter
         user, password, dsn = getOracleParams()
         return OracleAdapter(user, password, dsn)
 
@@ -54,6 +53,13 @@
 
 
 def test_suite():
+    try:
+        import cx_Oracle
+    except ImportError, e:
+        import warnings
+        warnings.warn("cx_Oracle is not importable, so Oracle tests disabled")
+        return unittest.TestSuite()
+
     suite = unittest.TestSuite()
     for klass in [OracleTests, OracleToFile, FileToOracle]:
         suite.addTest(unittest.makeSuite(klass, "check"))

Modified: relstorage/branches/1.2/relstorage/tests/testpostgresql.py
===================================================================
--- relstorage/branches/1.2/relstorage/tests/testpostgresql.py	2009-10-30 08:49:37 UTC (rev 105383)
+++ relstorage/branches/1.2/relstorage/tests/testpostgresql.py	2009-10-30 08:59:37 UTC (rev 105384)
@@ -15,13 +15,12 @@
 
 import logging
 import unittest
-
 import reltestbase
-from relstorage.adapters.postgresql import PostgreSQLAdapter
 
 
 class UsePostgreSQLAdapter:
     def make_adapter(self):
+        from relstorage.adapters.postgresql import PostgreSQLAdapter
         return PostgreSQLAdapter(
             'dbname=relstoragetest user=relstoragetest password=relstoragetest')
 
@@ -36,6 +35,14 @@
 
 
 def test_suite():
+    try:
+        import psycopg2
+    except ImportError, e:
+        import warnings
+        warnings.warn(
+            "psycopg2 is not importable, so PostgreSQL tests disabled")
+        return unittest.TestSuite()
+
     suite = unittest.TestSuite()
     for klass in [PostgreSQLTests, PGToFile, FileToPG]:
         suite.addTest(unittest.makeSuite(klass, "check"))



More information about the checkins mailing list