403Webshell
Server IP : 217.160.0.135  /  Your IP : 216.73.217.85
Web Server : Apache
System : Linux www 6.18.52-i1-ampere #1203 SMP Mon Sep 14 18:29:59 CEST 2026 aarch64
User : sws1074145052 ( 1074145052)
PHP Version : 8.3.32
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/numpy/f2py/tests/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/numpy/f2py/tests/__pycache__/test_f2py2e.cpython-311.pyc
�

���cpQ���ddlZddlZddlZddlZddlZddlmZddlmZddl	Z	ddl
mZddlm
Zedd��ZdAd
�Ze	jd���d
���Ze	jd���d���Ze	jd���d���Ze	jd���d���Zd�Zd�Zd�Ze	jjd���Zd�Zd�Zd�Zd�Zd�Z d�Z!d�Z"d�Z#d�Z$d�Z%d�Z&d �Z'd!�Z(e	j�d"�#��d$���Z)d%�Z*d&�Z+d'�Z,d(�Z-d)�Z.d*�Z/d+�Z0d,�Z1d-�Z2e	j�d"�#��d.���Z3d/�Z4d0�Z5d1�Z6d2�Z7d3�Z8d4�Z9d5�Z:d6�Z;d7�Z<d8�Z=d9�Z>d:�Z?d;�Z@d<�ZAd=�ZBd>�ZCd?�ZDd@�ZEdS)B�N)�Path)�
namedtuple�)�util)�main�PPathsz(finp, f90inp, pyf, wrap77, wrap90, cmodf�untitledc�@�t|��}t|�d��|�d��|�d��|�|�d���|�|�d���|�|�d������S)axTakes in a temporary file for testing and returns the expected output and input paths

    Here expected output is essentially one of any of the possible generated
    files.

    ..note::

         Since this does not actually run f2py, none of these are guaranteed to
         exist, and module names are typically incorrect

    Parameters
    ----------
    fname_inp : str
                The input filename
    mname : str, optional
                The name of the module, untitled by default

    Returns
    -------
    genp : NamedTuple PPaths
            The possible paths which are generated, not all of which exist
    z.fz.f90�.pyfz-f2pywrappers.fz-f2pywrappers2.f90�module.c)�finp�f90inp�pyf�wrap77�wrap90�cmodf)rr�with_suffix�	with_name)�	fname_inp�mname�bpaths   �>/usr/lib/python3/dist-packages/numpy/f2py/tests/test_f2py2e.py�get_io_pathsrs���.
��O�O�E��
�
�
�t�
$�
$�� � ��(�(����f�%�%����%�8�8�8�9�9����%�;�;�;�<�<��o�o��0�0�0�1�1�
�����session)�scopec��tjdddd�����}|���dz}|�|d���|S)�'Generates a single f90 file for testing�tests�src�clizhiworld.f90z	hello.f90�ascii��encoding�r�getpath�	read_text�getbasetemp�
write_text��tmpdir_factory�fdat�fns   r�hello_world_f90r.8sV���<����}�=�=�G�G�I�I�D�	�	#�	#�	%�	%��	3�B��M�M�$��M�)�)�)�
�Irc��tjdddd�����}|���dz}|�|d���|S)�'Generates a single f77 file for testingrr r!zhi77.fzhello.fr"r#r%r*s   r�hello_world_f77r1AsV���<����x�8�8�B�B�D�D�D�	�	#�	#�	%�	%�	�	1�B��M�M�$��M�)�)�)�
�Irc��tjdddd�����}|���dz}|�|d���|S)r0rr �return_realzfoo77.fzfoo.fr"r#r%r*s   r�retreal_f77r4JsV���<���
�y�A�A�K�K�M�M�D�	�	#�	#�	%�	%��	/�B��M�M�$��M�)�)�)�
�Irc�b�tjdddd�����}tjdddd�����}|���dz}|���dz}|�|d�	��|�|d�	��|S)
rrr �f2cmapzisoFortranEnvMap.f90z.f2py_f2cmapz
f2cmap.f90�mapfiler"r#r%)r+r,r6r-�fmaps     r�
f2cmap_f90r9Rs����<����2H�I�I�S�S�U�U�D�
�\�'�5�(�N�
C�
C�
M�
M�
O�
O�F�	�	#�	#�	%�	%��	4�B��%�%�'�'�)�3�D��M�M�$��M�)�)�)��O�O�F�W�O�-�-�-�
�Irc��t|��}t|��jdz}|�tdd|�d|�������tj|j��5t��|�	��\}}d|vsJ�t|����
��sJ�	ddd��dS#1swxYwYdS)zIEnsures that a signature file is generated via the CLI
    CLI :: -h
    r�argvzf2py -h � �Saving signatures to fileN)r�stem�setattr�sys�splitr�	switchdir�parent�f2pycli�
readouterr�exists)�capfdr.�monkeypatch�ipath�opath�out�_s       r�test_gen_pyfrM^s%��
��!�!�E���!�!�&��/�E�����V�%?��%?�%?��%?�%?�%E�%E�%G�%G�H�H�H�	
����	%�	%�)�)��	�	�	��!�!�#�#���Q�*�c�1�1�1�1��u�J���&�&�(�(�(�(�(�(�	)�)�)�)�)�)�)�)�)�)�)�)����)�)�)�)�)�)s�4AC�C�Cc�N�t|��}|�tdd|�������t	j|j��5t��|���\}}d|vsJ�d|vsJ�	ddd��dS#1swxYwYdS)zHEnsures that a signature file can be dumped to stdout
    CLI :: -h
    r;zf2py -h stdout r=zfunction hi() ! in N�	rr?r@rArrBrCrDrE�rGr.rHrIrKrLs      r�test_gen_pyf_stdoutrQms���
��!�!�E�����V�%>�u�%>�%>�%D�%D�%F�%F�G�G�G�	
����	%�	%�,�,��	�	�	��!�!�#�#���Q�*�c�1�1�1�1�$��+�+�+�+�+�	,�,�,�,�,�,�,�,�,�,�,�,����,�,�,�,�,�,s�2B�B�!Bc���t|��}|�tdd|�������t	j|j��5td���dd���tj	t��5t��|���\}}d|vsJ�	ddd��n#1swxYwYddd��dS#1swxYwYdS)	zjEnsures that the CLI refuses to overwrite signature files
    CLI :: -h without --overwrite-signature
    r;�f2py -h faker.pyf �	faker.pyf�	Fake newsr"r#z&Use --overwrite-signature to overwriteN)
rr?r@rArrBrCr)�pytest�raises�
SystemExitrDrE)rGr.rHrIrL�errs      r�test_gen_pyf_no_overwriterZzs���
��!�!�E�����V�%A�%�%A�%A�%G�%G�%I�%I�J�J�J�	
����	%�	%�C�C��[���$�$�[�7�$�C�C�C�
�]�:�
&�
&�	C�	C��I�I�I��%�%�'�'�F�A�s�;�s�B�B�B�B�B�	C�	C�	C�	C�	C�	C�	C�	C�	C�	C�	C����	C�	C�	C�	C�C�C�C�C�C�C�C�C�C�C�C�C����C�C�C�C�C�Cs6�>C)�,C�C)�C	�C)�C	�C)�)C-�0C-c���t|d���}|j}d}d}|�tdd|�d|�������tj|j��5t��|�	��\}}|���D]}	d|	�d	�|vsJ��
|���D]}
d
|
�d�|vsJ��
	ddd��dS#1swxYwYdS)
z9Tests that functions can be skipped
    CLI :: skip:
    �test�r�t0 t4 t8 sd s8 s4�td s0r;�f2py z -m test skip: z=buildmodule: Could not found the body of interfaced routine "�". Skipping.�Constructing wrapper function "�"N�
rr
r?r@rArrBrCrDrE)rGr4rH�foutlrI�toskip�	remainingrKrY�skey�rkeys           r�test_f2py_skiprj�s���

��F�3�3�3�E��J�E�
 �F��I�����V�.��.�.�f�.�.�4�4�6�6�8�8�8�
����	%�	%�D�D��	�	�	��#�#�%�%���S��L�L�N�N�	�	�D�b�PT�b�b�b��������O�O�%�%�	D�	D�D�<�T�<�<�<��C�C�C�C�C�	D�D�D�D�D�D�D�D�D�D�D�D�D����D�D�D�D�D�D��*A(C � C$�'C$c���t|d���}|j}d}d}|�tdd|�d|�������tj|j��5t��|�	��\}}|���D]}	d|	�d	�|vsJ��
|���D]}
d
|
�d�|vsJ��
	ddd��dS#1swxYwYdS)
z>Test that functions can be kept by only:
    CLI :: only:
    r\r]r^r_r;r`z -m test only: �<buildmodule: Could not find the body of interfaced routine "rarbrcNrd)rGr4rHrerIrf�tokeeprKrYrhris           r�test_f2py_onlyro�s���
��F�3�3�3�E��J�E�
 �F�
�F�����V�.��.�.�f�.�.�4�4�6�6�8�8�8�
����	%�	%�D�D��	�	�	��#�#�%�%���S��L�L�N�N�	�	�D�a�t�a�a�a��������L�L�N�N�	D�	D�D�<�T�<�<�<��C�C�C�C�C�	D�D�D�D�D�D�D�D�D�D�D�D�D����D�D�D�D�D�Drkc��t|d���}|j}d}t|��}d}d}	|�tdd|�d|	�d	|�d
|�������t
j|j��5t��|�
��\}
}|���D]}d|�d�|vsJ��
|���D]}
d
|
�d�|
vsJ��
	ddd��dS#1swxYwYdS)zfTests that it is possible to return to file processing mode
    CLI :: :
    BUG: numpy-gh #20520
    r\r]r^ztd s0 hi�blahr;r`� -m z only: z : rmrarbrcN)rr
rr?r@rArrBrCrDrE)rGr.r4rHrerIrf�ipath2rnrrKrYrhris              r�test_file_processing_switchrt�s���
��F�3�3�3�E��J�E�
 �F�
�/�
"�
"�F�
�F��E������<��<�<�5�<�<��<�<�F�<�<�B�B�	
�	
����
����	%�	%�D�D��	�	�	��#�#�%�%���S��L�L�N�N�	�	�D�a�t�a�a�a��������L�L�N�N�	D�	D�D�<�T�<�<�<��C�C�C�C�C�	D�D�D�D�D�D�D�D�D�D�D�D�D����D�D�D�D�D�Ds�A(C7�7C;�>C;c��d}t||���}|j}|�tdd|�d|�������tj|j��5t��ddd��n#1swxYwYtj
|j��sJ�tj
|j��sJ�dS)zHChecks the generation of files based on a module name
    CLI :: -m
    �hir]r;r`rrN)
rrr?r@rArrBrCrDrrFrr)rGr.rH�MNAMErerIs      r�test_mod_gen_f77rx�s���
�E����6�6�6�E��L�E�����V�%?�U�%?�%?��%?�%?�%E�%E�%G�%G�H�H�H�	
����	%�	%����	�	�	��������������������;�u�{�#�#�#�#�#��;�u�|�$�$�$�$�$�$�$s�(B�B�
Bc�d�t|d���}|j}tjd��}tjd��}|�t
dd|�d������tj|j	��5t��|���\}}|�|���J�|�|���J�	ddd��n#1swxYwY|�t
dd|�d	������tj|j	��5t��|���\}}|�|���J�|�|���J�	ddd��dS#1swxYwYdS)
zHLowers cases by flag or when -h is present

    CLI :: --[no-]lower
    r\r]zHI\(\)zhi\(\)r;r`z -m test --lowerNz -m test --no-lower)
rr
�re�compiler?r@rArrBrCrDrE�search�	rGr1rHrerI�capshi�capslorKrLs	         r�test_lower_cmodr��s%��

���7�7�7�E��J�E�
�Z�	�
"�
"�F�
�Z�	�
"�
"�F�����V�%D�U�%D�%D�%D�%J�%J�%L�%L�M�M�M�	
����	%�	%�*�*��	�	�	��!�!�#�#���Q��}�}�S�!�!�-�-�-��}�}�S�!�!�)�)�)�)�	*�*�*�*�*�*�*�*�*�*�*����*�*�*�*�����V�:��:�:�:�@�@�B�B�D�D�D�	
����	%�	%�.�.��	�	�	��!�!�#�#���Q��}�}�S�!�!�)�)�)��}�}�S�!�!�-�-�-�-�	.�.�.�.�.�.�.�.�.�.�.�.����.�.�.�.�.�.s&�AC-�-C1�4C1�AF%�%F)�,F)c	��t|d���}|j}tjd��}tjd��}|�t
dd|�d|j�d������tj	|j
��5t��|���\}}|�
|���J�|�
|���J�	d	d	d	��n#1swxYwY|�t
dd|�d|j�d
������tj	|j
��5t��|���\}}|�
|���J�|�
|���J�	d	d	d	��d	S#1swxYwYd	S)z^Lowers cases in signature files by flag or when -h is present

    CLI :: --[no-]lower -h
    r\r]z	Block: HIz	Block: hir;r`z -h z -m test --overwrite-signatureNz) -m test --overwrite-signature --no-lower)rr
rzr{r?r@rrArrBrCrDrEr|r}s	         r�test_lower_sigr�sC��

���7�7�7�E��J�E�
�Z��
%�
%�F�
�Z��
%�
%�F������D��D�D�5�9�D�D�D�J�J�L�L����
����	%�	%�*�*��	�	�	��!�!�#�#���Q��}�}�S�!�!�-�-�-��}�}�S�!�!�)�)�)�)�	*�*�*�*�*�*�*�*�*�*�*����*�*�*�*������O��O�O�5�9�O�O�O�	����	���
����	%�	%�.�.��	�	�	��!�!�#�#���Q��}�}�S�!�!�)�)�)��}�}�S�!�!�-�-�-�-�	.�.�.�.�.�.�.�.�.�.�.�.����.�.�.�.�.�.s&�AC5�5C9�<C9�AF5�5F9�<F9c
�^�t|��}d}d}|�tdd|�d|�d|�������t	j|j��5t��|���\}}d|�d�|vsJ�	d	d	d	��d	S#1swxYwYd	S)
zNEnsures that the build directory can be specified

    CLI :: --build-dir
    rq�tttmpr;�f2py -m r<z
 --build-dir zWrote C/API module "rcNrO)rGr.rHrIr�odirrKrLs        r�test_build_dirr�(s��

��!�!�E��E��D�����V�E�5�E�E�5�E�E�t�E�E�K�K�M�M�O�O�O�
����	%�	%�8�8��	�	�	��!�!�#�#���Q�0�u�0�0�0�C�7�7�7�7�7�8�8�8�8�8�8�8�8�8�8�8�8����8�8�8�8�8�8s�$0B"�"B&�)B&c��t|��}|�tdd|�d������t	j|j��5td���dd���t��|�	��\}}d|vsJ�	d	d	d	��d	S#1swxYwYd	S)
zXEnsures that the build directory can be specified

    CLI :: --overwrite-signature
    r;rSz --overwrite-signaturerTrUr"r#r=N)
rr?r@rArrBrCr)rDrErPs      r�test_overwriter�9s��

��!�!�E�����V�:�U�:�:�:�@�@�B�B�D�D�D�
����	%�	%�2�2��[���$�$�[�7�$�C�C�C��	�	�	��!�!�#�#���Q�*�c�1�1�1�1�1�	2�2�2�2�2�2�2�2�2�2�2�2����2�2�2�2�2�2s�AB9�9B=�B=c	��t|��}d}|�tdd|�d|�d������t	j|j��5t��|���\}}d|vsJ�t|�d����	��5}d|�
��vsJ�	d	d	d	��n#1swxYwYd	d	d	��d	S#1swxYwYd	S)
zJEnsures that TeX documentation is written out

    CLI :: --latex-doc
    rqr;r�r<z --latex-doc�Documentation is saved to file�
module.tex�\documentclassN�rr?r@rArrBrCrDrE�open�read�rGr.rHrIrrKrL�otexs        r�
test_latexdocr�Js���

��!�!�E��E�����V�>�5�>�>�5�>�>�>�D�D�F�F�H�H�H�
����	%�	%�4�4��	�	�	��!�!�#�#���Q�/�3�6�6�6�6�
�U�&�&�&�
'�
'�
,�
,�
.�
.�	4�$�$��	�	���3�3�3�3�3�	4�	4�	4�	4�	4�	4�	4�	4�	4�	4�	4����	4�	4�	4�	4�	4�4�4�4�4�4�4�4�4�4�4�4����4�4�4�4�4�4s7� AC.�0C�
C.�C	�C.�C	�C.�.C2�5C2c	�N�t|��}d}|�tdd|�d|�d������t	j|j��5t��|���\}}d|vsJ�	ddd��dS#1swxYwYdS)zMEnsures that TeX documentation is written out

    CLI :: --no-latex-doc
    rqr;r�r<z --no-latex-docr�NrO�rGr.rHrIrrKrLs       r�test_nolatexdocr�\s��

��!�!�E��E�����V�A�5�A�A�5�A�A�A�G�G�I�I�K�K�K�
����	%�	%�;�;��	�	�	��!�!�#�#���Q�/�s�:�:�:�:�:�;�;�;�;�;�;�;�;�;�;�;�;����;�;�;�;�;�;�� ,B�B�!Bc	��t|��}d}|�tdd|�d|�d������t	j|j��5t��|���\}}d|vsJ�td|�d����	��5}d	|�
��vsJ�	d
d
d
��n#1swxYwYd
d
d
��d
S#1swxYwYd
S)z�Ensures that truncated documentation is written out

    TODO: Test to ensure this has no effect without --latex-doc
    CLI :: --latex-doc --short-latex
    rqr;r�r<z --latex-doc --short-latexr��./r�r�Nr�r�s        r�test_shortlatexr�ls���
��!�!�E��E������<�5�<�<�5�<�<�<�B�B�D�D����
����	%�	%�8�8��	�	�	��!�!�#�#���Q�/�3�6�6�6�6�
�(�u�(�(�(�
)�
)�
.�
.�
0�
0�	8�D�$�D�I�I�K�K�7�7�7�7�7�	8�	8�	8�	8�	8�	8�	8�	8�	8�	8�	8����	8�	8�	8�	8�	8�8�8�8�8�8�8�8�8�8�8�8����8�8�8�8�8�8�7� AC/�1C�C/�C	�C/�C	�C/�/C3�6C3c	��t|��}d}|�tdd|�d|�d������t	j|j��5t��|���\}}d|vsJ�td|�d����	��5}d	|�
��vsJ�	d
d
d
��n#1swxYwYd
d
d
��d
S#1swxYwYd
S)zIEnsures that RsT documentation is written out

    CLI :: --rest-doc
    rqr;r�r<z --rest-doc�#ReST Documentation is saved to filer�zmodule.restz.. -*- rest -*-Nr�)rGr.rHrIrrKrL�orsts        r�test_restdocr��s���

��!�!�E��E�����V�=�5�=�=�5�=�=�=�C�C�E�E�G�G�G�
����	%�	%�5�5��	�	�	��!�!�#�#���Q�4��;�;�;�;�
�)�u�)�)�)�
*�
*�
/�
/�
1�
1�	5�T�%������4�4�4�4�4�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5����	5�	5�	5�	5�	5�5�5�5�5�5�5�5�5�5�5�5����5�5�5�5�5�5r�c	�N�t|��}d}|�tdd|�d|�d������t	j|j��5t��|���\}}d|vsJ�	ddd��dS#1swxYwYdS)zLEnsures that TeX documentation is written out

    CLI :: --no-rest-doc
    rqr;r�r<z --no-rest-docr�NrOr�s       r�test_norestexdocr��s��

��!�!�E��E�����V�@�5�@�@�5�@�@�@�F�F�H�H�J�J�J�
����	%�	%�@�@��	�	�	��!�!�#�#���Q�4�C�?�?�?�?�?�@�@�@�@�@�@�@�@�@�@�@�@����@�@�@�@�@�@r�c	��t|��}d}|�tdd|�d|�d������t	j|j��5t��td|�d������5}d|�	��vsJ�	d	d	d	��n#1swxYwYd	d	d	��d	S#1swxYwYd	S)
zIEnsures that debugging wrappers are written

    CLI :: --debug-capi
    rqr;r�r<z
 --debug-capir�rz#define DEBUGCFUNCSN�
rr?r@rArrBrCrDr�r�)rGr.rHrIr�ocmods      r�test_debugcapir��sl��

��!�!�E��E�����V�?�5�?�?�5�?�?�?�E�E�G�G�I�I�I�
����	%�	%�:�:��	�	�	�
�&�u�&�&�&�
'�
'�
,�
,�
.�
.�	:�%�)�U�Z�Z�\�\�9�9�9�9�9�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:����	:�	:�	:�	:�:�:�:�:�:�:�:�:�:�:�:�:����:�:�:�:�:�:s6� 4C�B:�.C�:B>	�>C�B>	�C�C�CzConsistently fails on CI.)�reasonc	���t|��}d}|�tdd|�d|�d������t	j|j��5t��tjd��}tj
|dd�	��}d
}tjd��}|j
|ksJ�|j|ksJ�	ddd��dS#1swxYwYdS)
zEEnsures that debugging wrappers work

    CLI :: --debug-capi -c
    rqr;r�r<z -c --debug-capiz#python3 -c "import blah; blah.hi()"T�UTF-8��capture_outputr$�
 Hello World
a debug-capi:Python C/API function blah.hi()
debug-capi:float hi=:output,hidden,scalar
debug-capi:hi=0
debug-capi:Fortran subroutine `f2pywraphi(&hi)'
debug-capi:hi=0
debug-capi:Building return value.
debug-capi:Python C/API function blah.hi: successful.
debug-capi:Freeing memory.
        N)rr?r@rArrBrCrD�shlex�
subprocess�run�textwrap�dedent�stdout�stderr)r.rHrIr�cmd_run�rout�eout�eerrs        r�test_debugcapi_bldr��sD��
��!�!�E��E�����V�B�5�B�B�5�B�B�B�H�H�J�J�L�L�L�
����	%�	%�#�#��	�	�	��+�E�F�F���~�g�d�W�M�M�M������	 �	
�	
���{�d�"�"�"�"��{�d�"�"�"�"�"�!#�#�#�#�#�#�#�#�#�#�#�#����#�#�#�#�#�#s� A*C�C�Cc	�n�t|��}d}|�tdd|�d|�������t	j|j��5t��ddd��n#1swxYwY|���\}}d|vsJ�|�tdd|�d|�d������t	j|j��5t��|���\}}d|vsJ�	ddd��dS#1swxYwYdS)zoEnsures that fortran subroutine wrappers for F77 are included by default

    CLI :: --[no]-wrap-functions
    rqr;r�r<N� Fortran 77 wrappers are saved toz --wrap-functionsrOr�s       r�test_wrapfunc_defr��s���
��!�!�E��E�����V�%?��%?�%?��%?�%?�%E�%E�%G�%G�H�H�H�	
����	%�	%����	�	�	�������������������
�
�
�
�
�F�C��.�#�5�5�5�5�����V�C�5�C�C�5�C�C�C�I�I�K�K�M�M�M�
����	%�	%�:�:��	�	�	��!�!�#�#���Q�2�c�9�9�9�9�9�:�:�:�:�:�:�:�:�:�:�:�:����:�:�:�:�:�:s$�A:�:A>�A>�0,D*�*D.�1D.c	�N�t|��}d}|�tdd|�d|�d������t	j|j��5t��|���\}}d|vsJ�	ddd��dS#1swxYwYdS)zeEnsures that fortran subroutine wrappers for F77 can be disabled

    CLI :: --no-wrap-functions
    rqr;r�r<z --no-wrap-functionsr�NrOr�s       r�test_nowrapfuncr��s��

��!�!�E��E�����V�F�5�F�F�5�F�F�F�L�L�N�N�P�P�P�
����	%�	%�>�>��	�	�	��!�!�#�#���Q�2�#�=�=�=�=�=�>�>�>�>�>�>�>�>�>�>�>�>����>�>�>�>�>�>r�c	���t|��}d}|�tdd|�d|�d������t	j|j��5t��td|�d������5}|�	��}d|vsJ�d	|vsJ�	d
d
d
��n#1swxYwYd
d
d
��d
S#1swxYwYd
S)zcAdd to the include directories

    CLI :: -include
    TODO: Document this in the help string
    rqr;r�r<z' -include<stdbool.h> -include<stdio.h> r�rz#include <stdbool.h>z#include <stdio.h>Nr�)rGr.rHrIrr��ocmrs       r�test_inclheaderr��s~��
��!�!�E��E������I�5�I�I�5�I�I�I�
����	���
����	%�	%�0�0��	�	�	�
�&�u�&�&�&�
'�
'�
,�
,�
.�
.�	0�%��:�:�<�<�D�)�T�1�1�1�1�'�4�/�/�/�/�/�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0����	0�	0�	0�	0�0�0�0�0�0�0�0�0�0�0�0�0����0�0�0�0�0�0s6� 4C�!C�6C�C	�C�	C	�
C�C�!Cc��dS)z?Add to the include directories

    CLI :: --include-paths
    N�r�rr�
test_inclpathr��	��	�Drc��dS)z;Add to the include directories

    CLI :: --help-link
    Nr�r�rr�
test_hlinkr�r�rc�t�t|��}|�tdd|�d������t	j|j��5t��|���\}}d|vsJ�d|vsJ�d|vsJ�d|vsJ�d|vsJ�	d	d	d	��d	S#1swxYwYd	S)
zOCheck that Fortran-to-Python KIND specs can be passed

    CLI :: --f2cmap
    r;�
f2py -m blah z --f2cmap mapfilez!Reading f2cmap from 'mapfile' ...z&Mapping "real(kind=real32)" to "float"z'Mapping "real(kind=real64)" to "double"z,Mapping "integer(kind=int64)" to "long_long"z0Successfully applied user defined f2cmap changesNrO)rGr9rHrIrKrLs      r�test_f2cmapr�$sA��

����E�����V�%M�U�%M�%M�%M�%S�%S�%U�%U�V�V�V�	
����	%�	%�I�I��	�	�	��!�!�#�#���Q�2�c�9�9�9�9�;�s�B�B�B�B�<��C�C�C�C�A�S�H�H�H�H�A�S�H�H�H�H�H�I�I�I�I�I�I�I�I�I�I�I�I����I�I�I�I�I�Is�AB-�-B1�4B1c�b�t|��}|�tdd|�d������t	j|j��5t��|���\}}t|��dksJ�	ddd��dS#1swxYwYdS)z)Reduce verbosity

    CLI :: --quiet
    r;r�z --quietrN)
rr?r@rArrBrCrDrE�lenrPs      r�
test_quietr�6s���

��!�!�E�����V�%D�U�%D�%D�%D�%J�%J�%L�%L�M�M�M�	
����	%�	%����	�	�	��!�!�#�#���Q��3�x�x�1�}�}�}�}�}���������������������s�;B$�$B(�+B(c�D�t|��}|�tdd|�d������t	j|j��5t��|���\}}d|vsJ�	ddd��dS#1swxYwYdS)z-Increase verbosity

    CLI :: --verbose
    r;r�z
 --verbose�analyzelineNrOrPs      r�test_verboser�Ds���

��!�!�E�����V�%F�U�%F�%F�%F�%L�%L�%N�%N�O�O�O�	
����	%�	%�$�$��	�	�	��!�!�#�#���Q���#�#�#�#�#�$�$�$�$�$�$�$�$�$�$�$�$����$�$�$�$�$�$s�,B�B�Bc�X�|�tdd�����tjt
��5t
��|���\}}ddl}|j	|�
��ksJ�	ddd��dS#1swxYwYdS)z"Ensure version

    CLI :: -v
    r;zf2py -vrN)r?r@rArVrWrXrDrE�numpy�__version__�strip)rGrHrKrL�nps     r�test_versionr�Rs���
����V�Y�_�_�%6�%6�7�7�7�	��z�	"�	"�-�-��	�	�	��!�!�#�#���Q������~������,�,�,�,�,�	-�-�-�-�-�-�-�-�-�-�-�-����-�-�-�-�-�-s�A	B�B#�&B#c�~�t|��}|�tdd|�d������t	j|j��5t��tjd��}tj
|dd���}d}|j|ksJ�	d	d	d	��d	S#1swxYwYd	S)
z
    CLI :: -c
    r;r�z -cz"python -c "import blah; blah.hi()"Tr�r�r�N)rr?r@rArrBrCrDr�r�r�r�)r.rHrIr�r�r�s      r�
test_npdistopr�`s��

��!�!�E�����V�%?�U�%?�%?�%?�%E�%E�%G�%G�H�H�H�	
����	%�	%�#�#��	�	�	��+�D�E�E���~�g�d�W�M�M�M�����{�d�"�"�"�"�"�#�#�#�#�#�#�#�#�#�#�#�#����#�#�#�#�#�#s�A	B2�2B6�9B6c��dS)z
    CLI :: -c --fcompiler
    Nr�r�rr�test_npd_fcompilerr�t�	��
	�Drc��dS)z
    CLI :: -c --compiler
    Nr�r�rr�test_npd_compilerr�|r�rc��dS)z$
    CLI :: -c --help-fcompiler
    Nr�r�rr�test_npd_help_fcompilerr��r�rc��dS)z
    CLI :: -c --f77exec
    Nr�r�rr�test_npd_f77execr��r�rc��dS)z
    CLI :: -c --f90exec
    Nr�r�rr�test_npd_f90execr��r�rc��dS)z
    CLI :: -c --f77flags
    Nr�r�rr�test_npd_f77flagsr��r�rc��dS)z
    CLI :: -c --f90flags
    Nr�r�rr�test_npd_f90flagsr��r�rc��dS)z
    CLI :: -c --opt
    Nr�r�rr�test_npd_optr��r�rc��dS)z
    CLI :: -c --arch
    Nr�r�rr�
test_npd_archr��r�rc��dS)z
    CLI :: -c --noopt
    Nr�r�rr�test_npd_nooptr��r�rc��dS)z
    CLI :: -c --noarch
    Nr�r�rr�test_npd_noarchr��r�rc��dS)z
    CLI :: -c --debug
    Nr�r�rr�test_npd_debugr��r�rc��dS)z%
    CLI :: -c --link-<resource>
    Nr�r�rr�test_npd_link_autor��r�rc��dS)z/
    CLI :: -c -L/path/to/lib/ -l<libname>
    Nr�r�rr�test_npd_libr��r�rc��dS)z
    CLI :: -D<define>
    Nr�r�rr�test_npd_definer��r�rc��dS)z
    CLI :: -U<name>
    Nr�r�rr�test_npd_undefiner��r�rc��dS)z$
    CLI :: -I/path/to/include/
    Nr�r�rr�
test_npd_inclr��r�rc��dS)z8
    CLI :: <filename>.o <filename>.so <filename>.a
    Nr�r�rr�test_npd_linkerr��r�r)r	)Fr�rzr@r�r��pathlibr�collectionsrrV�r�numpy.f2py.f2py2errDrr�fixturer.r1r4r9rMrQrZ�mark�xfailrjrortrxr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�<module>rs���+�+�+�+�+�+�+�+�+�+�+�+�+�+�+�+�+�+�+�+�������"�"�"�"�"�"�
�
�
�
�������-�-�-�-�-�-�
��H�H�	I�	I������N���i� � � ���!� �����i� � � ���!� �����i� � � ���!� �����i� � � ���!� ��)�)�)�
,�
,�
,�C�C�C����D�D���D�.D�D�D�.D�D�D�<%�%�%�".�.�.�4$.�$.�$.�N8�8�8�"2�2�2�"4�4�4�$
;�
;�
;� 8�8�8�,5�5�5�$
@�
@�
@� 
:�
:�
:� ����5��6�6�#�#�7�6�#�::�:�:�2
>�
>�
>� 0�0�0�.	�	�	�	�	�	�I�I�I�$���$�$�$�-�-�-�����5��6�6�#�#�7�6�#�&	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	r

Youez - 2016 - github.com/yon3zu
LinuXploit