o
    پi                     @   s\   d dl Z d dlmZ d dlmZmZ d dlmZmZm	Z	m
Z
 dZg dZG dd de	ZdS )	    N)kill_process_tree)	BenchArgstest_deterministic)!DEFAULT_TIMEOUT_FOR_SERVER_LAUNCHDEFAULT_URL_FOR_TESTCustomTestCasepopen_launch_serverzQwen/Qwen3-8B)z--trust-remote-codez--cuda-graph-max-bs32z --enable-deterministic-inferencec                   @   sT   e Zd Zedd Zedd Zedd Zedd Zd	d
 Zdd Z	dd Z
dS )TestDeterministicBasec                 C      t S N)COMMON_SERVER_ARGScls r   X/home/ubuntu/.local/lib/python3.10/site-packages/sglang/test/test_deterministic_utils.pyget_server_args      z%TestDeterministicBase.get_server_argsc                 C   r   r   )DEFAULT_MODELr   r   r   r   	get_model   r   zTestDeterministicBase.get_modelc                 C   sD   |   | _t| _d|  vrtdt| j| jt|  d| _	d S )Nz--attention-backendzSkip the base test class)timeout
other_args)
r   modelr   base_urlr   unittestSkipTestr   r   processr   r   r   r   
setUpClass   s   

z TestDeterministicBase.setUpClassc                 C   s   t | jj d S r   )r   r   pidr   r   r   r   tearDownClass,   s   z#TestDeterministicBase.tearDownClassc                 C   s*   | dd  dd t| dd fS )Nz://:r   )splitint)selfurlr   r   r   _extract_host_and_port0   s   *z,TestDeterministicBase._extract_host_and_portc                 C   sV   t  }t}| |\|_|_d|_d|_d|_t|}d|_	|D ]}|dks(J q d S )Nsingle
            ?   )
r   r   r&   hostport	test_moden_startn_trialsr   temperaturer$   argsr%   resultsresultr   r   r   test_single3   s   z!TestDeterministicBase.test_singlec                 C   s\   t  }t}| |\|_|_d|_d|_d|_d|_d|_	t
|}|D ]}|dks+J q#d S )Nprefixr(   r*   Tr+   )r   r   r&   r,   r-   r.   r/   r0   r1   return_logprobr   r2   r   r   r   test_prefix_with_logprobs?   s   z/TestDeterministicBase.test_prefix_with_logprobsN)__name__
__module____qualname__classmethodr   r   r   r   r&   r6   r9   r   r   r   r   r
      s    



r
   )r   sglang.srt.utilsr   sglang.test.test_deterministicr   r   sglang.test.test_utilsr   r   r   r   r   r   r
   r   r   r   r   <module>   s    