ó
^†êWc           @   sè   d  Z  d d l Z d d l Z d d l Z d d l Z d d l Z d d l Z d Z d Z	 e j
 e d „ ƒ Z e j
 d „  ƒ Z d „  Z d „  Z d	 „  Z d
 „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d S(   sT   
Tests for the bdist_wheel tag options (--python-tag, --universal, and
--plat-name)
iÿÿÿÿNs¨   from setuptools import setup, Extension

setup(
    name="Test",
    version="1.0",
    author_email="author@example.com",
    py_modules=["test"],
    {ext_modules}
)
s5   ext_modules=[Extension('_test', sources=['test.c'])],c            s­   t  j ƒ  ‰  ‡  f d †  } |  j | ƒ t j j ˆ  ƒ } | j d ƒ j d ƒ | r | j d ƒ j d ƒ t j	 d t
 ƒ } n t j	 d d ƒ } | j d ƒ j | ƒ | S(	   Nc              s   t  j ˆ  ƒ d  S(   N(   t   shutilt   rmtree(    (   t   tempdir(    si   /private/var/folders/3n/6h2rwf155rn1m71wwyxn79n80000gn/T/pip-build-IcAT_k/wheel/wheel/test/test_tagopt.pyt   fin   s    s   test.pys   print("Hello, world")s   test.cs   #include <stdio.h>t   ext_modulest    s   setup.py(   t   tempfilet   mkdtempt   addfinalizert   pyt   patht   localt   joint   writet   SETUP_PYt   formatt   EXT_MODULES(   t   requestt   extR   t   temppatht   setup_py(    (   R   si   /private/var/folders/3n/6h2rwf155rn1m71wwyxn79n80000gn/T/pip-build-IcAT_k/wheel/wheel/test/test_tagopt.pyt   temp_pkg   s    c         C   s   t  |  d t ƒS(   NR   (   R   t   True(   R   (    (    si   /private/var/folders/3n/6h2rwf155rn1m71wwyxn79n80000gn/T/pip-build-IcAT_k/wheel/wheel/test/test_tagopt.pyt   temp_ext_pkg+   s    c         C   s´   t  j t j d d g d t |  ƒ ƒ|  j d ƒ } | j d d ƒ sL t ‚ | j ƒ  } t	 | ƒ d k sp t ‚ | d j
 d t j d f k s— t ‚ | d j d	 k s° t ‚ d  S(
   Ns   setup.pyt   bdist_wheelt   cwdt   distt   diri   i    s   Test-1.0-py%s-none-any.whls   .whl(   t
   subprocesst
   check_callt   syst
   executablet   strR   t   checkt   AssertionErrort   listdirt   lent   basenamet   versionR   (   R   t   dist_dirt   wheels(    (    si   /private/var/folders/3n/6h2rwf155rn1m71wwyxn79n80000gn/T/pip-build-IcAT_k/wheel/wheel/test/test_tagopt.pyt   test_default_tag/   s    'c         C   s¬   t  j t j d d d g d t |  ƒ ƒ|  j d ƒ } | j d d ƒ sO t ‚ | j ƒ  } t	 | ƒ d k ss t ‚ | d j
 j d	 ƒ s t ‚ | d j d
 k s¨ t ‚ d  S(   Ns   setup.pyR   s   --python-tag=py32R   R   R   i   i    s   Test-1.0-py32-s   .whl(   R   R   R   R   R    R   R!   R"   R#   R$   R%   t
   startswithR   (   R   R'   R(   (    (    si   /private/var/folders/3n/6h2rwf155rn1m71wwyxn79n80000gn/T/pip-build-IcAT_k/wheel/wheel/test/test_tagopt.pyt   test_explicit_tag9   s    c         C   s¬   t  j t j d d d g d t |  ƒ ƒ|  j d ƒ } | j d d ƒ sO t ‚ | j ƒ  } t	 | ƒ d k ss t ‚ | d j
 j d	 ƒ s t ‚ | d j d
 k s¨ t ‚ d  S(   Ns   setup.pyR   s   --universalR   R   R   i   i    s   Test-1.0-py2.py3-s   .whl(   R   R   R   R   R    R   R!   R"   R#   R$   R%   R*   R   (   R   R'   R(   (    (    si   /private/var/folders/3n/6h2rwf155rn1m71wwyxn79n80000gn/T/pip-build-IcAT_k/wheel/wheel/test/test_tagopt.pyt   test_universal_tagD   s    c         C   s¯   t  j t j d d d d g d t |  ƒ ƒ|  j d ƒ } | j d d ƒ sR t ‚ | j ƒ  } t	 | ƒ d k sv t ‚ | d	 j
 j d
 ƒ s’ t ‚ | d	 j d k s« t ‚ d  S(   Ns   setup.pyR   s   --universals   --python-tag=py32R   R   R   i   i    s   Test-1.0-py2.py3-s   .whl(   R   R   R   R   R    R   R!   R"   R#   R$   R%   R*   R   (   R   R'   R(   (    (    si   /private/var/folders/3n/6h2rwf155rn1m71wwyxn79n80000gn/T/pip-build-IcAT_k/wheel/wheel/test/test_tagopt.pyt!   test_universal_beats_explicit_tagO   s    c         C   s¿   |  j  d ƒ j d ƒ t j t j d d g d t |  ƒ ƒ|  j  d ƒ } | j d d ƒ sb t ‚ | j	 ƒ  } t
 | ƒ d k s† t ‚ | d	 j j d
 ƒ s¢ t ‚ | d	 j d k s» t ‚ d  S(   Ns	   setup.cfgs   [bdist_wheel]
universal=1s   setup.pyR   R   R   R   i   i    s   Test-1.0-py2.py3-s   .whl(   R   R   R   R   R   R   R    R!   R"   R#   R$   R%   R*   R   (   R   R'   R(   (    (    si   /private/var/folders/3n/6h2rwf155rn1m71wwyxn79n80000gn/T/pip-build-IcAT_k/wheel/wheel/test/test_tagopt.pyt   test_universal_in_setup_cfgZ   s    c         C   s¿   |  j  d ƒ j d ƒ t j t j d d g d t |  ƒ ƒ|  j  d ƒ } | j d d ƒ sb t ‚ | j	 ƒ  } t
 | ƒ d k s† t ‚ | d	 j j d
 ƒ s¢ t ‚ | d	 j d k s» t ‚ d  S(   Ns	   setup.cfgs   [bdist_wheel]
python_tag=py32s   setup.pyR   R   R   R   i   i    s   Test-1.0-py32-s   .whl(   R   R   R   R   R   R   R    R!   R"   R#   R$   R%   R*   R   (   R   R'   R(   (    (    si   /private/var/folders/3n/6h2rwf155rn1m71wwyxn79n80000gn/T/pip-build-IcAT_k/wheel/wheel/test/test_tagopt.pyt   test_pythontag_in_setup_cfgf   s    c         C   s¿   |  j  d ƒ j d ƒ t j t j d d g d t |  ƒ ƒ|  j  d ƒ } | j d d ƒ sb t ‚ | j	 ƒ  } t
 | ƒ d k s† t ‚ | d	 j j d
 ƒ s¢ t ‚ | d	 j d k s» t ‚ d  S(   Ns	   setup.cfgs   [wheel]
universal=1s   setup.pyR   R   R   R   i   i    s   Test-1.0-py2.py3-s   .whl(   R   R   R   R   R   R   R    R!   R"   R#   R$   R%   R*   R   (   R   R'   R(   (    (    si   /private/var/folders/3n/6h2rwf155rn1m71wwyxn79n80000gn/T/pip-build-IcAT_k/wheel/wheel/test/test_tagopt.pyt&   test_legacy_wheel_section_in_setup_cfgr   s    c         C   s¬   t  j t j d d d g d t |  ƒ ƒ|  j d ƒ } | j d d ƒ sO t ‚ | j ƒ  } t	 | ƒ d k ss t ‚ | d j
 j d	 ƒ s t ‚ | d j d
 k s¨ t ‚ d  S(   Ns   setup.pyR   s   --plat-name=testplat.pureR   R   R   i   i    s   -testplat_pure.whls   .whl(   R   R   R   R   R    R   R!   R"   R#   R$   R%   t   endswithR   (   R   R'   R(   (    (    si   /private/var/folders/3n/6h2rwf155rn1m71wwyxn79n80000gn/T/pip-build-IcAT_k/wheel/wheel/test/test_tagopt.pyt   test_plat_name_purepy~   s    c         C   sÔ   y, t  j t j d d d g d t |  ƒ ƒWn! t  j k
 rO t j d ƒ n X|  j d ƒ } | j	 d d ƒ sw t
 ‚ | j ƒ  } t | ƒ d k s› t
 ‚ | d	 j j d
 ƒ s· t
 ‚ | d	 j d k sÐ t
 ‚ d  S(   Ns   setup.pyR   s   --plat-name=testplat.archR   s   Cannot compile C ExtensionsR   R   i   i    s   -testplat_arch.whls   .whl(   R   R   R   R   R    t   CalledProcessErrort   pytestt   skipR   R!   R"   R#   R$   R%   R1   R   (   R   R'   R(   (    (    si   /private/var/folders/3n/6h2rwf155rn1m71wwyxn79n80000gn/T/pip-build-IcAT_k/wheel/wheel/test/test_tagopt.pyt   test_plat_name_ext‰   s    c         C   s¿   |  j  d ƒ j d ƒ t j t j d d g d t |  ƒ ƒ|  j  d ƒ } | j d d ƒ sb t ‚ | j	 ƒ  } t
 | ƒ d k s† t ‚ | d	 j j d
 ƒ s¢ t ‚ | d	 j d k s» t ‚ d  S(   Ns	   setup.cfgs%   [bdist_wheel]
plat_name=testplat.pures   setup.pyR   R   R   R   i   i    s   -testplat_pure.whls   .whl(   R   R   R   R   R   R   R    R!   R"   R#   R$   R%   R1   R   (   R   R'   R(   (    (    si   /private/var/folders/3n/6h2rwf155rn1m71wwyxn79n80000gn/T/pip-build-IcAT_k/wheel/wheel/test/test_tagopt.pyt!   test_plat_name_purepy_in_setupcfg—   s    c         C   sç   |  j  d ƒ j d ƒ y) t j t j d d g d t |  ƒ ƒWn! t j k
 rb t j	 d ƒ n X|  j  d ƒ } | j
 d d	 ƒ sŠ t ‚ | j ƒ  } t | ƒ d	 k s® t ‚ | d
 j j d ƒ sÊ t ‚ | d
 j d k sã t ‚ d  S(   Ns	   setup.cfgs%   [bdist_wheel]
plat_name=testplat.archs   setup.pyR   R   s   Cannot compile C ExtensionsR   R   i   i    s   -testplat_arch.whls   .whl(   R   R   R   R   R   R   R    R3   R4   R5   R!   R"   R#   R$   R%   R1   R   (   R   R'   R(   (    (    si   /private/var/folders/3n/6h2rwf155rn1m71wwyxn79n80000gn/T/pip-build-IcAT_k/wheel/wheel/test/test_tagopt.pyt   test_plat_name_ext_in_setupcfg£   s    (   t   __doc__R   R    R4   t   py.pathR	   R   R   R   R   t   fixturet   FalseR   R   R)   R+   R,   R-   R.   R/   R0   R2   R6   R7   R8   (    (    (    si   /private/var/folders/3n/6h2rwf155rn1m71wwyxn79n80000gn/T/pip-build-IcAT_k/wheel/wheel/test/test_tagopt.pyt   <module>   s,   	
									