o
    ^i
                     @   s   d Z ddlZddlZddlZddlZddlmZ ddlmZ ddlZddl	m
Z
 ejdkp:ejdk p:ejdd d	kZeejjed
ddd Zdd Zeejjed
ddd Zdd Zdd Zdd Zdd ZdS )z'Tests for two-process terminal frontend    N)check_output)flakycheck_help_all_outputwin32)         )r   
   znot supported)reasonc                  C   sN   t  \} }}| d | jd|jg|d | jd|jg|d t| || dS )z-test that `jupyter console` starts a terminal5zOut\[\d+\]: 5timeout
In \[\d+\]N)start_consolesendlineexpectEOFstop_consoleppexpectt r   ]/home/ubuntu/hpml_nyu/venv/lib/python3.10/site-packages/jupyter_console/tests/test_console.pytest_console_starts   s
   
r   c                   C   s   t d dS )z jupyter console --help-all worksjupyter_consoleNr   r   r   r   r   test_help_output   s   r   c                  C   sZ   t  \} }}| d | jd|d | d | jd|d | jd|d t| || dS )z3Ensure display protocol plain/text key is supportedzx = %lsmagicr   r   z0from IPython.display import display; display(x);zAvailable line magics:N)r   r   r   r   r   r   r   r   test_display_text$   s   

r   c                 C   s>   |    |    | j|j|jg|d |  r|   dS dS )z4Stop a running `jupyter console` running via pexpectr   N)sendeofr   r   TIMEOUTisalive	terminater   r   r   r   r   4   s   r   c                  C   s   ddl } g d}tj}tj }d|d< d|d< z
| j|||d}W n ty2   t	d|  Y nw d	}|j
d
|d || |fS )z%Start `jupyter console` using pexpectr   N)-mr   z--colors=NoColor1JUPYTER_CONSOLE_TESTPROMPT_TOOLKIT_NO_CPR)argsenvzCouldn't find command %sx   r   r   )r   sys
executableosenvironcopyspawnIOErrorpytestskipr   )r   r'   cmdr(   r   r   r   r   r   r   >   s   

r   c                  C   s   t  \} }}| d d S )N )r   r   r   r   r   r   test_multiprocessingS   s   r5   c               	   C   sZ   t  } z"ttjdddgd| id tjtj| dsJ W t	
|  dS t	
|  w )z'jupyter console --generate-config worksr#   r   z--generate-configJUPYTER_CONFIG_DIR)r(   zjupyter_console_config.pyN)tempfilemkdtempr   r*   r+   r,   pathisfilejoinshutilrmtree)tdr   r   r   test_generate_configX   s   r?   )__doc__r,   r<   r*   r7   
subprocessr   r   r1   traitlets.tests.utilsr   platformversion_infoshould_skipmarkskipifr   r   r   r   r   r5   r?   r   r   r   r   <module>   s*    &
