U
    d                     @   s   d dl Z d dlZd dlZd dlZd dlmZ dgdgdgdgdgdgdd	gdd	gdd	gdd	gdd	gdd
gdd
gddgddggZe jejej	gddd Z
e jdd Ze jdedd Ze jdedd ZdS )    N)_shell_utilsZexezpath/exezpath\exez\\server\path\exezpath to/exezpath to\exez--flagz--flag-"quoted"z"--flag-quoted")paramsc                 C   s   | j S N)param)request r   J/tmp/pip-unpacked-wheel-c1z6a0q8/numpy/distutils/tests/test_shell_utils.pyParser   s    r	   c                 C   s@   | t jkrtd | t jkr&dd S | t jkr8dd S td S )Nz$Unable to run with non-native parserc                 S   s
   t | S r   
subprocesscheck_outputcmdr   r   r   <lambda>,       zrunner.<locals>.<lambda>c                 S   s   t j| ddS )NT)shellr
   r   r   r   r   r   /   r   )r   ZNativeParserpytestskipWindowsParserPosixParserNotImplementedError)r	   r   r   r   runner&   s    



r   argvc                 C   s<   t jddg}| || }|| }t||ks8tdS )zB
    Test that join produces strings understood by subprocess
    z-cz1import json, sys; print(json.dumps(sys.argv[1:]))N)sys
executablejoindecodejsonloadsAssertionError)r	   r   r   r   joinedZjson_outr   r   r   test_join_matches_subprocess4   s     r!   c                 C   sD   z |  |}|| |kstW n tk
r>   td Y nX dS )z:
    Test that split is the inverse operation of join
    zNot implementedN)r   splitr   r   r   r   )r	   r   r    r   r   r   test_roundtripC   s
    
r#   )r   r   r   r   Znumpy.distutilsr   Z
argv_casesZfixturer   r   r	   r   markZparametrizer!   r#   r   r   r   r   <module>   s>   


