[Zodb-checkins] CVS: StandaloneZConfig/ZConfig/tests - test_datatypes.py:1.11

Fred L. Drake, Jr. fred at zope.com
Tue Mar 16 16:28:42 EST 2004


Update of /cvs-repository/StandaloneZConfig/ZConfig/tests
In directory cvs.zope.org:/tmp/cvs-serv5818/ZConfig/tests

Modified Files:
	test_datatypes.py 
Log Message:
ZConfig must not mask imports from the top level that happen to have a dotted
name beginning with a name found inside ZConfig; datatypes are not specified
relative to the ZConfig package


=== StandaloneZConfig/ZConfig/tests/test_datatypes.py 1.10 => 1.11 ===
--- StandaloneZConfig/ZConfig/tests/test_datatypes.py:1.10	Thu Feb  5 11:40:29 2004
+++ StandaloneZConfig/ZConfig/tests/test_datatypes.py	Tue Mar 16 16:28:40 2004
@@ -15,6 +15,7 @@
 
 import os
 import sys
+import shutil
 import socket
 import tempfile
 import unittest
@@ -327,8 +328,37 @@
         raises(ValueError, convert, '120w')
 
 
+class RegistryTestCase(unittest.TestCase):
+
+    def test_registry_does_not_mask_toplevel_imports(self):
+        old_sys_path = sys.path[:]
+        tmpdir = tempfile.mkdtemp(prefix="test_datatypes_")
+        fn = os.path.join(tmpdir, "datatypes.py")
+        f = open(fn, "w")
+        f.write(TEST_DATATYPE_SOURCE)
+        f.close()
+        registry = ZConfig.datatypes.Registry()
+
+        # we really want the temp area to override everything else:
+        sys.path.insert(0, tmpdir)
+        try:
+            datatype = registry.get("datatypes.my_sample_datatype")
+        finally:
+            shutil.rmtree(tmpdir)
+            sys.path[:] = old_sys_path
+        self.assertEqual(datatype, 42)
+
+TEST_DATATYPE_SOURCE = """
+# sample datatypes file
+
+my_sample_datatype = 42
+"""
+
+
 def test_suite():
-    return unittest.makeSuite(DatatypeTestCase)
+    suite = unittest.makeSuite(DatatypeTestCase)
+    suite.addTest(unittest.makeSuite(RegistryTestCase))
+    return suite
 
 
 if __name__ == '__main__':




More information about the Zodb-checkins mailing list