a  zeB@sHddlZddlZddlZddlZddlZddlmZddlmZddl m Z m Z m Z zddl Z dZWneyzdZYn0zddlZddlZdZWneydZYn0ddlmZmZddlmZdd lmZdd lmZdd lmZdd lmZdd l m!Z!ddl"m#Z#dZ$dZ%GdddeZ&ddZ'e(dkrDe e'dS)N)join)dedent)captured_stdoutcheck_warnings run_unittestTF)sdist show_formats) Distribution)BasePyPIRCCommandTestCase)DistutilsOptionError)find_executable)WARN)FileList)ARCHIVE_FORMATSzF from distutils.core import setup import somecode setup(name='fake') z# file GENERATED by distutils, do NOT edit README buildout.cfg inroot.txt setup.py data%(sep)sdata.dt scripts%(sep)sscript.py some%(sep)sfile.txt some%(sep)sother_file.txt somecode%(sep)s__init__.py somecode%(sep)sdoc.dat somecode%(sep)sdoc.txt cseZdZfddZfddZd1ddZeedd d Z eede e d dud e e d dudddZ eedddZ eedddZddZddZddZddZddZdd Ze ejd!kd"d#d$Zeedd%d&Zeedd'd(Zeedd)d*Zeedd+d,Zeed-eed.e e d dud e e d dudd/d0ZZS)2 SDistTestCasecstt|t|_tt|jdtt|jd| |jdfd| |jddfd| |jdft t |jdS)NsomecodedistREADMExxxz __init__.py#setup.py) superrsetUposgetcwdold_pathmkdirrtmp_dir write_fileSETUP_PYchdirself __class__N/opt/bitninja-python-dojo/embedded/lib/python3.9/distutils/tests/test_sdist.pyr9s zSDistTestCase.setUpcst|jtt|dSN)rr rrrtearDownr!r#r%r&r(Gs zSDistTestCase.tearDownNcCsJ|durdddddd}t|}d|_dg|_d|_t|}d|_||fS) NZfakez1.0r)nameversionurlZauthorZ author_emailrrTr)r Z script_nameZpackagesZinclude_package_datardist_dir)r"metadatarcmdr%r%r&get_cmdLszSDistTestCase.get_cmdzNeed zlib support to runcCs0tt|jdd||jdddfdtt|jdd||jdddfdtt|jdd||jdddfd||jddfd|\}}d g|_||t|jd }t |}| |d gt t|d }z| }W|n |0gd }| t|d d|DdS)Nrz.svnzok.pyr.hgokz.gitz.nfs0001zipr fake-1.0.zip)PKG-INFOrr somecode/somecode/__init__.pycSsg|] }d|qSz fake-1.0/r%.0xr%r%r& z6SDistTestCase.test_prune_file_list..)rrrrrr/formatsensure_finalizedrunlistdir assertEqualzipfileZipFilenamelistclosesorted)r"rr. dist_folderfileszip_filecontentexpectedr%r%r&test_prune_file_listZs8      z"SDistTestCase.test_prune_file_listtarzThe tar command is not foundgzipzThe gzip command is not foundcCs|\}}ddg|_||t|jd}t|}|| |ddgt t|dt t|dddg|_||t|}|| |ddgdS)NgztarrNrz fake-1.0.tarfake-1.0.tar.gz) r/r>r?r@rrrrAsortrBremove)r"rr.rHresultr%r%r&test_make_distributions       z$SDistTestCase.test_make_distributioncCs|\}}ddgdgd|_||jddfd||jddfdt|jd }t|||d fdt|jd }t|t|jd }t|||d fd||jdfd||jdfd||dfd||dfdd gdfddg|_t|jd}t|||dfdtddg|_dg|_ d|_ | | t|jd}t |}||dgtt|d} z| } W| n | 0gd} |t| dd| Dtt|jd} z| } W| n | 0|| tdtjidS) Nz*.cfgz*.dat*.txt)r4rrdoc.txtrzdoc.datdatazdata.dtZsomer0zlast-message.txt buildout.cfg inroot.txtzfile.txtzother_file.txt) data/data.dtrYrZZ notexisting some/file.txtsome/other_file.txtscriptsz script.pyr2Trr3)r4r5rrYzdata/r[rZzscripts/zscripts/script.pyrzsome/r\r]r6r7zsomecode/doc.datzsomecode/doc.txtcSsg|] }d|qSr8r%r9r%r%r&r<r=z3SDistTestCase.test_add_defaults..MANIFESTsep)r/ package_datarrrrrZ data_filesr^r>Z use_defaultsr?r@rArBrCrDrErFrGopenreadr_r`)r"rr.Zdata_dirZsome_dirZhg_dirZ script_dirrHrIrJrKrLfmanifestr%r%r&test_add_defaultssX              zSDistTestCase.test_add_defaultscCs|jid\}}||dd|tD}|t|d||\}}|d|_|dd|tD}|t|ddS)N)r-cSsg|]}|dr|qSzwarning: check: startswithr:msgr%r%r&r<s z.rcSsg|]}|dr|qSrgrhrjr%r%r&r< s ) r/r?r@get_logsr rBlenZ clear_logsZmetadata_check)r"rr.warningsr%r%r&test_metadata_check_options z(SDistTestCase.test_metadata_check_optioncCsZ|\}}t4}td||t|jdWdn1sL0YdS)Nalways)r/rro simplefilterZcheck_metadatarBrn)r"rr.wr%r%r&test_check_metadata_deprecateds   z,SDistTestCase.test_check_metadata_deprecatedcCsdt}tWdn1s"0Ytt}dd|dD}|t||dS)NcSsg|]}|dr|qS)z --formats=)striprir:liner%r%r&r<sz3SDistTestCase.test_show_formats.. )rrrnrkeysgetvaluesplitrB)r"stdoutZ num_formatsoutputr%r%r&test_show_formatss $ zSDistTestCase.test_show_formatscCsz|\}}|||jd||jd||jdd|_|t|jdg|_|d|_|t|jdS)Nr_ MANIFEST.inrrrr2Zsupazipa) r/Zfinalize_optionsrBretemplater,r>Z assertRaisesr )r"rr.r%r%r&test_finalize_options s z#SDistTestCase.test_finalize_optionscCsZ|\}}t|j|d||t|_|| t }| t |ddS)Nrrr) r/rr rrr?rfilelistZ read_templatermr rBrn)r"rKrr.ror%r%r&_check_template7s    zSDistTestCase._check_templatecCs|ddS)Nztaunt knights *rr!r%r%r&%test_invalid_template_unknown_commandAsz3SDistTestCase.test_invalid_template_unknown_commandcCs|ddS)NZprunerr!r%r%r&%test_invalid_template_wrong_argumentsDsz3SDistTestCase.test_invalid_template_wrong_argumentsntztest relevant for Windows onlycCs|ddS)Nzinclude examples/rr!r%r%r& test_invalid_template_wrong_pathHsz.SDistTestCase.test_invalid_template_wrong_pathcCs |\}}ddgi|_||jddfddg|_||t|j}z$dd| dD}W| n | 0| t |d ||jdd fd|d }d |_||t|j}z$d d| dD}W| n | 0| t |d|d |ddS)NrrVrWrrPcSs g|]}|dkr|qSr4rvrwr%r%r&r<\s z4SDistTestCase.test_get_file_list..ryzdoc2.txtbuild_pyFcSs g|]}|dkr|qSrrrwr%r%r&r<os )r/rarrr>r?r@rbrercr|rFrBrnZget_command_objZ finalizedZassertIn)r"rr.rdrerZ manifest2r%r%r&test_get_file_listNs,     z SDistTestCase.test_get_file_listcCsj|\}}||t|j}z$dd|dD}W|n |0||dddS)NcSs g|]}|dkr|qSrrrwr%r%r&r<s z6SDistTestCase.test_manifest_marker..ryrz*# file GENERATED by distutils, do NOT edit) r/r?r@rbrercr|rFrB)r"rr.rdrer%r%r&test_manifest_markerxs   z"SDistTestCase.test_manifest_markercCstd}|\}}|||j|jf|||jdfd||jdfd||jdfd|||jj dgdS)NzI # bad.py #bad.py good.py zgood.pyz # pick me!zbad.pyz# don't pick me!z#bad.py) rr/r?rrrer@rBrrI)r"contentsrr.r%r%r&test_manifest_commentss z$SDistTestCase.test_manifest_commentscCs|\}}dg|_|||j|jfd||jdfd|||jj dgt |j}z$dd| dD}W| n | 0||dgt|jdd}t |}zd d|D}W| n | 0|t|gd dS) NrPz README.manualz0This project maintains its MANIFEST file itself.cSs g|]}|dkr|qSrrrwr%r%r&r<s z6SDistTestCase.test_manual_manifest..ryrrQcSsg|] }|jqSr%)r))r:tarinfor%r%r&r<r=)zfake-1.0zfake-1.0/PKG-INFOzfake-1.0/README.manual)r/r>r?rrrer@rBrrIrbrcr|rFrtarfilerG)r"rr.rdre archive_namearchive filenamesr%r%r&test_manual_manifests(    z"SDistTestCase.test_manual_manifestz requires zlibzRequires grp and pwd supportcCs|\}}dg|_tdd|_tdd|_|| t |j dd}t |}z6|D] }||jd||jdqfW|n |0|\}}dg|_|| t |j dd}t |}z,|D]}||jtqW|n |0dS)NrPrrrQ)r/r>pwdgetpwuidownergrpgetgrgidgroupr?r@rrrrbZ getmembersrBuidgidrFrgetuid)r"rr.rrmemberr%r%r&"test_make_distribution_owner_groups.      z0SDistTestCase.test_make_distribution_owner_group)N)__name__ __module__ __qualname__rr(r/unittestZ skipUnless ZLIB_SUPPORTrMZskipIfr rUrfrprurrrrrrr)rrrrrUID_GID_SUPPORTr __classcell__r%r%r#r&r7sT     ,   N       )        rcCs ttSr')rZ makeSuiterr%r%r%r& test_suitesr__main__))rrrrorCZos.pathrtextwraprZ test.supportrrrzlibr ImportErrorrrrZdistutils.command.sdistrrZdistutils.corer Zdistutils.tests.test_configr Zdistutils.errorsr Zdistutils.spawnr Z distutils.logr Zdistutils.filelistrZdistutils.archive_utilrrr_rrrr%r%r%r&sF             4