a  zeE@sddlmZddlZddlZddlZddlmZGdddZGdddZej eej d \Z Z Gd d d Z Gd d d Zej eej d \ZZedkredS)) machineryN)utilc@s&eZdZdddZddZddZdS) SpecLoaderMockNcCs t||SN)r ModuleSpec)selffullnamepathtargetr _/opt/bitninja-python-dojo/embedded/lib/python3.9/test/test_importlib/import_/test___loader__.py find_spec szSpecLoaderMock.find_speccCsdSrr )rspecr r r create_moduleszSpecLoaderMock.create_modulecCsdSrr )rmoduler r r exec_moduleszSpecLoaderMock.exec_module)NN)__name__ __module__ __qualname__rrrr r r r r s rc@seZdZddZdS)SpecLoaderAttributeTestsc Cszt}tdHtj|gd|d}Wdn1s@0YWdn1s^0Y|||jdSNZblah) meta_path)rruncache import_state __import__ assertEqual __loader__)rloaderrr r r test___loader__sFz(SpecLoaderAttributeTests.test___loader__N)rrrrr r r r rsr)rc@seZdZdddZddZdS) LoaderMockNcCs|Srr )rr r r r r find_module%szLoaderMock.find_modulecCs|jtj|<|jSr)rsysmodules)rr r r r load_module(s zLoaderMock.load_module)N)rrrr!r$r r r r r #s r c@seZdZddZddZdS)LoaderAttributeTestsc Cstd}z|`Wnty$Yn0t}||_tdHtj|gd| d}Wdn1sl0YWdn1s0Y| ||jdSr) types ModuleTyperAttributeErrorr rrrrrr)rrrr r r test___loader___missing/s  Fz,LoaderAttributeTests.test___loader___missingc Cstd}d|_t}||_tdHtj|gd|d}Wdn1sV0YWdn1st0Y| ||jdSr) r&r'rr rrrrrr)rrrZreturned_moduler r r test___loader___is_None;s Fz,LoaderAttributeTests.test___loader___is_NoneN)rrrr)r*r r r r r%-s r%__main__) importlibrr"r&ZunittestrrrZ test_bothrZFrozen_SpecTestsZSource_SpecTestsr r%Z Frozen_TestsZ Source_Testsrmainr r r r s