§
    2@ÄjŽ  ã                   ó  — d dl Z d dlZd dlmZ d dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZ d dlmZ d dlmc mZ  G d	„ d
e¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Zedk    r ej        ¦   «          dS dS )é    N)Ú
skipUnless)ÚNonCallableMock)Úchain)Údatetime)Úredirect_stdout)ÚStringIO)ÚTestCasec                   ó@   ‡ — e Zd Zˆ fd„Zˆ fd„Zd„ Zd„ Zd„ Zd„ Zˆ xZ	S )ÚTestSysInfoc                 óf  •— t          t          | ¦  «                             ¦   «          t          j        ¦   «         | _        t          t          j        ft          t          j	        ft          t          j        t          j        t          j        t          j        t          j        t          j        t          j        t          j        t          j        t          j        f
t*          t          j        t          j        t          j        t          j        t          j        t          j        t          j        t          j        ft<          t          j        t          j         ftB          t          j"        ftF          t          j$        t          j%        fi| _&        tO          | j&         (                    ¦   «         Ž | _)        d S ©N)*Úsuperr   ÚsetUpÚnsiÚget_sysinfoÚinfoÚintÚ
_cpu_countÚfloatÚ_runtimeÚstrÚ_machineÚ	_cpu_nameÚ_platform_nameÚ_os_nameÚ_os_versionÚ_python_compÚ_python_implÚ_python_versionÚ_llvm_versionÚ_numpy_versionÚboolÚ_cu_dev_initÚ_svml_stateÚ_svml_loadedÚ_svml_operationalÚ_llvm_svml_patchedÚ_tbb_threadÚ_openmp_threadÚ_wkq_threadÚlistÚ_errorsÚ	_warningsÚdictÚ_numba_env_varsr   Ú_startÚ
_start_utcÚsafe_contentsr   ÚvaluesÚ	safe_keys©ÚselfÚ	__class__s    €úIC:\Projects\Historical\venv\Lib\site-packages\numba/tests/test_sysinfo.pyr   zTestSysInfo.setUp   s(  ø€ Ý�k˜4Ñ Ô ×&Ò&Ñ(Ô(Ð(Ý”OÑ%Ô%ˆŒ	åÝ”ðõ Ý”ðõ Ý”Ý”ÝÔ"Ý”Ý”ÝÔ ÝÔ ÝÔ#ÝÔ!ÝÔ"ðõ ÝÔ Ý”ÝÔ ÝÔ%ÝÔ&Ý”ÝÔ"Ý”ð	õ Ý”Ý”ðõ ÝÔ#ðõ Ý”
Ý”ððI(
ˆÔõR  Ô 2× 9Ò 9Ñ ;Ô ;Ð<ˆŒˆˆó    c                 óZ   •— t          t          | ¦  «                             ¦   «          | `d S r   )r   r   ÚtearDownr   r5   s    €r8   r;   zTestSysInfo.tearDown>   s(   ø€ Ý�k˜4Ñ Ô ×)Ò)Ñ+Ô+Ð+àˆIˆIˆIr9   c                 ó¬   — | j         D ]K}|                      |¬¦  «        5  |                      || j        ¦  «         d d d ¦  «         n# 1 swxY w Y   ŒLd S ©N)Úk)r4   ÚsubTestÚassertInr   )r6   r>   s     r8   Útest_has_safe_keyszTestSysInfo.test_has_safe_keysC   s�   € Ø”ð 	,ð 	,ˆAØ—’ �Ñ"Ô"ð ,ð ,Ø—’˜a ¤Ñ+Ô+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,øð	,ð 	,s    AÁA	ÁA	c                 óì   — | j                              ¦   «         D ]Y\  }}|D ]Q}|                      |¬¦  «        5  |                      | j        |         |¦  «         d d d ¦  «         n# 1 swxY w Y   ŒRŒZd S r=   )r2   Úitemsr?   ÚassertIsInstancer   ©r6   ÚtÚkeysr>   s       r8   Útest_safe_content_typez"TestSysInfo.test_safe_content_typeH   sÈ   € ØÔ)×/Ò/Ñ1Ô1ð 	;ð 	;‰GˆAˆtØð ;ð ;�Ø—\’\ A�\Ñ&Ô&ð ;ð ;Ø×)Ò)¨$¬)°A¬,¸Ñ:Ô:Ð:ð;ð ;ð ;ñ ;ô ;ð ;ð ;ð ;ð ;ð ;ð ;øøøð ;ð ;ð ;ð ;øð;ð	;ð 	;ó   ¹"A'Á'A+Á.A+c                 óZ   — |                       | j        t          j                 ¦  «         d S r   )ÚassertFalser   r   r,   ©r6   s    r8   Útest_has_no_errorzTestSysInfo.test_has_no_errorN   s%   € Ø×Ò˜œ¥3¤;Ô/Ñ0Ô0Ð0Ð0Ð0r9   c                 óê   — t          ¦   «         }t          |¦  «        5  t          j        i ¦  «        }d d d ¦  «         n# 1 swxY w Y   |                      |¦  «         |                     ¦   «          d S r   )r   r   r   Údisplay_sysinfoÚassertIsNoneÚclose)r6   ÚoutputÚress      r8   Útest_display_empty_infoz#TestSysInfo.test_display_empty_infoQ   s£   € Ý‘”ˆÝ˜VÑ$Ô$ð 	*ð 	*ÝÔ% bÑ)Ô)ˆCð	*ð 	*ð 	*ñ 	*ô 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*øøøð 	*ð 	*ð 	*ð 	*à×Ò˜#ÑÔÐØ�Š‰Œˆˆˆs   ž?¿AÁA)
Ú__name__Ú
__module__Ú__qualname__r   r;   rA   rH   rM   rT   Ú__classcell__©r7   s   @r8   r   r      sŽ   ø€ € € € € ð,=ð ,=ð ,=ð ,=ð ,=ð\ð ð ð ð ð
,ð ,ð ,ð
;ð ;ð ;ð1ð 1ð 1ðð ð ð ð ð ð r9   r   c                   óŒ   ‡ — e Zd ZdZdZddgZˆ fd„Zˆ fd„Zd„ Zd„ Z	 e
 ej        ¦   «         d	v d
¦  «        d„ ¦   «         Zˆ xZS )ÚTestSysInfoWithPsutili    i   é   é   c                 ó  •— t          t          | ¦  «                             ¦   «          t          j        | _        dt          _        t          ¦   «         t          _        t          j        j        j	        }| j
        |_        | j        |_        t          j        ¦   «         dv r(t          j        j        j	        }| j        |j        _	        nd t          j        j        _	        t          j        t          j        ¦   «         ¦  «        | _        d S )NT©ÚLinuxÚWindows)r   r[   r   r   Ú_psutil_importÚpsutil_orig_stater   ÚpsutilÚvirtual_memoryÚreturn_valueÚ	mem_totalÚtotalÚmem_availableÚ	availableÚplatformÚsystemÚProcessÚ	cpus_listÚcpu_affinityÚget_os_spec_infor   )r6   ÚvmÚprocr7   s      €r8   r   zTestSysInfoWithPsutil.setUp_   s¼   ø€ ÝÕ# TÑ*Ô*×0Ò0Ñ2Ô2Ð2Ý!$Ô!3ˆÔà!�ÔÝ$Ñ&Ô&�Œ
ÝŒZÔ&Ô3ˆØ”>ˆŒØÔ)ˆŒÝŒ?ÑÔÐ 5Ð5Ð5å”:Ô%Ô2ˆDØ-1¬^ˆDÔÔ*Ð*à.2�CŒJÔÔ+åÔ(­¬Ñ):Ô):Ñ;Ô;ˆŒ	ˆ	ˆ	r9   c                 óx   •— t          t          | ¦  «                             ¦   «          | j        t          _        d S r   )r   r[   r;   rc   r   rb   r5   s    €r8   r;   zTestSysInfoWithPsutil.tearDownq   s1   ø€ ÝÕ# TÑ*Ô*×3Ò3Ñ5Ô5Ð5Ø!Ô3�ÔÐÐr9   c                 óB  — t           j        t           j        f}|D ]ƒ}|                      |¬¦  «        5  |                      || j                             ¦   «         ¦  «         |                      | j        |         t          ¦  «         d d d ¦  «         n# 1 swxY w Y   Œ„d S r=   ©	r   Ú
_mem_totalÚ_mem_availabler?   r@   r   rG   rD   r   ©r6   rG   r>   s      r8   Útest_has_all_dataz'TestSysInfoWithPsutil.test_has_all_datau   óÐ   € Ý”¥Ô 2Ð3ˆØð 	9ð 	9ˆAØ—’ �Ñ"Ô"ð 9ð 9Ø—’˜a ¤§¢Ñ!1Ô!1Ñ2Ô2Ð2Ø×%Ò% d¤i°¤lµCÑ8Ô8Ð8ð9ð 9ð 9ñ 9ô 9ð 9ð 9ð 9ð 9ð 9ð 9øøøð 9ð 9ð 9ð 9øð	9ð 	9ó   ³ABÂB	ÂB	c                 óÆ   — |                       | j        t          j                 | j        ¦  «         |                       | j        t          j                 | j        ¦  «         d S r   )ÚassertEqualr   r   rv   rg   rw   ri   rL   s    r8   Útest_has_correct_valuesz-TestSysInfoWithPsutil.test_has_correct_values|   sL   € Ø×Ò˜œ¥3¤>Ô2°D´NÑCÔCÐCØ×Ò˜œ¥3Ô#5Ô6¸Ô8JÑKÔKÐKÐKÐKr9   r_   z5CPUs allowed info only available on Linux and Windowsc                 ó  — |                       | j        t          j                 t	          | j        ¦  «        ¦  «         |                       | j        t          j                 d                     d„ | j        D ¦   «         ¦  «        ¦  «         d S )Nú c              3   ó4   K  — | ]}t          |¦  «        V — Œd S r   )r   )Ú.0Úns     r8   ú	<genexpr>z7TestSysInfoWithPsutil.test_cpus_list.<locals>.<genexpr>…   s(   è è € Ð!AÐ!A¨Q¥# a¡&¤&Ð!AÐ!AÐ!AÐ!AÐ!AÐ!Ar9   )r}   r   r   Ú_cpus_allowedÚlenrn   Ú
_cpus_listÚjoinrL   s    r8   Útest_cpus_listz$TestSysInfoWithPsutil.test_cpus_list€   s€   € ð 	×Ò˜œ¥3Ô#4Ô5µs¸4¼>Ñ7JÔ7JÑKÔKÐKØ×Ò˜œ¥3¤>Ô2ØŸšÐ!AÐ!A°$´.Ð!AÑ!AÔ!AÑAÔAñ	Cô 	Cð 	Cð 	Cð 	Cr9   )rU   rV   rW   rg   ri   rn   r   r;   ry   r~   r   rk   rl   r‰   rX   rY   s   @r8   r[   r[   Y   sÏ   ø€ € € € € à€IØ€MØ�A�€Ið<ð <ð <ð <ð <ð$4ð 4ð 4ð 4ð 4ð9ð 9ð 9ðLð Lð Lð €Z��”Ñ!Ô!Ð%9Ð9ØGñIô IðCð CñIô IðCð Cð Cð Cð Cr9   r[   c                   ó.   ‡ — e Zd Zˆ fd„Zˆ fd„Zd„ Zˆ xZS )ÚTestSysInfoWithoutPsutilc                 óä   •— t          t          | ¦  «                             ¦   «          t          j        | _        dt          _        t          j        t          j        ¦   «         ¦  «        | _	        d S )NF)
r   r‹   r   r   rb   rc   rp   rk   rl   r   r5   s    €r8   r   zTestSysInfoWithoutPsutil.setUpŠ   sQ   ø€ ÝÕ&¨Ñ-Ô-×3Ò3Ñ5Ô5Ð5Ý!$Ô!3ˆÔØ"�ÔÝÔ(­¬Ñ):Ô):Ñ;Ô;ˆŒ	ˆ	ˆ	r9   c                 óx   •— t          t          | ¦  «                             ¦   «          | j        t          _        d S r   )r   r‹   r;   rc   r   rb   r5   s    €r8   r;   z!TestSysInfoWithoutPsutil.tearDown�   s1   ø€ ÝÕ&¨Ñ-Ô-×6Ò6Ñ8Ô8Ð8Ø!Ô3�ÔÐÐr9   c                 óB  — t           j        t           j        f}|D ]ƒ}|                      |¬¦  «        5  |                      || j                             ¦   «         ¦  «         |                      | j        |         t          ¦  «         d d d ¦  «         n# 1 swxY w Y   Œ„d S r=   ru   rx   s      r8   ry   z*TestSysInfoWithoutPsutil.test_has_all_data”   rz   r{   )rU   rV   rW   r   r;   ry   rX   rY   s   @r8   r‹   r‹   ˆ   s`   ø€ € € € € ð<ð <ð <ð <ð <ð4ð 4ð 4ð 4ð 4ð9ð 9ð 9ð 9ð 9ð 9ð 9r9   r‹   c                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )ÚTestPlatformSpecificInfoc                 ó>  — t           t          j        fit           t          j        fit           t          j        fidœ| _        t          j        ¦   «         | _        | j                             | j        i ¦  «        | _	        t          j
        | j        ¦  «        | _        d S )N)r`   ra   ÚDarwin)r   r   Ú_libc_versionÚ_os_spec_versionÚplat_spec_infork   rl   Úos_nameÚgetÚcontentsrp   r   rL   s    r8   r   zTestPlatformSpecificInfo.setUpž   sŒ   € õ •cÔ'Ð)ðõ •cÔ*Ð,ðõ •cÔ*Ð,ðð

ð 

ˆÔõ  ”Ñ(Ô(ˆŒØÔ+×/Ò/°´¸bÑAÔAˆŒÝÔ(¨¬Ñ6Ô6ˆŒ	ˆ	ˆ	r9   c                 ó  — t          | j                             ¦   «         Ž }|D ]]}|                      |¬¦  «        5  |                      || j                             ¦   «         ¦  «         d d d ¦  «         n# 1 swxY w Y   Œ^d S r=   )r   r˜   r3   r?   r@   r   rG   rx   s      r8   ry   z*TestPlatformSpecificInfo.test_has_all_data®   s½   € Ý�d”m×*Ò*Ñ,Ô,Ð-ˆØð 	3ð 	3ˆAØ—’ �Ñ"Ô"ð 3ð 3Ø—’˜a ¤§¢Ñ!1Ô!1Ñ2Ô2Ð2ð3ð 3ð 3ñ 3ô 3ð 3ð 3ð 3ð 3ð 3ð 3øøøð 3ð 3ð 3ð 3øð	3ð 	3s   ».A5Á5A9	Á<A9	c                 óì   — | j                              ¦   «         D ]Y\  }}|D ]Q}|                      |¬¦  «        5  |                      | j        |         |¦  «         d d d ¦  «         n# 1 swxY w Y   ŒRŒZd S r=   )r˜   rC   r?   rD   r   rE   s       r8   Útest_content_typez*TestPlatformSpecificInfo.test_content_type´   sÇ   € Ø”}×*Ò*Ñ,Ô,ð 	;ð 	;‰GˆAˆtØð ;ð ;�Ø—\’\ A�\Ñ&Ô&ð ;ð ;Ø×)Ò)¨$¬)°A¬,¸Ñ:Ô:Ð:ð;ð ;ð ;ñ ;ô ;ð ;ð ;ð ;ð ;ð ;ð ;øøøð ;ð ;ð ;ð ;øð;ð	;ð 	;rI   N)rU   rV   rW   r   ry   r›   © r9   r8   r�   r�   œ   sA   € € € € € ð7ð 7ð 7ð 3ð 3ð 3ð;ð ;ð ;ð ;ð ;r9   r�   Ú__main__)rk   Úunittestr   Úunittest.mockr   Ú	itertoolsr   r   Ú
contextlibr   Úior   Únumba.tests.supportr	   Únumba.misc.numba_sysinfoÚmiscÚnumba_sysinfor   r   r[   r‹   r�   rU   Úmainrœ   r9   r8   ú<module>r¨      s�  ðØ €€€Ø €€€Ø Ð Ð Ð Ð Ð Ø )Ð )Ð )Ð )Ð )Ð )Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø &Ð &Ð &Ð &Ð &Ð &Ø Ð Ð Ð Ð Ð à (Ð (Ð (Ð (Ð (Ð (Ø &Ð &Ð &Ð &Ð &Ð &Ð &Ð &Ð &ðHð Hð Hð Hð H�(ñ Hô Hð HðV,Cð ,Cð ,Cð ,Cð ,C˜Hñ ,Cô ,Cð ,Cð^9ð 9ð 9ð 9ð 9˜xñ 9ô 9ð 9ð(;ð ;ð ;ð ;ð ;˜xñ ;ô ;ð ;ð> ˆzÒÐØ€H„M�O„O€O€O€Oð Ðr9   