a
    jUb                     @   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)Zparam)Zrequest r   Elib/python3.9/site-packages/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   
subprocessZ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s8J 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)r   r   r   r   joinedZjson_outr   r   r   test_join_matches_subprocess4   s    r   c                 C   sB   z |  |}|| |ksJ W n ty<   td Y n0 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   test_roundtripC   s
    
r   )r   r	   r   r   Znumpy.distutilsr   Z
argv_casesZfixturer   r   r   r   ZmarkZparametrizer   r   r   r   r   r   <module>   s>   


