[Python-checkins] r69000 - in python/branches/py3k/Lib/importlib: NOTES test/loader_tests.py

brett.cannon python-checkins at python.org
Tue Jan 27 03:39:33 CET 2009


Author: brett.cannon
Date: Tue Jan 27 03:39:33 2009
New Revision: 69000

Log:
Initial take on importlib.test.loader_tests.


Added:
   python/branches/py3k/Lib/importlib/test/loader_tests.py
Modified:
   python/branches/py3k/Lib/importlib/NOTES

Modified: python/branches/py3k/Lib/importlib/NOTES
==============================================================================
--- python/branches/py3k/Lib/importlib/NOTES	(original)
+++ python/branches/py3k/Lib/importlib/NOTES	Tue Jan 27 03:39:33 2009
@@ -1,15 +1,12 @@
 to do
 /////
 
-* Standardized loader tests.
+* Use test.loader_tests
 
-    + Create test.loader_tests.
-    + Use
-
-	- builtin
-	- frozen
-	- extension
-	-source
+    + builtin
+    + frozen
+    + extension
+    + source
 
 * Reorganize support code.
 

Added: python/branches/py3k/Lib/importlib/test/loader_tests.py
==============================================================================
--- (empty file)
+++ python/branches/py3k/Lib/importlib/test/loader_tests.py	Tue Jan 27 03:39:33 2009
@@ -0,0 +1,61 @@
+import abc
+import unittest
+
+
+class LoaderTests(unittest.TestCase, metaclass=abc.ABCMeta):
+
+    @abc.abstractmethod
+    def test_module(self):
+        """A module should load without issue.
+
+        After the loader returns the module should be in sys.modules.
+
+        Attributes to verify:
+
+            * __file__
+            * __loader__
+            * __name__
+            * No __path__
+
+        """
+        pass
+
+    @abc.abstractmethod
+    def test_package(self):
+        """Loading a package should work.
+
+        After the loader returns the module should be in sys.modules.
+
+        Attributes to verify:
+
+            * __file__
+            * __loader__
+            * __name__
+            * __path__
+
+        """
+        pass
+
+    @abc.abstractmethod
+    def test_lacking_parent(self):
+        """A loader should not be dependent on it's parent package being
+        imported."""
+        pass
+
+    @abc.abstractmethod
+    def test_module_reuse(self):
+        """If a module is already in sys.modules, it should be reused."""
+        pass
+
+    @abc.abstractmethod
+    def test_state_after_failure(self):
+        """If a module is already in sys.modules and a reload fails
+        (e.g. a SyntaxError), the module should be in the state it was before
+        the reload began."""
+        pass
+
+    @abc.abstractmethod
+    def test_unloadable(self):
+        """Test ImportError is raised when the loader is asked to load a module
+        it can't."""
+        pass


More information about the Python-checkins mailing list