\bgHvdZddlZddlZddlZddlZddlZddlZddlZddlZddl m Z ddl Z ddl m Z ddlmZmZddlmZddlZddlZdejdkzdzZGd d e ZGd d eZejd ZejejdejdGddejZ ejdejdGddejZ!dS)zTests for distutils.dist.N)Command) Distributionfix_help_options)support.posixzpydistutils.cfgceZdZdZdgZdZdS) test_distz#Sample distutils extension command.)zsample-option=Sz help textcd|_dSN) sample_optionselfs v/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/setuptools/_distutils/tests/test_dist.pyinitialize_optionsztest_dist.initialize_optionss!N)__name__ __module__ __qualname____doc__ user_optionsrrrr r s5-- -L"""""rr ceZdZdZdZdS)TestDistributionzDistribution subclasses that avoids the default search for configuration files. The ._config_files attribute must be set before .parse_config_files() is called. c|jSr ) _config_filesrs rfind_config_filesz"TestDistribution.find_config_files*s !!rN)rrrrrrrrrr"s-"""""rrc$tjdd=dS)N)sysargvrrr clear_argvr#.s  rsave_env save_argvceZdZddZdZdZejde j jvddZ d Z d Z d Zd Zd ZdZejdddZdS)TestDistributionBehaviorrct}||_|||Sr )rrparse_config_filesparse_command_line)r configfilesds rcreate_distributionz,TestDistributionBehavior.create_distribution7s=   %  rctjd|}|dgksJdS)Nbuilddistutils.command)r!r"appendr-get_command_packages)rr#r,s r!test_command_packages_unspecifiedz:TestDistributionBehavior.test_command_packages_unspecified>sN     $ $ & &%%'',?+@@@@@@@rcddlm}tjgd|}|gdksJ|d}t||sJ|j dksJdS)Nr)r )--command-packageszfoo.bar,distutils.testsr z -Ssometext)r0foo.barzdistutils.testsr sometext) distutils.tests.test_distr r!r"extendr-r2get_command_obj isinstancer)rr#r r,cmds rtest_command_packages_cmdlinez6TestDistributionBehavior.test_command_packages_cmdlineCs777777        $ $ & &%%'', , ,      ,,#y))))) J......r distutilsz;Cannot test when virtualenv has monkey-patched Distribution)reasonc"tjdt|dz }d}tj|d|d|d|d|d|d |d |d |d |d |d|d|d|ditj tdd5| |g}dddn #1swxYwY||f}|||||||||||||d }t|j dt|ksJ|j dD]\}} | ||ksJtj tdd5| |g}dddn #1swxYwY|D]!}||j divsJ"dS)Ninstallfilez/somedirzB [install] install-base = z( install-platbase = z# install-lib = z' install-platlib = z' install-purelib = z' install-headers = z' install-scripts = z$ install-data = z prefix = z# exec-prefix = z home = z user = z root = z z/a)prefix base_prefix) install_baseinstall_platbase install_libinstall_platlibinstall_purelibinstall_headersinstall_scripts install_datarC exec_prefixhomeuserrootz/b)r!r"r1strjaracopathr/mockpatchmultipler-sortedcommand_optionsgetkeysitems) rtmp_pathr#rBfakepathr, option_tuple result_dictkeyvalues rtest_venv_install_optionsz2TestDistributionBehavior.test_venv_install_optionsWsg  """8f$%%  $,)1$,  (0  (0 (0(0%-'$,%%%    (Z Tt D D 1 1(($00A 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1h' ) ,'++++("'     a'++I66;;==>>&     C C     +// ::@@BB - -JCK,,,,,,Z Tt D D 1 1(($00A 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1##%% C CCa/33IrBBBBBBB C Cs$$CC C +GGGc tjdt|dz }tj|di||g}|gdksJgdtjdd<||g}|ddgksJgd tjdd<||g}|dgksJdS) Nr/rBzh [global] command_packages = foo.bar, splat )r0r6splat)r5sporkr/r r0re)r5r/) r!r"r1rQrRrSr/r-r2)rr\r#rBr,s r test_command_packages_configfilez9TestDistributionBehavior.test_command_packages_configfiles-    8f$%%        $ $dV , ,%%''+T+T+TTTTT@??  $ $dV , ,%%'',?+IIIII;::  $ $dV , ,%%'',?+@@@@@@@rc&gfd}|tjttdtj|t_t ddddid}tdksJdt|vsJdS) Nc2|dSr )r1)msgwarnss r_warnz:TestDistributionBehavior.test_empty_options.._warns LL     rwarnxxxxxxx)authornameversionurloptionsattrsrrt) addfinalizer functoolspartialsetattrwarningsrmrlendir)rrequestrldistrks @rtest_empty_optionsz+TestDistributionBehavior.test_empty_optionss         gx G G         5zzQD ))))))rcFddd}t|}||jjddgksJ|jjddgksJddd}t|}||jjdgksJ|jjdgksJdS)None,two)keywords platformsruonetwozfoo bar)rfinalize_optionsmetadatarrrrvrs rtest_finalize_optionsz.TestDistributionBehavior.test_finalize_optionss&Y??%((( }&5%.8888}%%7777&Y??%((( }&9+5555}%)444444rct}|jJ|}|dgksJ|jdgksJd|_|}|gdksJdS)Nr0r)r0rr)rcommand_packagesr2)rrcmdss rtest_get_command_packagesz2TestDistributionBehavior.test_get_command_packagess~~$,,,((**+,,,,,$)<(===== )((**:::::::::rct}tjt5|ddddddS#1swxYwYdS)Nokok2)level)rpytestraises TypeErrorannounce)rrs r test_announcez&TestDistributionBehavior.test_announces~~ ]9 % % - - MM$eM , , , - - - - - - - - - - - - - - - - - -sA  AAc0tjtdi|t }|}t ddgi}|}t |dz t |ksJdS)Nz [distutils] script_argsz --no-user-cfgrur )rRrSr/pydistutils_cfgrrr|)r temp_homer, all_filesfiless rtest_find_config_files_disablez7TestDistributionBehavior.test_find_config_files_disables ?O'?'???????rcfdddd}t|}||}d|vsJdS)Nrrzhttp://example.org/boa)rqrr download_urlr)rrrs rtest_download_urlzTestMetadata.test_download_urlsP4   E""##D))&$......rctjd}dd|d}t|}||}|dd}||vsJdS)Nzc example:: We start here and continue here and end here.rrrqrrlong_descriptionz  )textwrapdedentrrreplace)r long_descrvrrs rtest_long_descriptionz"TestMetadata.test_long_descriptionssO   #u)TTE""##D))||ND11D      rctjtdi||tz }t |t vsJdS)z* pydistutils.cfg is found rfN)rRrSr/rrQrr)rr config_paths rtest_custom_pydistutilsz$TestMetadata.test_custom_pydistutilssZ  ?B/;;;/1 ;<>>#C#C#E#EEEEEEErctjddi||dz }|dt |t |t vsJdS)Nz overrides.cfgrfDIST_EXTRA_CONFIG)rRrSr/setenvrQrr)r monkeypatchr\filenames rtest_extra_pydistutilsz#TestMetadata.test_extra_pydistutilsss ?B/:::o-.H >>>8}}  @ @ B BBBBBBBrcdddg}t|}|ddksJ|ddksJdS)N)abcr,)r r)rrrr )r rr)r)r help_tuples fancy_optionss rtest_fix_help_optionsz"TestMetadata.test_fix_help_optionssK+\: (55 Q?2222Q9,,,,,,rct}gt_d|_d|_|d|jdD}|sJdS)NTzsetup.pycBg|]}|dk|S)rf)strip).0lines r z/TestMetadata.test_show_help..s2   DJJLLTVDVDVDDVDVDVrr) rr!r"help script_namer* readouterroutsplit)rr~capsysroutputs rtest_show_helpzTestMetadata.test_show_helps}~~ % !!!  #..004::4@@    v rcdddddddgdgd }t|}|j}tj}|||d |||jdksJ|jdksJ|j dksJ|j dksJ|j ddgksJ|j J|j J|jdgksJdS) Nrrdescrnzhttp://example.comrrfoo)rqrrr descriptionrrrr)rrrrrseek read_pkg_filerqrrr-rrrrr)rrvrrPKG_INFOs rtest_read_metadatazTestMetadata.test_read_metadatas( & 0  E""=;==))) ax(((} ))))5((((#u,,,,$(<<<<< UEN2222!)))!))) UG++++++rcdddd}t|}|j}tj5}|||}dddn #1swxYwYt j|}t j ddd }tj5}t j ||  || dt j|}dddn #1swxYwYt|d } t|d } | | ksJdS) z In pypa/setuptools#4033, it was shown that once PKG-INFO is re-generated using ``email.generator.Generator``, some control characters might cause problems. rrz hello world rNTFr)utf8 mangle_from_max_line_length)policy Description)rrrrrremailmessage_from_stringr6 EmailPolicy generator Generatorflattenr.message_from_fileset splitlines) rrvrrbufferrjorigr6regen orig_desc regen_descs r'test_round_trip_through_email_generatorz4TestMetadata.test_round_trip_through_email_generators 4   E""= []] $f  # #F + + +//##C $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ (--))*   []] 4f O % %fV % < < D DT J J J KKNNN+F33E  4 4 4 4 4 4 4 4 4 4 4 4 4 4 4]+668899 }-88::;; Y&&&&&&s$*A&&A*-A*:AD$$D(+D(N)rrrrrrrrrrrrrrrrrrrrrr rrr)r1rFrrrrrs 000 0 0 0 000  888 333  999 / / / D D DHHH > > >KKK @ @ @/// ! ! !FFFCCC ---   ,,,:$'$'$'$'$'rr)"rr8email.generator email.policyrxrosr!r unittest.mockrTr{ distutils.cmdrdistutils.distrrdistutils.testsr jaraco.pathrRrrqrr rfixturer#combine_markersr usefixturesTempdirManagerr'rrrrrSsE  !!!!!!99999999###### G+,/@@"""""""" " " " " "| " " " $$%%M+M+M+M+M+w5M+M+&%%$M+`$$%%Y'Y'Y'Y'Y'7)Y'Y'&%%$Y'Y'Y'r