a
    XgZ                     @   s   d Z ddlZddlZddlZddlmZ ddlZddlZddl	m
Z
 dd Zejdd	d
gddgejjdddd Zdd Zdd Zejdddgdd ZdS )z0See https://github.com/numpy/numpy/pull/11937.

    N)import_module   )utilc                   C   s(   t  std t  s$td d S )NzNeeds C compilerzNeeds FORTRAN 77 compiler)r   Zhas_c_compilerpytestskipZhas_f77_compiler r   r   t/var/www/html/cobodadashboardai.evdpl.com/venv/lib/python3.9/site-packages/numpy/f2py/tests/test_compile_function.pysetup_module   s    
r	   
extra_argsz--nooptz--debugz--noopt --debug z$Imported module seems never deleted.)reasonc           
   	   C   s   d}t  }t  }t }tj|tt	 d }|d fD ]N}t 
|0 tjj||| |d}|dksnJ W d    q>1 s0    Y  q>tjdkrt|}| }	|	dksJ tj|= d S )NzT
        integer function foo()
        foo = 10 + 5
        return
        end
    z.f)
modulenamer
   	source_fnr   win32   )r   Zget_module_dirZget_temp_module_nameosgetcwdpathjoinstruuiduuid4	switchdirnumpyf2pycompilesysplatformr   Zfoomodules)
r
   fsourceZmoddirmodnamecwdtargetr   ret_valZreturn_checkZcalc_resultr   r   r   test_f2py_init_compile   s$    
,
r$   c                  C   s   t jd} | dksJ d S )N   invalidr   )r   r   r   )r#   r   r   r   test_f2py_init_compile_failureO   s    r&   c                  C   s<   z.t j} dt _tjd}|dks&J W | t _n| t _0 d S )Nzdoes not existr%      )r   
executabler   r   r   )tempr#   r   r   r   test_f2py_init_compile_bad_cmdV   s    r*   r   z'program test_f2py
end program test_f2pys'   program test_f2py
end program test_f2pyc                 C   sL   t | . tjj|ddd}|dks*J W d    n1 s>0    Y  d S )Ntest_compile_from_stringsz.f90)r   	extensionr   )r   r   r   r   r   )Ztmpdirr   r#   r   r   r   r+   h   s    	r+   )__doc__r   r   r   	importlibr   r   Z
numpy.f2pyr   r   r   r	   markZparametrizeZleaks_referencesr$   r&   r*   r+   r   r   r   r   <module>   s,   	4