Your IP : 216.73.216.213


Current Path : /opt/alt/python33/lib64/python3.3/distutils/tests/__pycache__/
Upload File :
Current File : //opt/alt/python33/lib64/python3.3/distutils/tests/__pycache__/support.cpython-33.pyc

�
��f�c@s#dZddlZddlZddlZddlZddlZddlZddlmZddl	m
Z
ddlmZm
Z
mZmZmZddlmZGdd�de�ZGd	d
�d
e�ZGdd�d�ZGd
d�de�Zdd�Zdd�Zdd�ZdS(u&Support code for distutils test cases.iN(udeepcopy(ulog(uDEBUGuINFOuWARNuERRORuFATAL(uDistributioncs\|EeZdZ�fdd�Z�fdd�Zdd�Zdd�Zd	d
�Z�S(uLoggingSilencercsMt�j�tjtj�|_tjj|_|jtj_g|_	dS(N(
usuperusetUpulogu
set_thresholduFATALu	thresholduLogu_logu_old_logulogs(uself(u	__class__(u</opt/alt/python33/lib64/python3.3/distutils/tests/support.pyusetUps

uLoggingSilencer.setUpcs0tj|j�|jtj_t�j�dS(N(ulogu
set_thresholdu	thresholdu_old_loguLogu_logusuperutearDown(uself(u	__class__(u</opt/alt/python33/lib64/python3.3/distutils/tests/support.pyutearDownsuLoggingSilencer.tearDowncCs||tttttfkr4tdt|���nt|t�s_tdt	|�j
��n|jj|||f�dS(Nu%s wrong log levelumsg should be str, not '%.200s'(
uDEBUGuINFOuWARNuERRORuFATALu
ValueErrorustru
isinstanceu	TypeErrorutypeu__name__ulogsuappend(uselfulevelumsguargs((u</opt/alt/python33/lib64/python3.3/distutils/tests/support.pyu_log suLoggingSilencer._logcs&dd�}�fdd�|jD�S(NcSs||S(N((umsguargs((u</opt/alt/python33/lib64/python3.3/distutils/tests/support.pyu_format)su)LoggingSilencer.get_logs.<locals>._formatcs/g|]%\}}}|�kr||�qS(((u.0ulevelumsguargs(ulevels(u</opt/alt/python33/lib64/python3.3/distutils/tests/support.pyu
<listcomp>+s	u,LoggingSilencer.get_logs.<locals>.<listcomp>(ulogs(uselfulevelsu_format((ulevelsu</opt/alt/python33/lib64/python3.3/distutils/tests/support.pyuget_logs(suLoggingSilencer.get_logscCs
g|_dS(N(ulogs(uself((u</opt/alt/python33/lib64/python3.3/distutils/tests/support.pyu
clear_logs.suLoggingSilencer.clear_logs(u__name__u
__module__u__qualname__usetUputearDownu_loguget_logsu
clear_logs(u
__locals__((u	__class__u</opt/alt/python33/lib64/python3.3/distutils/tests/support.pyuLoggingSilencers

uLoggingSilencercsh|EeZdZdZ�fdd�Z�fdd�Zdd�Zdd	d
�Zddd
�Z�S(uTempdirManageru}Mix-in class that handles temporary directories for test cases.

    This is intended to be used with unittest.TestCase.
    cs)t�j�tj�|_g|_dS(N(usuperusetUpuosugetcwduold_cwdutempdirs(uself(u	__class__(u</opt/alt/python33/lib64/python3.3/distutils/tests/support.pyusetUp8s
uTempdirManager.setUpcsYtj|j�t�j�x5|jrT|jj�}tj|tj	dk�q WdS(Nuntucygwin(untucygwin(
uosuchdiruold_cwdusuperutearDownutempdirsupopushutilurmtreeuname(uselfud(u	__class__(u</opt/alt/python33/lib64/python3.3/distutils/tests/support.pyutearDown=s

uTempdirManager.tearDowncCs tj�}|jj|�|S(ujCreate a temporary directory that will be cleaned up.

        Returns the path of the directory.
        (utempfileumkdtemputempdirsuappend(uselfud((u</opt/alt/python33/lib64/python3.3/distutils/tests/support.pyumkdtempFsuTempdirManager.mkdtempuxxxc
Cs\t|ttf�r*tjj|�}nt|d�}z|j|�Wd|j�XdS(uWWrites a file in the given path.


        path can be a string or a sequence.
        uwN(	u
isinstanceulistutupleuosupathujoinuopenuwriteuclose(uselfupathucontentuf((u</opt/alt/python33/lib64/python3.3/distutils/tests/support.pyu
write_fileOsuTempdirManager.write_fileufoocKsG|j�}tjj||�}tj|�td|�}||fS(uWill generate a test environment.

        This function creates:
         - a Distribution instance using keywords
         - a temporary directory with a package structure

        It returns the package directory and the distribution
        instance.
        uattrs(umkdtempuosupathujoinumkdiruDistribution(uselfupkg_nameukwutmp_dirupkg_dirudist((u</opt/alt/python33/lib64/python3.3/distutils/tests/support.pyucreate_dist]s


uTempdirManager.create_dist(	u__name__u
__module__u__qualname__u__doc__usetUputearDownumkdtempu
write_fileucreate_dist(u
__locals__((u	__class__u</opt/alt/python33/lib64/python3.3/distutils/tests/support.pyuTempdirManager2s		uTempdirManagercBs2|EeZdZdZdd�Zdd�ZdS(uDummyCommanduAClass to store options for retrieval via set_undefined_options().cKs1x*|j�D]\}}t|||�q
WdS(N(uitemsusetattr(uselfukwargsukwuval((u</opt/alt/python33/lib64/python3.3/distutils/tests/support.pyu__init__rsuDummyCommand.__init__cCsdS(N((uself((u</opt/alt/python33/lib64/python3.3/distutils/tests/support.pyuensure_finalizedvsuDummyCommand.ensure_finalizedN(u__name__u
__module__u__qualname__u__doc__u__init__uensure_finalized(u
__locals__((u</opt/alt/python33/lib64/python3.3/distutils/tests/support.pyuDummyCommandosuDummyCommandcs8|EeZdZ�fdd�Z�fdd�Z�S(uEnvironGuardcs)tt|�j�ttj�|_dS(N(usuperuEnvironGuardusetUpudeepcopyuosuenvironuold_environ(uself(u	__class__(u</opt/alt/python33/lib64/python3.3/distutils/tests/support.pyusetUp|suEnvironGuard.setUpcs�xE|jj�D]4\}}tjj|�|kr|tj|<qqWx9ttjj��D]"}||jkr^tj|=q^q^Wtt|�j	�dS(N(
uold_environuitemsuosuenvironugetutupleukeysusuperuEnvironGuardutearDown(uselfukeyuvalue(u	__class__(u</opt/alt/python33/lib64/python3.3/distutils/tests/support.pyutearDown�suEnvironGuard.tearDown(u__name__u
__module__u__qualname__usetUputearDown(u
__locals__((u	__class__u</opt/alt/python33/lib64/python3.3/distutils/tests/support.pyuEnvironGuardzsuEnvironGuardcCs;t�}|dkr'tjd��ntj||�dS(ukHelper for tests that need the xxmodule.c source file.

    Example use:

        def test_compile(self):
            copy_xxmodule_c(self.tmpdir)
            self.assertIn('xxmodule.c', os.listdir(self.tmpdir))

    If the source file can be found, it will be copied to *directory*.  If not,
    the test will be skipped.  Errors during copy are not caught.
    u>cannot find xxmodule.c (test must run in the python build dir)N(u_get_xxmodule_pathuNoneuunittestuSkipTestushutilucopy(u	directoryufilename((u</opt/alt/python33/lib64/python3.3/distutils/tests/support.pyucopy_xxmodule_c�s	ucopy_xxmodule_cc	Cs�tjd�}tjjtjjt�d�tjj|dd�tjj|ddddd�g}x$|D]}tjj|�rm|SqmWdS(Nusrcdiru
xxmodule.cuModulesu..(u	sysconfiguget_config_varuosupathujoinudirnameu__file__uexists(usrcdiru
candidatesupath((u</opt/alt/python33/lib64/python3.3/distutils/tests/support.pyu_get_xxmodule_path�s$
u_get_xxmodule_pathcCs�tjdkr'tjjd�|_n�tjd�r�tjd�}|d
kr`dg|_	q�tj
dkr{g|_	q�|jd�\}}}dd	�|jtj
�D�|_	nd
S(u�Function needed to make build_ext tests pass.

    When Python was built with --enable-shared on Unix, -L. is not enough to
    find libpython<blah>.so, because regrtest runs in a tempdir, not in the
    source directory where the .so lives.

    When Python was built with in debug mode on Windows, build_ext commands
    need their debug attribute set, and it is not done automatically for
    some reason.

    This function handles both of these things.  Example use:

        cmd = build_ext(dist)
        support.fixup_build_ext(cmd)
        cmd.ensure_finalized()

    Unlike most other Unix platforms, Mac OS X embeds absolute paths
    to shared libraries into executables, so the fixup is not needed there.
    untu_d.exeuPy_ENABLE_SHAREDu	RUNSHAREDu.udarwinu=cSsg|]}|r|�qS(((u.0ud((u</opt/alt/python33/lib64/python3.3/distutils/tests/support.pyu
<listcomp>�s	u#fixup_build_ext.<locals>.<listcomp>N(uosunameusysu
executableuendswithudebugu	sysconfiguget_config_varuNoneulibrary_dirsuplatformu	partitionusplitupathsep(ucmdu	runsharedunameuequalsuvalue((u</opt/alt/python33/lib64/python3.3/distutils/tests/support.pyufixup_build_ext�sufixup_build_ext(u__doc__uosusysushutilutempfileuunittestu	sysconfigucopyudeepcopyu	distutilsulogu
distutils.loguDEBUGuINFOuWARNuERRORuFATALudistutils.coreuDistributionuobjectuLoggingSilenceruTempdirManageruDummyCommanduEnvironGuarducopy_xxmodule_cu_get_xxmodule_pathufixup_build_ext(((u</opt/alt/python33/lib64/python3.3/distutils/tests/support.pyu<module>s"(#=