o
    پi                      @   sp   d dl Z d dlZd dlmZ d dlmZ d dlmZmZm	Z	m
Z
 e eZedefddZG dd	 d	e	ZdS )
    N)contextmanager)kill_process_tree)!DEFAULT_TIMEOUT_FOR_SERVER_LAUNCHDEFAULT_URL_FOR_TESTCustomTestCasepopen_launch_serverapi_keyc              	   c   s    ddl }|jd}|jd}| |jd< t d|jd< z#dV  W |dur-||jd< n|jd= |dur<||jd< dS |jd= dS |durL||jd< n|jd= |durZ||jd< w |jd= w )z8Context manager to set OpenAI API environment variables.r   NOPENAI_API_KEYOPENAI_API_BASEz/v1)osenvirongetr   )r   r   original_api_keyoriginal_base_url r   _/home/ubuntu/.local/lib/python3.10/site-packages/sglang/test/server_fixtures/default_fixture.pyopenai_api_env   s(   

r   c                   @   sF   e Zd ZU dZeZeZg Ze	e
 ed< dZedd Zedd ZdS )DefaultServerBaseN
other_argsz	sk-123456c                 C   s\   | j d us	J dt| j t| j | j| j| jd| _W d    d S 1 s'w   Y  d S )Nz Please set cls.model in subclass)timeoutr   )modelr   r   r   base_urlr   r   processclsr   r   r   
setUpClass2   s   
"zDefaultServerBase.setUpClassc                 C   s   t | jj td d S )N   )r   r   pidtimesleepr   r   r   r   tearDownClass@   s   zDefaultServerBase.tearDownClass)__name__
__module____qualname__r   r   r   r   r   r   liststr__annotations__r   classmethodr   r    r   r   r   r   r   )   s   
 
r   )loggingr   
contextlibr   sglang.srt.utilsr   sglang.test.test_utilsr   r   r   r   	getLoggerr!   loggerr%   r   r   r   r   r   r   <module>   s    
