def test_add_resource_module(self): f = OxidizedFinder() resource = OxidizedResource() resource.name = "my_module" resource.flavor = "module" source = b"print('hello from my_module')" code = compile(source, "my_module.py", "exec") bytecode = marshal.dumps(code) resource.in_memory_source = source resource.in_memory_bytecode = bytecode f.add_resource(resource) resources = [r for r in f.indexed_resources() if r.name == "my_module"] self.assertEqual(len(resources), 1) spec = f.find_spec("my_module", None) self.assertIsInstance(spec, importlib.machinery.ModuleSpec) self.assertEqual(spec.name, "my_module") self.assertIsNone(spec.loader_state) self.assertIsNone(spec.submodule_search_locations) self.assertEqual(f.get_source("my_module"), source.decode("utf-8")) self.assertEqual(f.get_code("my_module"), code)
def test_find_spec_missing(self): f = OxidizedFinder() self.assertIsNone(f.find_spec("my_package", None))