+
    SBi                         R t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIH	t	 ^ RI
t
^ RIHt ]
P                  P                  R4       ! R R4      4       t ! R R4      tR	 tR
 tR tR tR# )z&Support code for distutils test cases.N)Distribution)always_iterabledistutils_managed_tempdirc                   >   a  ] tR t^t o RtR tRR ltRR ltRtV t	R# )	TempdirManagerzA
Mix-in class that handles temporary directories for test cases.
c                f    \         P                  ! 4       pV P                  P                  V4       V# )zZCreate a temporary directory that will be cleaned up.

Returns the path of the directory.
)tempfilemkdtemptempdirsappend)selfds   & H/usr/lib/python3.14/site-packages/setuptools/_distutils/tests/support.pyr	   TempdirManager.mkdtemp   s)    
 Q    c                b    \         P                  ! \        V4      !  P                  VRR7       R# )zFWrites a file in the given path.

path can be a string or a sequence.
zutf-8)encodingN)pathlibPathr   
write_text)r   pathcontents   &&&r   
write_fileTempdirManager.write_file   s%    
 	od+,77'7Rr   c                    V P                  4       p\        P                  P                  W14      p\        P                  ! V4       \        VR7      pWE3# )zWill 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.
)attrs)r	   osr   joinmkdirr   )r   pkg_namekwtmp_dirpkg_dirdists   &&,   r   create_distTempdirManager.create_dist&   s?     ,,.'',,w1
"%}r    N)xxx)foo)
__name__
__module____qualname____firstlineno____doc__r	   r   r$   __static_attributes____classdictcell____classdict__s   @r   r   r      s     S r   r   c                   0   a  ] tR t^8t o RtR tR tRtV tR# )DummyCommandzAClass to store options for retrieval via set_undefined_options().c                :    \        V 4      P                  V4       R # N)varsupdate)r   kwargss   &,r   __init__DummyCommand.__init__;   s    T
&!r   c                    R # r5   r&   )r   s   &r   ensure_finalizedDummyCommand.ensure_finalized>   s    r   r&   N)	r)   r*   r+   r,   r-   r9   r<   r.   r/   r0   s   @r   r3   r3   8   s     K" r   r3   c                    \         P                  ! \        4       \        P                  P                  V R4      4       R# )aO  Helper 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.

xxmodule.cN)shutilcopy_get_xxmodule_pathr   r   r   )	directorys   &r   copy_xxmodule_crD   B   s%     KK"$bggll9l&KLr   c                      \         P                  R8  d   RMRp \        P                  P	                  \        P                  P                  \        4      V 4      # )   r?   zxxmodule-3.8.c)rF   	   )sysversion_infor   r   r   dirname__file__)source_names    r   rB   rB   Q   s9    "%"2"2V";,AQK77<<1;??r   c                   \         P                  R8X  d'   \        P                  P	                  R4      V n        R# \        P                  ! R4      '       d   \        P                  ! R4      pVf   R.V n        R# \        P                  R8X  d
   . V n        R# VP                  R4      w  r#pVP                  \         P                  4       Uu. uF  qU'       g   K  VNK  	  upV n        R# R# u upi )	a  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.
ntz_d.exePy_ENABLE_SHARED	RUNSHAREDN.darwin=)r   namerH   
executableendswithdebug	sysconfigget_config_varlibrary_dirsplatform	partitionsplitpathsep)cmd	runsharedrT   equalsvaluer   s   &     r   fixup_build_extrc   V   s    ( 
ww$NN++H5			!	!"4	5	5 ,,[9	 #uC||x'#% &/&9&9#&>#e/4{{2::/F#L/F!!AA/F#L  
6 $Ms   	C/C/c           	         \         P                  ! V .V P                  4       UUu. uF  p\        VR. 4       F  pVNK  	  K  	  uppV n        V # u uppi )z
pytest will honor markers as found on the class, but when
markers are on multiple subclasses, only one appears. Use
this decorator to combine those markers.

pytestmark)	itertoolschain	__bases__getattrre   )clsbasemarks   &  r   combine_markersrm   {   sV     OOSE3==99DD,3D 	3 	9CN
 Js   A)r-   rf   r   r   r@   rH   rX   r   distutils.corer   pytestmore_itertoolsr   rl   usefixturesr   r3   rD   rB   rc   rm   r&   r   r   <module>rr      sr    ,  	   
   '  * 45$ $ 6$N M@
"MJr   