
    1j	                     8   S SK rS SKJs  Jr  S SKrS SKrS SKrS SK	r	S SK
r
S SKrS SKJr  SrS\ 3r\" \5      R"                  R"                  r\R&                  " SS9S 5       r\R&                  S 5       r\R&                  S	 5       r\R&                  S
 5       rg)    N)Pathi`"  zhttp://localhost:session)scopec               #     #    [         R                  " S5      n U (       a  U SSSSSSSS	[        [        5      /
nO%[        R
                  SSSSSS	[        [        5      /n[        R                  " U[        [        R                  [        R                  S
9n[        S5       H3  n [        R                  " [         S3SS9nUR                  (       a    OM5     UR%                  5         ['        S5      e[        v   UR%                  5         UR)                  5         g ! [        R                   a    [         R"                  " S5         M  f = f7f)Nuvrunpythonz-muvicornz
server:appz--hostz0.0.0.0z--port)cwdstdoutstderr   z	/api/ping   )timeout      ?zServer did not start in time)shutilwhichstrSERVER_PORTsys
executable
subprocessPopenHEREPIPErangerequestsget
SERVER_URLokConnectionErrortimesleep	terminateRuntimeErrorwait)r   cmdproc_resps        */DATA/Downloads/kitmaker/tests/conftest.pyserverr,      s    	d	B	5(D)\8YX`befqbrs~~tYh	S[]`al]mnCT*//*//ZD2Y	<<:,i 8!DDww   	9::
NNIIK '' 	JJsO	s+   B"E%-DA
E*E
E	E

Ec                  4   SSK n SSKnSnSnSnSn[        X%-  5      n/ n[        U5       HZ  n[        UR	                  SUR
                  -  S-  U-  U-  5      S	-  S
-  5      n	UR                  U R                  SU	5      5        M\     SR                  U5      n
[        U
5      nSU-   n[        5       nUS-  nXR                  SU5      -  nUS-  nUS-  nXR                  SS5      -  nXR                  SS5      -  nXR                  SU5      -  nXR                  SU5      -  nXR                  SX$-  U-  S-  5      -  nXR                  SXC-  S-  5      -  nXR                  SU5      -  nUS-  nXR                  SU5      -  nX-  nS[        U5      4$ )zHGenerate a minimal valid WAV file (sine tone, 44100, 16-bit mono, 0.5s).r   NiD        r   r   i  g333333?i  z<h    $   s   RIFFz<Is   WAVEs   fmt z<H   s   dataztone_440.wav)structmathintr   sinpiappendpackjoinlen	bytearraybytes)r3   r4   srbitschannelsdurationnum_samplessamplesivaldata	data_size	file_sizebufs                 r+   
sample_wavrJ   '   s    	BDHHbm$KG;$((1tww;,q0256<uDEv{{4-.   88GDD	IYI
+C7NC;;tY''C7NC7NC;;tR  C;;tQC;;tX&&C;;tR  C;;tR]T1Q677C;;tX_122C;;tT""C7NC;;tY''CKCE#J''r0   c                     U u  pSU4$ )z"Rename to look like a kick sample.zkick_808.wav )rJ   namerF   s      r+   sample_wav_kickrN   O   s     JDD!!r0   c              #      #    U R                  SSS.S9nUR                  5       nUR                  U5        Uv   UR                  5         g 7f)Ni   i   )widthheight)viewport)new_contextnew_pagegotoclose)browserr,   ctxpages       r+   rY   rY   V   sB     


'E

FC<<>DIIf
JIIKs   A	A)builtins@py_builtins_pytest.assertion.rewrite	assertionrewrite
@pytest_arr   r   pytestr   r"   r   pathlibr   r   r   __file__parentr   fixturer,   rJ   rN   rY   rL   r0   r+   <module>re      s      
       .
H~## i  !0 $( $(N " "  r0   