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()
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()