a
    nÝEbEU  ã                   @   sÞ  d Z ddlZddlZddlmZ ddlmZmZm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lm  mZ ddlZddlmZ ddlm  mZ G dd„ dƒZeeegZzdd	l m!Z" e #e"¡ W n e$yè   Y n0 e
j% &e
j% 'e(¡¡Z)ej* +d
¡G dd„ dƒƒZ,ej-dd„ ƒZ.G dd„ dƒZ/dd„ Z0ej* 1dddg¡ej* 1dddg¡dd„ ƒƒZ2dd„ Z3ej* 1deddfedd fg¡d!d"„ ƒZ4ej* 1d#g d$¢¡ej* 1dddg¡d%d&„ ƒƒZ5d'd(„ Z6d)d*„ Z7d+d,„ Z8dS )-z0
Tests for the pandas.io.common functionalities
é    N)Úpartial)ÚBytesIOÚStringIOÚUnsupportedOperation)ÚPath)Úis_platform_windowsc                   @   s    e Zd ZdZdd„ Zdd„ ZdS )ÚCustomFSPathz%For testing fspath on unknown objectsc                 C   s
   || _ d S ©N©Úpath)Úselfr   © r   ú[/home/ja/django-apps/lartica_env/lib/python3.9/site-packages/pandas/tests/io/test_common.pyÚ__init__   s    zCustomFSPath.__init__c                 C   s   | j S r	   r
   )r   r   r   r   Ú
__fspath__"   s    zCustomFSPath.__fspath__N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   r   r      s   r   )Úlocalz*ignore:can't resolve package:ImportWarningc                   @   sV  e Zd ZdZdd„ Zdd„ Zdd„ Ze d¡d	d
„ ƒZ	dd„ Z
dd„ Zej de¡dd„ ƒZej deeeg¡dd„ ƒZdd„ Zdd„ Zejddd�dd„ ƒZdd„ Zej dejd ed!fejd ed"fejd#ed$fejded%fej d&ed'fej!d ed(fej"d ed)fej#d e$d*fej%d ed+fg	¡d,d-„ ƒZ&ej d.ej'j(d ed!fej'j)d ed/fej'j*d#ed$fej'j+ded%fej'j,ded0fej'j-d ed(fej'j.d ed*fej'j/d ed+fg¡d1d2„ ƒZ0ej dejd ed!fej1d ed!fejd ed"fejd#ed$fejded%fej d&ed'fej!d ed(fej"d ed)fej#d e$d*fej%d ed+fg
¡d3d4„ ƒZ2ej d5ejd d6fej1d d6fejd d7fejd#d8fejdd9fej d&d:fej!d d;fej"d d<fej#d d=fej%d d>fg
¡ej 3d?¡ej 3d@¡dAdB„ ƒƒƒZ4ej 3dC¡ej dDdEi d fdFdGdHidHfdIi dfdJi d fdKi d fdLi d fdMi d fdNdOe 5dP¡id fg¡dQdR„ ƒƒZ6ej 3d@¡dSdT„ ƒZ7dUS )VÚTestCommonIOCapabilitiesziindex,A,B,C,D
foo,2,3,4,5
bar,7,8,9,10
baz,12,13,14,15
qux,12,13,14,15
foo2,12,13,14,15
bar2,12,13,14,15
c                 C   sB   d}t  |¡}||ksJ ‚tj |¡s*J ‚tj |¡|ks>J ‚d S )Nz
~/sometest)ÚicomÚ_expand_userÚosr   ÚisabsÚ
expanduser©r   ÚfilenameZexpanded_namer   r   r   Útest_expand_user?   s
    
z)TestCommonIOCapabilities.test_expand_userc                 C   s2   d}t  |¡}||ksJ ‚tj |¡|ks.J ‚d S )Nz/somefolder/sometest)r   r   r   r   r   r   r   r   r   Útest_expand_user_normal_pathG   s    
z5TestCommonIOCapabilities.test_expand_user_normal_pathc                 C   sB   t  tdƒ¡}|dksJ ‚t  tdƒ¡}|tj dd¡ks>J ‚d S )NÚ.zfoo//barÚfooÚbar)r   Ústringify_pathr   r   r   Újoin)r   Úrel_pathZredundant_pathr   r   r   Útest_stringify_path_pathlibN   s    z4TestCommonIOCapabilities.test_stringify_path_pathlibzpy.pathc                 C   s8   t j dd¡}t j |¡}t|ƒ}t |¡|ks4J ‚d S )Nr!   r"   )r   r   r$   ÚabspathÚ	LocalPathr   r#   )r   r   Úabs_pathZlpathr   r   r   Útest_stringify_path_localpathT   s    z6TestCommonIOCapabilities.test_stringify_path_localpathc                 C   s"   t dƒ}t |¡}|dksJ ‚d S )Núfoo/bar.csv)r   r   r#   )r   ÚpÚresultr   r   r   Útest_stringify_path_fspath[   s    
z3TestCommonIOCapabilities.test_stringify_path_fspathc              	   C   s|   t  d¡}t ¡ �V}|jd|› �dd��"}|t |¡ks<J ‚W d   ƒ n1 sP0    Y  W d   ƒ n1 sn0    Y  d S )NÚfsspeczfile://Úwb©Úmode)ÚpytestÚimportorskipÚtmÚensure_cleanÚopenr   r#   )r   r/   r   Z
fsspec_objr   r   r   Ú!test_stringify_file_and_path_like`   s    

z:TestCommonIOCapabilities.test_stringify_file_and_path_likeÚ	path_typec                 C   s2   |\}}|d| ƒ}t j|dd�}||ks.J ‚d S )Nr+   Zinfer)Úcompression)r   Zinfer_compression)r   Zcompression_formatr9   Ú	extensionÚexpectedr   r:   r   r   r   Ú test_infer_compression_from_pathg   s    z9TestCommonIOCapabilities.test_infer_compression_from_pathc              	   C   s¢   t jt ¡ d��~}|dt|ƒj d ƒ}t |d¡�<}t|jjƒ ¡ sJJ ‚t	j
 |¡|jjksbJ ‚W d   ƒ n1 sv0    Y  W d   ƒ n1 s”0    Y  d S )N)Údirz~/z	/sometestÚw)ÚtempfileÚTemporaryDirectoryr   ÚhomeÚnamer   Ú
get_handleÚhandleÚis_absoluter   r   r   )r   r9   Útmpr   Úhandlesr   r   r   Útest_get_handle_with_pathn   s
    z2TestCommonIOCapabilities.test_get_handle_with_pathc                 C   sV   t ƒ }t |d¡�}|j|ks"J ‚W d   ƒ n1 s60    Y  |jrJJ ‚| ¡  d S )NÚr)r   r   rD   rE   ÚclosedÚclose)r   Zinput_bufferrH   r   r   r   Útest_get_handle_with_bufferw   s
    ,
z4TestCommonIOCapabilities.test_get_handle_with_bufferc                 C   s¨   d}t jt|ƒddd��|}d}d}|j |¡}t|ƒ|ks>J ‚t|ƒ|k rjt|j ¡ ƒdks`J ‚||7 }qt||7 }q"|| d¡ks†J ‚W d   ƒ n1 sš0    Y  d S )	Nõ&   a,b,c
1,2,3
Â©,Â®,Â®
Look,a snake,ðŸ��ÚrbF©Zis_textó    é   r   úutf-8)r   rD   r   rE   ÚreadÚlenÚencode)r   ÚdatarH   r-   Ú	chunksizeÚchunkr   r   r   Ú)test_bytesiowrapper_returns_correct_bytes   s    
zBTestCommonIOCapabilities.test_bytesiowrapper_returns_correct_bytesÚpyarrowz0.15.0)Úmin_versionc                 C   s�   ddl m} d}t g d¢g d¢g d¢dœ¡}t|ƒ}tj|dd	d
��6}| |j¡ 	¡ }t
 ||¡ |jrnJ ‚W d   ƒ n1 s‚0    Y  d S )Nr   )ÚcsvrN   )Ú1õ   Â©ZLook)Ú2õ   Â®za snake)Ú3ra   u   ðŸ��©ÚaÚbÚcrO   FrP   )r[   r]   ÚpdÚ	DataFramer   r   rD   Úread_csvrE   Z	to_pandasr5   Úassert_frame_equalrK   )r   r]   rW   r<   ÚsrH   Údfr   r   r   Útest_get_handle_pyarrow_compat–   s    ÿz7TestCommonIOCapabilities.test_get_handle_pyarrow_compatc                 C   sÎ   t jt| jƒdd��}t j|dd�}W d   ƒ n1 s80    Y  t  t| jƒ¡}t ||¡ t jt| jƒdd��H}t|ƒ}t ||jdg ¡ t t  |¡|jdd … ¡ W d   ƒ n1 sÀ0    Y  d S )Né   )rX   T)Zignore_indexr   )	rg   ri   r   Údata1Úconcatr5   rj   ÚnextZiloc)r   Úreaderr-   r<   ÚitÚfirstr   r   r   Útest_iterator¨   s    ,z&TestCommonIOCapabilities.test_iteratorz#reader, module, error_class, fn_extr   r]   ÚtxtZxlrdZxlsxÚfeatherÚtablesÚh5ZdtaZsas7bdatÚjsonÚpicklec                 C   sÞ   t  |¡ tj tdd| ¡}d|› d�}d|› d�}d}d}	d	|› d
|› d�}
d|› d�}d|› d�}d|› �}t j|d|› d|› d|› d|	› d|
› d|› d|› d|› d�d�� ||ƒ W d   ƒ n1 sÐ0    Y  d S )NrW   údoes_not_exist.úFile (b')?.+does_not_exist\.ú'? does not existú:\[Errno 2\] No such file or directory: '.+does_not_exist\.ú'zExpected object or valueú7path_or_buf needs to be a string file path or file-likeú#\[Errno 2\] File .+does_not_exist\.ú$ does not exist: '.+does_not_exist\.õ<   \[Errno 2\] æ²¡æœ‰é‚£ä¸ªæ–‡ä»¶æˆ–ç›®å½•: '.+does_not_exist\.ú?\[Errno 2\] File o directory non esistente: '.+does_not_exist\.ú+Failed to open local file.+does_not_exist\.ú(ú|ú)©Úmatch)r3   r4   r   r   r$   ÚHEREÚraises)r   rr   ÚmoduleÚerror_classÚfn_extr   Úmsg1Úmsg2Úmsg3Úmsg4Úmsg5Úmsg6Úmsg7Úmsg8r   r   r   Útest_read_non_existent´   s&    
ÿÿ
ÿ
4þz/TestCommonIOCapabilities.test_read_non_existentz#method, module, error_class, fn_extÚhtmlZparquetc                 C   sz   t  |¡ t g d¢g d¢g d¢dœ¡}tj tddd| ¡}t j|dd	�� |||ƒ W d   ƒ n1 sl0    Y  d S )
N)rn   é   é   )r›   rœ   é   )rœ   r�   rR   rc   rW   Zmissing_folderr|   z@Cannot save file into a non-existent directory: .*missing_folderrŠ   )	r3   r4   rg   rh   r   r   r$   rŒ   r�   )r   ÚmethodrŽ   r�   r�   Zdummy_framer   r   r   r   Ú#test_write_missing_parent_directoryÚ   s    
þz<TestCommonIOCapabilities.test_write_missing_parent_directoryc                 C   sî   t  |¡ tj dd| ¡}| tddd„ ¡ d|› d�}d|› d	�}d
}	d}
d|› d|› d	�}d|› d	�}d|› d	�}d|› �}t j|d|› d|› d|	› d|
› d|› d|› d|› d|› d�d�� ||ƒ W d   ƒ n1 sà0    Y  d S )Nú~r|   r   c                 S   s   t j d| ¡S )Nr!   )r   r   r$   )Úxr   r   r   Ú<lambda>
  rQ   zJTestCommonIOCapabilities.test_read_expands_user_home_dir.<locals>.<lambda>r}   r~   r   r€   z0Unexpected character found when decoding 'false'r�   r‚   rƒ   r„   r…   r†   r‡   rˆ   r‰   rŠ   )r3   r4   r   r   r$   Úsetattrr   r�   )r   rr   rŽ   r�   r�   Zmonkeypatchr   r‘   r’   r“   r”   r•   r–   r—   r˜   r   r   r   Útest_read_expands_user_home_dirõ   s(    
ÿÿ
ÿ
4þz8TestCommonIOCapabilities.test_read_expands_user_home_dirzreader, module, path)ÚiorW   r]   ziris.csv)r¥   rW   Zfixed_widthzfixed_width_format.txt)r¥   rW   Úexcelz
test1.xlsx)r¥   rW   rw   zfeather-0_3_1.feather)r¥   rW   Z
legacy_hdfzdatetimetz_object.h5)r¥   rW   Ústatazstata10_115.dta)r¥   ÚsasrW   ztest1.sas7bdat)r¥   rz   rW   ztsframe_v012.json)r¥   rW   r{   zcategorical.0.25.0.picklez8ignore:CategoricalBlock is deprecated:DeprecationWarningz;ignore:`np.object` is a deprecated alias:DeprecationWarningc                 C   sR   t  |¡ ||Ž }t|ƒ}||ƒ}||ƒ}| d¡rBt ||¡ nt ||¡ d S )Nz.pickle)r3   r4   r   Úendswithr5   Zassert_categorical_equalrj   )r   rr   rŽ   r   ÚdatapathÚmypathr-   r<   r   r   r   Útest_read_fspath_all   s    &

z-TestCommonIOCapabilities.test_read_fspath_allz.ignore:In future versions `DataFrame.to_latex`z"writer_name, writer_kwargs, moduleÚto_csvÚto_excelÚengineZxlwtÚ
to_featherÚto_htmlÚto_jsonZto_latexÚ	to_pickleÚto_stataZ
time_stampz2019-01-01 00:00c              
   C   s   t  d¡}t  d¡}t dddgi¡}|�à}|�¼}t |¡ t|ƒ}	t||ƒ}
|
|fi |¤Ž t|dƒ�}| 	¡ }W d   ƒ n1 s†0    Y  |
|	fi |¤Ž t|dƒ�}| 	¡ }W d   ƒ n1 sÈ0    Y  ||ksÞJ ‚W d   ƒ n1 sò0    Y  W d   ƒ n1 �s0    Y  d S )NÚstringÚfspathÚArn   r›   rO   )
r5   r6   rg   rh   r3   r4   r   Úgetattrr7   rT   )r   Zwriter_nameZwriter_kwargsrŽ   Úp1Úp2rl   rµ   r¶   r«   ÚwriterÚfr<   r-   r   r   r   Útest_write_fspath_allS  s    



&&z.TestCommonIOCapabilities.test_write_fspath_allc           	   	   C   sÈ   t  d¡ t dddgi¡}t d¡}t d¡}|�t}|�P}t|ƒ}|j|dd� |j|dd� tj|dd�}tj|dd�}W d   ƒ n1 s�0    Y  W d   ƒ n1 s®0    Y  t 	||¡ d S )	Nrx   r·   rn   r›   rµ   r¶   r"   )Úkey)
r3   r4   rg   rh   r5   r6   r   Zto_hdfÚread_hdfrj   )	r   rl   r¹   rº   rµ   r¶   r«   r-   r<   r   r   r   Útest_write_fspath_hdf5u  s    


Jz/TestCommonIOCapabilities.test_write_fspath_hdf5N)8r   r   r   ro   r   r   r&   ÚtdZ
skip_if_nor*   r.   r8   r3   ÚmarkÚparametrizeÚ
path_typesr=   Ústrr   r   rI   rM   rZ   rm   ru   rg   ri   ÚFileNotFoundErrorZread_fwfZ
read_excelZread_featherÚOSErrorr¿   Z
read_stataZread_sasÚ	read_jsonÚ
ValueErrorZread_pickler™   rh   r­   r±   r®   r°   Z
to_parquetr´   r²   r³   rŸ   Z
read_tabler¤   Úfilterwarningsr¬   Úto_datetimer½   rÀ   r   r   r   r   r   4   sÜ   	



÷þ
øþ
öþ


ý
ýý


ýêþÿÿ
øþÿr   c                 C   s   | ddddƒS )Nr¥   rW   r]   ztest_mmap.csvr   )rª   r   r   r   Ú	mmap_file�  s    rÌ   c                   @   s`   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zej	 
dddg¡ej	 
dddg¡dd„ ƒƒZdS )ÚTestMMapWrapperc                 C   s´   t dƒ}dd„ |_tƒ r"d}t}n
d}tj}tj||d�� t 	|¡ W d   ƒ n1 sZ0    Y  t
|ƒ}| ¡  d}tjt|d�� t 	|¡ W d   ƒ n1 s¦0    Y  d S )NzI am not a filec                   S   s   dS )Néÿÿÿÿr   r   r   r   r   r¢   •  rQ   z;TestMMapWrapper.test_constructor_bad_file.<locals>.<lambda>zThe parameter is incorrectz
[Errno 22]rŠ   zI/O operation on closed file)r   Úfilenor   rÇ   ÚmmapÚerrorr3   r�   r   Ú_MMapWrapperr7   rL   rÉ   )r   rÌ   Znon_fileÚmsgÚerrÚtargetr   r   r   Útest_constructor_bad_file“  s    
(z)TestMMapWrapper.test_constructor_bad_filec                 C   s~   t |ƒ�}t |¡}W d   ƒ n1 s(0    Y  t|jƒ}dd„ |D ƒ}| d¡ |D ]}t||ƒsXJ ‚qXt|dƒrzJ ‚d S )Nc                 S   s   g | ]}|  d ¡s|‘qS )Ú__)Ú
startswith)Ú.0Úattrr   r   r   Ú
<listcomp>®  rQ   z1TestMMapWrapper.test_get_attr.<locals>.<listcomp>Ú__next__r!   )r7   r   rÒ   r>   rÐ   ÚappendÚhasattr)r   rÌ   rÕ   ÚwrapperÚattrsrÚ   r   r   r   Útest_get_attr©  s    
(

zTestMMapWrapper.test_get_attrc                 C   sš   t |ƒ�"}t |¡}| ¡ }W d   ƒ n1 s00    Y  |D ] }t|ƒ}| ¡ | ¡ ks>J ‚q>tjtdd�� t|ƒ W d   ƒ n1 sŒ0    Y  d S )Nz^$rŠ   )	r7   r   rÒ   Ú	readlinesrq   Ústripr3   r�   ÚStopIteration)r   rÌ   rÕ   rß   ÚlinesÚlineÚ	next_liner   r   r   Ú	test_next¶  s    

&zTestMMapWrapper.test_nextc              	   C   sz   t  ¡ �^}t  ¡ }| |¡ tjtdd�� tj|dd� W d   ƒ n1 sN0    Y  W d   ƒ n1 sl0    Y  d S )NzUnknown enginerŠ   Zpyt)r¯   )	r5   r6   ÚmakeDataFramer­   r3   r�   rÉ   rg   ri   ©r   r   rl   r   r   r   Útest_unknown_engineÂ  s
    

z#TestMMapWrapper.test_unknown_enginec                 C   sX   t  ¡ �<}t  ¡ }|j|dd� t  |tj|dd�¡ W d  ƒ n1 sJ0    Y  dS )z\
        'encoding' shouldn't be passed to 'open' in binary mode.

        GH 35058
        zw+br1   r   ©Z	index_colN)r5   r6   ré   r­   rj   rg   ri   rê   r   r   r   Útest_binary_modeÉ  s    
z TestMMapWrapper.test_binary_modeÚencodingzutf-16zutf-32Úcompression_Úbz2Úxzc              	   C   s°   t  ¡ }t  ¡ �Œ}t  t¡�  |j|||d� W d  ƒ n1 sB0    Y  d}tjt|d��  t	j
|||d� W d  ƒ n1 s„0    Y  W d  ƒ n1 s¢0    Y  dS )zš
        bz2 and xz do not write the byte order mark (BOM) for utf-16/32.

        https://stackoverflow.com/questions/55171439

        GH 35681
        )r:   rî   Nz&UTF-\d+ stream does not start with BOMrŠ   )r5   ré   r6   Zassert_produces_warningÚUnicodeWarningr­   r3   r�   ÚUnicodeErrorrg   ri   )r   rî   rï   rl   r   rÓ   r   r   r   Útest_warning_missing_utf_bomÔ  s    

.z,TestMMapWrapper.test_warning_missing_utf_bomN)r   r   r   rÖ   rá   rè   rë   rí   r3   rÂ   rÃ   rô   r   r   r   r   rÍ   ’  s   rÍ   c                   C   s‚   t  d¡sJ ‚t  d¡sJ ‚t  d¡r*J ‚t  d¡r8J ‚t  d¡rFJ ‚t  d¡rTJ ‚t  d¡rbJ ‚t  d¡rpJ ‚t  d	¡s~J ‚d S )
Nzgcs://pandas/somethingelse.comzgs://pandas/somethingelse.comzhttp://pandas/somethingelse.comzrandom:pandas/somethingelse.comz/local/pathzrelative/local/pathzthis is not fsspec://urlz({'url': 'gs://pandas/somethingelse.com'}z#RFC-3986+compliant.spec://something)r   Zis_fsspec_urlr   r   r   r   Útest_is_fsspec_urlé  s    rõ   rî   rS   Úformatr]   rz   c              	   C   sÖ   t  ¡ }t  ¡ �¦}tj|d| d��$}t|d|› �ƒ|ƒ W d   ƒ n1 sL0    Y  tj|d| d��2}|dkr€tj|dd�}n
t |¡}W d   ƒ n1 sž0    Y  W d   ƒ n1 s¼0    Y  t  	||¡ d S )Nr?   )r2   rî   Zto_rJ   r]   r   rì   )
r5   ré   r6   Úcodecsr7   r¸   rg   ri   rÈ   rj   )rî   rö   r<   r   rE   rl   r   r   r   Útest_codecs_encodingø  s    
2Frø   c               
   C   s  t  ¡ } t  ¡ �Ø}t|dƒ�H}t d¡|ƒ�}|  |¡ W d   ƒ n1 sL0    Y  W d   ƒ n1 sj0    Y  t|dƒ�L}t d¡|ƒ�}tj	|dd�}W d   ƒ n1 s²0    Y  W d   ƒ n1 sÐ0    Y  W d   ƒ n1 sî0    Y  t  
| |¡ d S )Nr0   rS   rO   r   rì   )r5   ré   r6   r7   r÷   Ú	getwriterr­   Ú	getreaderrg   ri   rj   )r<   r   rE   Úencodedrl   r   r   r   Útest_codecs_get_writer_reader  s    
Fhrü   zio_class,mode,msgÚtz*a bytes-like object is required, not 'str're   z%string argument expected, got 'bytes'c              	   C   st   t  ¡ }| ƒ �R}tjt|d��$ |j|d|› �d� W d   ƒ n1 sH0    Y  W d   ƒ n1 sf0    Y  d S )NrŠ   r?   r1   )r5   ré   r3   r�   Ú	TypeErrorr­   )Zio_classr2   rÓ   r<   Úbufferr   r   r   Útest_explicit_encoding  s    r   Úencoding_errors)NÚstrictÚreplacec              	   C   s,  d}d}|dkr<d| d |d  d | }t tjdd�}n.d	|d  d
 | d | d }t tjdd�}t ¡ �¤}t|ƒ}| |¡ | dkrÊtj	t
|d�� ||| d� W d   ƒ n1 s¾0    Y  n>||| d�}|j| d�}	tj|	|	gi|	d gd�}
t ||
¡ W d   ƒ n1 �s0    Y  d S )Nz'utf-8' codec can't decode byteó   är]   ó   ,ó   
r›   r   rì   s   {"s   ": {"s   ":"s   "}}Úindex)Zorientr  rŠ   )r  ©Úerrors)r  )r   rg   ri   rÈ   r5   r6   r   Úwrite_bytesr3   r�   ÚUnicodeDecodeErrorÚdecoderh   rj   )r  rö   rÓ   Zbad_encodingÚcontentrr   r   Úfilerl   Údecodedr<   r   r   r   Útest_encoding_errors&  s<    ÿþýüûúÿ	

,r  c               	   C   sj   t  ¡ �N} tjtdd��  tj| ddd� W d   ƒ n1 s>0    Y  W d   ƒ n1 s\0    Y  d S )Nzunknown error handler namerŠ   r?   Úbadr  )r5   r6   r3   r�   ÚLookupErrorr   rD   r
   r   r   r   Útest_bad_encdoing_errorsI  s    
r  c                  C   sL   t jtdd��*} t d¡ | jtjks*J ‚W d   ƒ n1 s>0    Y  d S )Nz\[Errno 2\]rŠ   Zdoesnt_exist)r3   r�   rÆ   rg   ri   ÚerrnoÚENOENT)rÔ   r   r   r   Útest_errno_attributeP  s    
r  c               	   C   sh   t jtdd��F tƒ � } tj| ddd� W d   ƒ n1 s<0    Y  W d   ƒ n1 sZ0    Y  d S )NrÏ   rŠ   rO   T)Z
memory_map)r3   r�   r   r   r   rD   )rÿ   r   r   r   Útest_fail_mmapW  s    r  )9r   r÷   r  Ú	functoolsr   r¥   r   r   r   rÐ   r   Úpathlibr   r@   r3   Zpandas.compatr   Zpandas.util._test_decoratorsÚutilZ_test_decoratorsrÁ   Zpandasrg   Zpandas._testingZ_testingr5   Zpandas.io.commonÚcommonr   r   rÅ   rÄ   Zpy.pathr   r(   rÝ   ÚImportErrorr   r'   ÚdirnameÚ__file__rŒ   rÂ   rÊ   r   ZfixturerÌ   rÍ   rõ   rÃ   rø   rü   r   r  r  r  r  r   r   r   r   Ú<module>   s^   

  Z
Wþþ

!