a  zeu!@s,ddlZddlZddlZddlmZddlmZmZddlmZddlm Z m Z ddl m Z ddl mZGd d d ZGd d d eejZGd ddeejejZGdddejZGdddejZGdddejejZGdddejejZGdddejZGdddejZedkr(edS)N)data01) zipdata01 zipdata02)util) resources import_module)Path)supportc@s,eZdZddZddZddZddZd S) ResourceTestscCs|t|jddS)N binary.file) assertTruer is_resourcedataselfrU/opt/bitninja-python-dojo/embedded/lib/python3.9/test/test_importlib/test_resource.pytest_is_resource_good_pathsz(ResourceTests.test_is_resource_good_pathcCs|t|jddS)Nz not-a-file assertFalserrrrrrrtest_is_resource_missingsz&ResourceTests.test_is_resource_missingcCs|t|jddS)N subdirectoryrrrrr&test_is_resource_subresource_directorysz4ResourceTests.test_is_resource_subresource_directorycCsBtt|j}|d|d|d||hddS)N __pycache__z __init__.pycz __init__.pyo>rr __init__.py utf-8.filez utf-16.file)setrcontentsrdiscard assertEqualrrrrr test_contentss    zResourceTests.test_contentsN)__name__ __module__ __qualname__rrrr"rrrrr sr c@seZdZddZdS)ResourceDiskTestscCs t|_dSN)rrrrrrsetUp.szResourceDiskTests.setUpN)r#r$r%r(rrrrr&-sr&c@s eZdZdS)ResourceZipTestsN)r#r$r%rrrrr)2sr)c@s,eZdZddZddZddZddZd S) ResourceLoaderTestscCs4tjttjgdd}|tt|hddS)NABCfilepathr>r,r.r-)rcreate_packager__file__r rrrrpackagerrrtest_resource_contents7s  z*ResourceLoaderTests.test_resource_contentscCs,tjttjgdd}|t|ddS)Nr,r-r.zD/EzD/Fr/r-)rr2rr3r rrr4rrrtest_resource_is_resource>s z-ResourceLoaderTests.test_resource_is_resourcecCs,tjttjgdd}|t|ddS)Nr7r/Drr2rr3rrrr4rrr'test_resource_directory_is_not_resourceDs z;ResourceLoaderTests.test_resource_directory_is_not_resourcecCs,tjttjgdd}|t|ddS)Nr7r/Zr:r4rrr%test_resource_missing_is_not_resourceJs z9ResourceLoaderTests.test_resource_missing_is_not_resourceN)r#r$r%r6r8r;r=rrrrr*6sr*c@seZdZddZdS)ResourceCornerCaseTestscCsXtjttjgdd}t|_d|_tjdkrB|j|j_ |j|j_ | t |ddS)Nr+r/z/path/which/shall/not/be/named)r,)rr2rr3object __loader__sys version_info__spec__loaderoriginrrr)rmodulerrr#test_package_has_no_reader_fallbackRs    z;ResourceCornerCaseTests.test_package_has_no_reader_fallbackN)r#r$r%rHrrrrr>Qsr>c@seZdZeZddZdS)ResourceFromZipsTestcCs8|ttdddh|ttdddhdS)Nzziptestdata.oner resource1.txtzziptestdata.twoz resource2.txtr rrrrrrrtest_unrelated_contentsfs  z,ResourceFromZipsTest.test_unrelated_contentsN)r#r$r%r ZIP_MODULErLrrrrrIcsrIc@s0eZdZeZddZddZddZddZd S) SubdirectoryResourceFromZipsTestcCstd}|t|ddSNziptestdata.subdirectoryr )rr rrrZ submodulerrrtest_is_submodule_resourcews z;SubdirectoryResourceFromZipsTest.test_is_submodule_resourcecCs|tdddSrO)r rrrrrr$test_read_submodule_resource_by_name|s zESubdirectoryResourceFromZipsTest.test_read_submodule_resource_by_namecCs&td}|tt|ddhdSNrPrr )rr rrrrQrrrtest_submodule_contentss  z8SubdirectoryResourceFromZipsTest.test_submodule_contentscCs|ttdddhdSrTrKrrrrtest_submodule_contents_by_names z@SubdirectoryResourceFromZipsTest.test_submodule_contents_by_nameN) r#r$r%rrMrRrSrUrVrrrrrNts rNc@seZdZddZdS) NamespaceTestcCsvtd}|t||tdd|ttjdd|ttjdd|ttj dd|ttj dddS)Nz$test.test_importlib.data03.namespacerJ) rrrlistrZ assertRaisesFileNotFoundErrorZ open_textZ open_binary read_text read_binaryr!rrr%test_namespaces_cannot_have_resourcess4 z3NamespaceTest.test_namespaces_cannot_have_resourcesN)r#r$r%r\rrrrrWsrWc@sXeZdZeZddZddZddZddZd d Z d d Z d dZ ddZ ddZ dS)DeletingZipsTestcCst}|jtjg|Rt|jj}|j}|d|_t d t |_ |j |jtjt|j td|_dS)Nzziptestdata.zipz{}.zip ziptestdata)r Z modules_setupZ addCleanupZmodules_cleanupr rMr3parentZsource_zip_pathcwdformatuuidZuuid4zip_path write_bytes read_bytesrBr1appendstrrr)rmodulesZ data_pathZdata_dirrrrr(s  zDeletingZipsTest.setUpcCsztjt|jWnty(Yn0ztjt|j=tj|jj =Wnt yZYn0zt |jWnt y~Yn0dSr')rBr1removergrc ValueErrorpath_importer_cacherhrr#KeyErrorr unlinkOSErrorrrrrtearDowns   zDeletingZipsTest.tearDowncCstd}|jdS)Nr^)rrrcrmrcrrr test_contents_does_not_keep_opens z1DeletingZipsTest.test_contents_does_not_keep_opencCstdd}|jdSNr^r rrrcrmrprrr#test_is_resource_does_not_keep_opens z4DeletingZipsTest.test_is_resource_does_not_keep_opencCstdd}|jdS)Nr^z not-presentrtrprrr+test_is_resource_failure_does_not_keep_opens zZ ZipSetupBaserIrNrWr]r#mainrrrrs&     B