
#þîh3  ã               @   so   d  d l  Z  d  d l m Z d  d l Z d  d l m Z d  d l m Z d  d l m	 Z	 Gd d „  d ƒ Z
 d S)é    N)Úmock)Ú
build_clib)ÚDistribution)ÚDistutilsSetupErrorc               @   sF   e  Z d  Z e j d ƒ d d „  ƒ Z e j d ƒ d d „  ƒ Z d S)ÚTestBuildCLibz2setuptools.command.build_clib.newer_pairwise_groupc          !   C   sI  t  ƒ  } t | ƒ } d d d i f g } t j t ƒ � | j | ƒ Wd  QRXd } d d d g d | i f g } t j t ƒ � | j | ƒ Wd  QRXd d i } d d d g d | i f g } t j t ƒ � | j | ƒ Wd  QRXd d i } d d d g d | i f g } t j t ƒ � | j | ƒ Wd  QRXt j d | j ƒ | _ g  g  f | _	 d d d
 d i } d d d
 g d | i f g } | j | ƒ d
 d	 d g g | j
 d k s»t ‚ | j j j sÑt ‚ | j j j d k sìt ‚ | j j ƒ  d | _	 | j | ƒ | j j j d k s*t ‚ | j j j d k sEt ‚ d  S)NÚexampleÚsourceszbroken.cZsome_stringzsource.cÚobj_depsÚ Úspecúglobal.hz	example.cú	example.hr   é   )r   )r   )r   r   ÚpytestZraisesr   Úbuild_librariesr   Ú	MagicMockÚcompilerÚreturn_valueÚ	call_argsÚAssertionErrorÚcompileÚcalledZcreate_static_libZ
call_countZ
reset_mock)ÚselfÚ
mock_newerÚdistÚcmdÚlibsr	   © r   úF/tmp/pip-build-zijwfla7/setuptools/setuptools/tests/test_build_clib.pyÚtest_build_libraries   s<    	%	z"TestBuildCLib.test_build_librariesc       	      C   s  t  ƒ  } t | ƒ } t j d | j ƒ | _ g  g  f | _ d d g } | } d d d d i } d d | d	 | i f g } | j | ƒ | j d
 } x( | | k r¿ t j	 | t
 | ƒ ƒ } q˜ Wd d | d	 | i f g } | j | ƒ | | j d
 k st ‚ d  S)Nr   za-example.cz	example.cr
   úglobal.hú	example.hr   r   r	   r   )r    )r!   )r   r   r   r   r   r   r   r   ÚrandomÚsampleÚlenr   )	r   r   r   r   Zoriginal_sourcesr   r	   r   Zcomputed_call_argsr   r   r   Ú!test_build_libraries_reproducible<   s    	z/TestBuildCLib.test_build_libraries_reproducibleN)Ú__name__Ú
__module__Ú__qualname__r   Úpatchr   r%   r   r   r   r   r      s   /r   )r"   Zunittestr   r   Zsetuptools.command.build_clibr   Zsetuptools.distr   Zdistutils.errorsr   r   r   r   r   r   Ú<module>   s   