o
    6a                     @   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_utils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   H/usr/lib/python3/dist-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rdd S t)Nz$Unable to run with non-native parserc                 S   s
   t | S r   
subprocesscheck_outputcmdr   r   r	   <lambda>,   s   
 zrunner.<locals>.<lambda>c                 S   s   t j| ddS )NT)shellr   r   r   r   r	   r   /   s    )r   NativeParserpytestskipWindowsParserPosixParserNotImplementedError)r
   r   r   r	   runner&   s   



r   argvc                 C   s<   t jddg}| || }|| }t||ksJ 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   joinedjson_outr   r   r	   test_join_matches_subprocess4   s   r"   c                 C   sB   z|  |}|| |ksJ W dS  ty    td Y dS w )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   numpy.distutilsr   
argv_casesfixturer   r   r
   r   markparametrizer"   r$   r   r   r   r	   <module>   s@    


