????JFIF??x?x????'
Server IP : 79.136.114.73 / Your IP : 3.12.153.221 Web Server : Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.29 OpenSSL/1.0.1f System : Linux b8009 3.13.0-170-generic #220-Ubuntu SMP Thu May 9 12:40:49 UTC 2019 x86_64 User : www-data ( 33) PHP Version : 5.5.9-1ubuntu4.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /proc/self/root/home/b8009/Python-3.6.3/Lib/test/test_importlib/import_/ |
Upload File : |
from .. import util from importlib import machinery import sys import types import unittest PKG_NAME = 'fine' SUBMOD_NAME = 'fine.bogus' class BadSpecFinderLoader: @classmethod def find_spec(cls, fullname, path=None, target=None): if fullname == SUBMOD_NAME: spec = machinery.ModuleSpec(fullname, cls) return spec @staticmethod def create_module(spec): return None @staticmethod def exec_module(module): if module.__name__ == SUBMOD_NAME: raise ImportError('I cannot be loaded!') class BadLoaderFinder: @classmethod def find_module(cls, fullname, path): if fullname == SUBMOD_NAME: return cls @classmethod def load_module(cls, fullname): if fullname == SUBMOD_NAME: raise ImportError('I cannot be loaded!') class APITest: """Test API-specific details for __import__ (e.g. raising the right exception when passing in an int for the module name).""" def test_raises_ModuleNotFoundError(self): with self.assertRaises(ModuleNotFoundError): util.import_importlib('some module that does not exist') def test_name_requires_rparition(self): # Raise TypeError if a non-string is passed in for the module name. with self.assertRaises(TypeError): self.__import__(42) def test_negative_level(self): # Raise ValueError when a negative level is specified. # PEP 328 did away with sys.module None entries and the ambiguity of # absolute/relative imports. with self.assertRaises(ValueError): self.__import__('os', globals(), level=-1) def test_nonexistent_fromlist_entry(self): # If something in fromlist doesn't exist, that's okay. # issue15715 mod = types.ModuleType(PKG_NAME) mod.__path__ = ['XXX'] with util.import_state(meta_path=[self.bad_finder_loader]): with util.uncache(PKG_NAME): sys.modules[PKG_NAME] = mod self.__import__(PKG_NAME, fromlist=['not here']) def test_fromlist_load_error_propagates(self): # If something in fromlist triggers an exception not related to not # existing, let that exception propagate. # issue15316 mod = types.ModuleType(PKG_NAME) mod.__path__ = ['XXX'] with util.import_state(meta_path=[self.bad_finder_loader]): with util.uncache(PKG_NAME): sys.modules[PKG_NAME] = mod with self.assertRaises(ImportError): self.__import__(PKG_NAME, fromlist=[SUBMOD_NAME.rpartition('.')[-1]]) class OldAPITests(APITest): bad_finder_loader = BadLoaderFinder (Frozen_OldAPITests, Source_OldAPITests ) = util.test_both(OldAPITests, __import__=util.__import__) class SpecAPITests(APITest): bad_finder_loader = BadSpecFinderLoader (Frozen_SpecAPITests, Source_SpecAPITests ) = util.test_both(SpecAPITests, __import__=util.__import__) if __name__ == '__main__': unittest.main()