예제 #1
0
 def test_loader_methods(self):
     t = TempFS()
     self._init_modules(t)
     ih = FSImportHook(t)
     sys.meta_path.append(ih)
     try:
         self.assertEqual(ih.find_module("fsih_hello"), ih)
         self.assertEqual(ih.find_module("fsih_helo"), None)
         self.assertEqual(ih.find_module("fsih_pkg"), ih)
         self.assertEqual(ih.find_module("fsih_pkg.sub1"), ih)
         self.assertEqual(ih.find_module("fsih_pkg.sub2"), ih)
         self.assertEqual(ih.find_module("fsih_pkg.sub3"), None)
         m = ih.load_module("fsih_hello")
         self.assertEqual(m.message, "hello world!")
         self.assertRaises(ImportError, ih.load_module, "fsih_helo")
         ih.load_module("fsih_pkg")
         m = ih.load_module("fsih_pkg.sub1")
         self.assertEqual(m.message, "hello world!")
         self.assertEqual(m.a, 42)
         m = ih.load_module("fsih_pkg.sub2")
         self.assertEqual(m.message, "hello world!")
         self.assertEqual(m.a, 42 * 2)
         self.assertRaises(ImportError, ih.load_module, "fsih_pkg.sub3")
     finally:
         sys.meta_path.remove(ih)
         t.close()
예제 #2
0
 def test_importer_on_meta_path(self):
     t = TempFS()
     self._init_modules(t)
     ih = FSImportHook(t)
     sys.meta_path.append(ih)
     try:
         self._check_imports_are_working()
     finally:
         sys.meta_path.remove(ih)
         t.close()