U
    f
                     @   sP   d Z ddlZddlmZ ddlZddlZejjejdkddG dd dZ	dS )	z4
Tests for msvc support module (msvc14 unit tests).
    N)DistutilsPlatformErrorZwin32zThese tests are only for win32)reasonc                   @   s0   e Zd ZdZdd Zdd Zdd Zdd	 Zd
S )
TestMSVC14z:Python 3.8 "distutils/tests/test_msvccompiler.py" backportc                 C   sB   dd l m} dd }|j}||_ztt|jd W 5 ||_X d S )Nr   c                 S   s   dS )N)NN )Z	plat_specr   r   ;lib/python3.8/site-packages/setuptools/tests/test_msvc14.py_find_vcvarsall   s    z4TestMSVC14.test_no_compiler.<locals>._find_vcvarsallzwont find this version)setuptools.msvcmsvcZ_msvc14_find_vcvarsallpytestZraisesr   _msvc14_get_vc_env)self_msvccompilerr   Zold_find_vcvarsallr   r   r   test_no_compiler   s    zTestMSVC14.test_no_compilerc              	   C   s   dd l m} d}d}tjdd }|tj|< z2|d}| |ksHt|||  ks\tW 5 tj| |rz|tjd< X d S )Nr   u   ṰḖṤṪ┅ṼẨṜu	   ₃⁴₅ZDISTUTILS_USE_SDKZx86)r   r	   osenvironpopr   lowerAssertionError)r   r   Ztest_varZ
test_valueZold_distutils_use_sdkenvr   r   r   test_get_vc_env_unicode$   s    

z"TestMSVC14.test_get_vc_env_unicodec                 C   sb   dd l m} | \}}tjdddkr2|s2t|rT|dksBttj|s^tn
t	
d d S )Nr   APPVEYOR_BUILD_WORKER_IMAGE Visual Studio 2017   zVS 2017 is not installed)r   r	   Z_msvc14_find_vc2017r   r   getr   pathisdirr
   skipr   r   versionr   r   r   r   test_get_vc20176   s    zTestMSVC14.test_get_vc2017c                 C   sb   dd l m} | \}}tjdddkr2|s2t|rT|dksBttj|s^tn
t	
d d S )Nr   r   r   )zVisual Studio 2015r      zVS 2015 is not installed)r   r	   Z_msvc14_find_vc2015r   r   r   r   r   r   r
   r   r   r   r   r   test_get_vc2015D   s    zTestMSVC14.test_get_vc2015N)__name__
__module____qualname____doc__r   r   r    r"   r   r   r   r   r      s
   r   )
r&   r   Zdistutils.errorsr   r
   sysZmarkZskipifplatformr   r   r   r   r   <module>   s   