§
    ƒÛg  ã                   ó  — 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                 ó|  •— 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        t          j        f	t>          t          j         t          j!        ftD          t          j#        ftH          t          j%        t          j&        fi| _'        tQ          | 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Ú_numpy_AVX512_SKX_detectedÚlistÚ_errorsÚ	_warningsÚdictÚ_numba_env_varsr   Ú_startÚ
_start_utcÚsafe_contentsr   ÚvaluesÚ	safe_keys©ÚselfÚ	__class__s    €úN/granary/edev/quantum/lib/python3.11/site-packages/numba/tests/test_sysinfo.pyr   zTestSysInfo.setUp   s.  ø€ Ý�k˜4Ñ Ô ×&Ò&Ñ(Ô(Ð(Ý”OÑ%Ô%ˆŒ	åÝ”ðõ Ý”ðõ Ý”Ý”ÝÔ"Ý”Ý”ÝÔ ÝÔ ÝÔ#ÝÔ!ÝÔ"ðõ ÝÔ Ý”ÝÔ ÝÔ%ÝÔ&Ý”ÝÔ"Ý”ÝÔ.ð
õ Ý”Ý”ðõ ÝÔ#ðõ Ý”
Ý”ððK)
ˆÔõT  Ô 2× 9Ò 9Ñ ;Ô ;Ð<ˆŒˆˆó    c                 óZ   •— t          t          | ¦  «                             ¦   «          | `d S r   )r   r   ÚtearDownr   r6   s    €r9   r<   zTestSysInfo.tearDown?   s(   ø€ Ý�k˜4Ñ Ô ×)Ò)Ñ+Ô+Ð+àˆIˆIˆIr:   c                 ó¬   — | j         D ]K}|                      |¬¦  «        5  |                      || j        ¦  «         d d d ¦  «         n# 1 swxY w Y   ŒLd S ©N)Úk)r5   ÚsubTestÚassertInr   )r7   r?   s     r9   Útest_has_safe_keyszTestSysInfo.test_has_safe_keysD   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>   )r3   Úitemsr@   ÚassertIsInstancer   ©r7   ÚtÚkeysr?   s       r9   Útest_safe_content_typez"TestSysInfo.test_safe_content_typeI   sÈ   € ØÔ)×/Ò/Ñ1Ô1ð 	;ð 	;‰GˆAˆtØð ;ð ;�Ø—\’\ A�\Ñ&Ô&ð ;ð ;Ø×)Ò)¨$¬)°A¬,¸Ñ:Ô:Ð:ð;ð ;ð ;ñ ;ô ;ð ;ð ;ð ;ð ;ð ;ð ;øøøð ;ð ;ð ;ð ;øð;ð	;ð 	;ó   ¹"A'Á'A+Á.A+c                 óZ   — |                       | j        t          j                 ¦  «         d S r   )ÚassertFalser   r   r-   ©r7   s    r9   Útest_has_no_errorzTestSysInfo.test_has_no_errorO   s%   € Ø×Ò˜œ¥3¤;Ô/Ñ0Ô0Ð0Ð0Ð0r:   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)r7   ÚoutputÚress      r9   Útest_display_empty_infoz#TestSysInfo.test_display_empty_infoR   s£   € Ý‘”ˆÝ˜VÑ$Ô$ð 	*ð 	*ÝÔ% bÑ)Ô)ˆCð	*ð 	*ð 	*ñ 	*ô 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*øøøð 	*ð 	*ð 	*ð 	*à×Ò˜#ÑÔÐØ�Š‰Œˆˆˆs   ž?¿AÁA)
Ú__name__Ú
__module__Ú__qualname__r   r<   rB   rI   rN   rU   Ú__classcell__©r8   s   @r9   r   r      sŽ   ø€ € € € € ð-=ð -=ð -=ð -=ð -=ð^ð ð ð ð ð
,ð ,ð ,ð
;ð ;ð ;ð1ð 1ð 1ðð ð ð ð ð ð r:   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   )r7   ÚvmÚprocr8   s      €r9   r   zTestSysInfoWithPsutil.setUp`   s¼   ø€ ÝÕ# TÑ*Ô*×0Ò0Ñ2Ô2Ð2Ý!$Ô!3ˆÔà!�ÔÝ$Ñ&Ô&�Œ
ÝŒZÔ&Ô3ˆØ”>ˆŒØÔ)ˆŒÝŒ?ÑÔÐ 5Ð5Ð5å”:Ô%Ô2ˆDØ-1¬^ˆDÔÔ*Ð*à.2�CŒJÔÔ+åÔ(­¬Ñ):Ô):Ñ;Ô;ˆŒ	ˆ	ˆ	r:   c                 óx   •— t          t          | ¦  «                             ¦   «          | j        t          _        d S r   )r   r\   r<   rd   r   rc   r6   s    €r9   r<   zTestSysInfoWithPsutil.tearDownr   s1   ø€ ÝÕ# TÑ*Ô*×3Ò3Ñ5Ô5Ð5Ø!Ô3�ÔÐÐr:   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@   rA   r   rH   rE   r   ©r7   rH   r?   s      r9   Útest_has_all_dataz'TestSysInfoWithPsutil.test_has_all_datav   óÐ   € Ý”¥Ô 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   rw   rh   rx   rj   rM   s    r9   Ú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ÐKr:   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     r9   ú	<genexpr>z7TestSysInfoWithPsutil.test_cpus_list.<locals>.<genexpr>†   s(   è è € Ð!AÐ!A¨Q¥# a¡&¤&Ð!AÐ!AÐ!AÐ!AÐ!AÐ!Ar:   )r~   r   r   Ú_cpus_allowedÚlenro   Ú
_cpus_listÚjoinrM   s    r9   Ú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r:   )rV   rW   rX   rh   rj   ro   r   r<   rz   r   r   rl   rm   rŠ   rY   rZ   s   @r9   r\   r\   Z   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r:   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   rc   rd   rq   rl   rm   r   r6   s    €r9   r   zTestSysInfoWithoutPsutil.setUp‹   sQ   ø€ ÝÕ&¨Ñ-Ô-×3Ò3Ñ5Ô5Ð5Ý!$Ô!3ˆÔØ"�ÔÝÔ(­¬Ñ):Ô):Ñ;Ô;ˆŒ	ˆ	ˆ	r:   c                 óx   •— t          t          | ¦  «                             ¦   «          | j        t          _        d S r   )r   rŒ   r<   rd   r   rc   r6   s    €r9   r<   z!TestSysInfoWithoutPsutil.tearDown‘   s1   ø€ ÝÕ&¨Ñ-Ô-×6Ò6Ñ8Ô8Ð8Ø!Ô3�ÔÐÐr:   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>   rv   ry   s      r9   rz   z*TestSysInfoWithoutPsutil.test_has_all_data•   r{   r|   )rV   rW   rX   r   r<   rz   rY   rZ   s   @r9   rŒ   rŒ   ‰   s`   ø€ € € € € ð<ð <ð <ð <ð <ð4ð 4ð 4ð 4ð 4ð9ð 9ð 9ð 9ð 9ð 9ð 9r:   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)ra   rb   ÚDarwin)r   r   Ú_libc_versionÚ_os_spec_versionÚplat_spec_inforl   rm   Úos_nameÚgetÚcontentsrq   r   rM   s    r9   r   zTestPlatformSpecificInfo.setUpŸ   sŒ   € õ •cÔ'Ð)ðõ •cÔ*Ð,ðõ •cÔ*Ð,ðð

ð 

ˆÔõ  ”Ñ(Ô(ˆŒØÔ+×/Ò/°´¸bÑAÔAˆŒÝÔ(¨¬Ñ6Ô6ˆŒ	ˆ	ˆ	r:   c                 ó  — t          | j                             ¦   «         Ž }|D ]]}|                      |¬¦  «        5  |                      || j                             ¦   «         ¦  «         d d d ¦  «         n# 1 swxY w Y   Œ^d S r>   )r   r™   r4   r@   rA   r   rH   ry   s      r9   rz   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™   rD   r@   rE   r   rF   s       r9   Útest_content_typez*TestPlatformSpecificInfo.test_content_typeµ   sÇ   € Ø”}×*Ò*Ñ,Ô,ð 	;ð 	;‰GˆAˆtØð ;ð ;�Ø—\’\ A�\Ñ&Ô&ð ;ð ;Ø×)Ò)¨$¬)°A¬,¸Ñ:Ô:Ð:ð;ð ;ð ;ñ ;ô ;ð ;ð ;ð ;ð ;ð ;ð ;øøøð ;ð ;ð ;ð ;øð;ð	;ð 	;rJ   N)rV   rW   rX   r   rz   rœ   © r:   r9   r‘   r‘   �   sA   € € € € € ð7ð 7ð 7ð 3ð 3ð 3ð;ð ;ð ;ð ;ð ;r:   r‘   Ú__main__)rl   Úunittestr   Úunittest.mockr   Ú	itertoolsr   r   Ú
contextlibr   Úior   Únumba.tests.supportr	   Únumba.misc.numba_sysinfoÚmiscÚnumba_sysinfor   r   r\   rŒ   r‘   rV   Úmainr�   r:   r9   ú<module>r©      s�  ðØ €€€Ø €€€Ø Ð Ð Ð Ð Ð Ø )Ð )Ð )Ð )Ð )Ð )Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø &Ð &Ð &Ð &Ð &Ð &Ø Ð Ð Ð Ð Ð à (Ð (Ð (Ð (Ð (Ð (Ø &Ð &Ð &Ð &Ð &Ð &Ð &Ð &Ð &ðIð Ið Ið Ið I�(ñ Iô Ið IðX,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ð Ðr:   