[Python-checkins] r84270 - python/branches/py3k/Lib/importlib/test/source/test_file_loader.py

brett.cannon python-checkins at python.org
Mon Aug 23 00:11:06 CEST 2010


Author: brett.cannon
Date: Mon Aug 23 00:11:06 2010
New Revision: 84270

Log:
Make sure that no __pycache__ directory is needlessly left behind when testing
imports with an empty string in sys.path.


Modified:
   python/branches/py3k/Lib/importlib/test/source/test_file_loader.py

Modified: python/branches/py3k/Lib/importlib/test/source/test_file_loader.py
==============================================================================
--- python/branches/py3k/Lib/importlib/test/source/test_file_loader.py	(original)
+++ python/branches/py3k/Lib/importlib/test/source/test_file_loader.py	Mon Aug 23 00:11:06 2010
@@ -8,6 +8,7 @@
 import marshal
 import os
 import py_compile
+import shutil
 import stat
 import sys
 import unittest
@@ -112,18 +113,20 @@
     def test_file_from_empty_string_dir(self):
         # Loading a module found from an empty string entry on sys.path should
         # not only work, but keep all attributes relative.
-        with open('_temp.py', 'w') as file:
+        file_path = '_temp.py'
+        with open(file_path, 'w') as file:
             file.write("# test file for importlib")
         try:
             with util.uncache('_temp'):
-                loader = _bootstrap._SourceFileLoader('_temp', '_temp.py')
+                loader = _bootstrap._SourceFileLoader('_temp', file_path)
                 mod = loader.load_module('_temp')
-                self.assertEqual('_temp.py', mod.__file__)
-                self.assertEqual(imp.cache_from_source('_temp.py'),
+                self.assertEqual(file_path, mod.__file__)
+                self.assertEqual(imp.cache_from_source(file_path),
                                  mod.__cached__)
-
         finally:
-            os.unlink('_temp.py')
+            os.unlink(file_path)
+            pycache = os.path.dirname(imp.cache_from_source(file_path))
+            shutil.rmtree(pycache)
 
 
 class BadBytecodeTest(unittest.TestCase):
@@ -380,7 +383,7 @@
     run_unittest(SimpleTest,
                  SourceLoaderBadBytecodeTest,
                  SourcelessLoaderBadBytecodeTest
-                 )
+                )
 
 
 if __name__ == '__main__':


More information about the Python-checkins mailing list