
    e                         d Z ddlZddlZddlmZ ddlmZ ddlmZ ddl	m
Z
  G d de
j        e
j        ej                  Zed	k    r ej                     dS dS )
z*Tests for distutils.command.build_scripts.    N)build_scripts)Distribution)	sysconfig)supportc                   2    e Zd Zd Zd Zd Zd Zd Zd ZdS )BuildScriptsTestCasec                 ,   |                      dg           }|                     |j                   |                     |j                   |                                 |                     |j                   |                     |j        d           d S )Nz/foo/bar)get_build_scripts_cmdassertFalseforceassertIsNone	build_dirfinalize_options
assertTrueassertEqual)selfcmds     4  /home/conda/feedstock_root/build_artifacts/python-split_1708115622739/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/lib/python3.11/distutils/tests/test_build_scripts.pytest_default_settingsz*BuildScriptsTestCase.test_default_settings   s    ((R88####-(((	"""
33333    c                 t   |                                  |                                  }|                               }|                     |fd|D                       }|                                 |                                 t          j        |          }|D ]}|                     ||           d S )Nc                 P    g | ]"}t           j                            |          #S  ospathjoin.0fnsources     r   
<listcomp>z3BuildScriptsTestCase.test_build.<locals>.<listcomp>!   9     *> *> *>.0 +-',,vr*B*B *> *> *>r   )mkdtempwrite_sample_scriptsr
   r   runr   listdirassertIn)r   targetexpectedr   builtnamer!   s         @r   
test_buildzBuildScriptsTestCase.test_build   s    ,,V44((*> *> *> *>4<*> *> *>? ? 				
6"" 	' 	'DMM$&&&&	' 	'r   c                     dd l }t                      }||_        t          j        |d|j                  |j        d<   t          |          S )Nr      )r   r   
executablebuild)sysr   scriptsr   DummyCommandr0   command_objr   )r   r)   r3   r2   dists        r   r
   z*BuildScriptsTestCase.get_build_scripts_cmd*   sU    


~~$+$8 ~% % %!
 T"""r   c                    g }|                     d           |                     |dd           |                     d           |                     |dd           |                     d           |                     |dd           |S )Nz
script1.pyz@#! /usr/bin/env python2.3
# bogus script w/ Python sh-bang
pass
z
script2.pyz8#!/usr/bin/python
# bogus script w/ Python sh-bang
pass
zshell.shz1#!/bin/sh
# bogus shell script w/ sh-bang
exit 0
)appendwrite_script)r   dirr*   s      r   r%   z)BuildScriptsTestCase.write_sample_scripts5   s    %%%#|$	& 	& 	& 	%%%#|$	& 	& 	& 	
####z&	( 	( 	( r   c                     t          t          j                            ||          d          }	 |                    |           |                                 d S # |                                 w xY w)Nw)openr   r   r   writeclose)r   r:   r,   textfs        r   r9   z!BuildScriptsTestCase.write_scriptH   sX    c4((#..	GGDMMMGGIIIIIAGGIIIIs   A A1c                 0   |                                  |                                  }|                               }|                     |fd|D                       }|                                 t	          j                                        d          }dt          j        d<   	 |                                 ||t          j        d<   n# ||t          j        d<   w xY wt          j
        |          }|D ]}|                     ||           d S )Nc                 P    g | ]"}t           j                            |          #S r   r   r   s     r   r"   z9BuildScriptsTestCase.test_version_int.<locals>.<listcomp>V   r#   r   VERSION   )r$   r%   r
   r   r   get_config_varsget_config_varsr&   r   r'   r(   )r   r)   r*   r   oldr+   r,   r!   s          @r   test_version_intz%BuildScriptsTestCase.test_version_intO   s3   ,,V44 ((*> *> *> *>4<*> *> *>? ? 	 '))--i88,-	y)	8GGIII47	&y1 47	&y17777
6"" 	' 	'DMM$&&&&	' 	's   +C C$N)	__name__
__module____qualname__r   r-   r
   r%   r9   rJ   r   r   r   r   r      sn        4 4 4' ' '	# 	# 	#  &  ' ' ' ' 'r   r   __main__)__doc__r   unittestdistutils.command.build_scriptsr   distutils.corer   	distutilsr   distutils.testsr   TempdirManagerLoggingSilencerTestCaser   rK   mainr   r   r   <module>rY      s    0 0 				  9 9 9 9 9 9 ' ' ' ' ' '       # # # # # #\' \' \' \' \'71"2#,\' \' \'| zHMOOOOO r   