Ë
    èÿæi  ã                   ó   — 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.                  «        yy)é    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        j0                  t        j2                  t        j4                  t        j6                  t        j8                  t        j:                  t        j<                  f	t>        t        j@                  t        jB                  ftD        t        jF                  ftH        t        jJ                  t        jL                  fi| _'        tQ        | jN                  jS                  «       Ž | _*        y ©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    €úm/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/numba/tests/test_sysinfo.pyr   zTestSysInfo.setUp   s[  ø€ ÜŒk˜4Ñ&Ô(Ü—O‘OÓ%ˆŒ	äÜ—‘ðô Ü—‘ðô Ü—‘Ü—‘Ü×"Ñ"Ü—‘Ü—‘Ü× Ñ Ü× Ñ Ü×#Ñ#Ü×!Ñ!Ü×"Ñ"ðô Ü× Ñ Ü—‘Ü× Ñ Ü×%Ñ%Ü×&Ñ&Ü—‘Ü×"Ñ"Ü—‘Ü×.Ñ.ð
ô Ü—‘Ü—‘ðô Ü×#Ñ#ðô Ü—
‘
Ü—‘ððK)
ˆÔôT  × 2Ñ 2× 9Ñ 9Ó ;Ð<ˆ�ó    c                 ó.   •— t         t        | �  «        | `y r   )r   r   ÚtearDownr   r6   s    €r9   r<   zTestSysInfo.tearDown?   s   ø€ ÜŒk˜4Ñ)Ô+à‰Ir:   c                 ó¬   — | j                   D ]9  }| j                  |¬«      5  | j                  || j                  «       d d d «       Œ; y # 1 sw Y   ŒFxY w©N)Úk)r5   ÚsubTestÚassertInr   )r7   r?   s     r9   Útest_has_safe_keyszTestSysInfo.test_has_safe_keysD   s?   € Ø—”ˆAØ—‘ �Õ"Ø—‘˜a §¡Ô+÷ #Ð"ñ  ß"Ð"ús   ¢A
Á
A	c                 óâ   — | j                   j                  «       D ]F  \  }}|D ]<  }| j                  |¬«      5  | j                  | j                  |   |«       d d d «       Œ> ŒH y # 1 sw Y   ŒKxY wr>   )r3   Úitemsr@   ÚassertIsInstancer   ©r7   ÚtÚkeysr?   s       r9   Útest_safe_content_typez"TestSysInfo.test_safe_content_typeI   s^   € Ø×)Ñ)×/Ñ/Ö1‰GˆAˆtÛ�Ø—\‘\ A�\Õ&Ø×)Ñ)¨$¯)©)°A©,¸Ô:÷ 'Ð&ñ ñ 2ç&Ð&úó   ¸ A%Á%A.c                 ó\   — | j                  | j                  t        j                     «       y r   )ÚassertFalser   r   r-   ©r7   s    r9   Útest_has_no_errorzTestSysInfo.test_has_no_errorO   s   € Ø×Ñ˜Ÿ™¤3§;¡;Ñ/Õ0r:   c                 óÄ   — t        «       }t        |«      5  t        j                  i «      }d d d «       | j	                  «       |j                  «        y # 1 sw Y   Œ+xY wr   )r   r   r   Údisplay_sysinfoÚassertIsNoneÚclose)r7   ÚoutputÚress      r9   Útest_display_empty_infoz#TestSysInfo.test_display_empty_infoR   sF   € Ü“ˆÜ˜VÕ$Ü×%Ñ% bÓ)ˆC÷ %à×Ñ˜#ÔØ�‰�÷ %Ð$ús   –AÁA)
Ú__name__Ú
__module__Ú__qualname__r   r<   rB   rI   rN   rU   Ú__classcell__©r8   s   @r9   r   r      s"   ø„ ô-=ô^ò
,ò
;ò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                  «       «      | _        y )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Ô2Ü!$×!3Ñ!3ˆÔà!ŒÔÜ$Ó&ŒŒ
Ü�Z‰Z×&Ñ&×3Ñ3ˆØ—>‘>ˆŒØ×)Ñ)ˆŒÜ�?‰?ÓÐ 5Ñ5ä—:‘:×%Ñ%×2Ñ2ˆDØ-1¯^©^ˆD×ÑÕ*à.2ŒC�J‰J×ÑÔ+ä×(Ñ(¬¯©Ó):Ó;ˆ�	r:   c                 óT   •— t         t        | �  «        | j                  t        _        y r   )r   r\   r<   rd   r   rc   r6   s    €r9   r<   zTestSysInfoWithPsutil.tearDownr   s   ø€ ÜÔ# TÑ3Ô5Ø!×3Ñ3ŒÕr:   c                 ó:  — t         j                  t         j                  f}|D ]j  }| j                  |¬«      5  | j	                  || j
                  j                  «       «       | j                  | j
                  |   t        «       d d d «       Œl y # 1 sw Y   ŒwxY w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   ón   € Ü—‘¤× 2Ñ 2Ð3ˆÛˆAØ—‘ �Õ"Ø—‘˜a §¡§¡Ó!1Ô2Ø×%Ñ% d§i¡i°¡l´CÔ8÷ #Ð"ñ ß"Ð"úó   ¸ABÂB	c                 óà   — | j                  | j                  t        j                     | j                  «       | j                  | j                  t        j
                     | j                  «       y r   )ÚassertEqualr   r   rw   rh   rx   rj   rM   s    r9   Útest_has_correct_valuesz-TestSysInfoWithPsutil.test_has_correct_values}   sH   € Ø×Ñ˜Ÿ™¤3§>¡>Ñ2°D·N±NÔCØ×Ñ˜Ÿ™¤3×#5Ñ#5Ñ6¸×8JÑ8JÕKr:   r`   z5CPUs allowed info only available on Linux and Windowsc                 ó  — | j                  | j                  t        j                     t	        | j
                  «      «       | j                  | j                  t        j                     dj                  d„ | j
                  D «       «      «       y )NÚ c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wr   )r   )Ú.0Úns     r9   Ú	<genexpr>z7TestSysInfoWithPsutil.test_cpus_list.<locals>.<genexpr>†   s   è ø€ Ð!A±.¨Q¤# a§&±.ùs   ‚)r~   r   r   Ú_cpus_allowedÚlenro   Ú
_cpus_listÚjoinrM   s    r9   Útest_cpus_listz$TestSysInfoWithPsutil.test_cpus_list�   s`   € ð 	×Ñ˜Ÿ™¤3×#4Ñ#4Ñ5´s¸4¿>¹>Ó7JÔKØ×Ñ˜Ÿ™¤3§>¡>Ñ2ØŸ™Ñ!A°$·.².Ó!AÓAõ	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ò9òLñ ��—‘Ó!Ð%9Ð9ØGóIñCóIô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                  «       «      | _	        y )NF)
r   rŒ   r   r   rc   rd   rq   rl   rm   r   r6   s    €r9   r   zTestSysInfoWithoutPsutil.setUp‹   s@   ø€ ÜÔ&¨Ñ3Ô5Ü!$×!3Ñ!3ˆÔØ"ŒÔÜ×(Ñ(¬¯©Ó):Ó;ˆ�	r:   c                 óT   •— t         t        | �  «        | j                  t        _        y r   )r   rŒ   r<   rd   r   rc   r6   s    €r9   r<   z!TestSysInfoWithoutPsutil.tearDown‘   s   ø€ ÜÔ&¨Ñ6Ô8Ø!×3Ñ3ŒÕr:   c                 ó:  — t         j                  t         j                  f}|D ]j  }| j                  |¬«      5  | j	                  || j
                  j                  «       «       | j                  | j
                  |   t        «       d d d «       Œl y # 1 sw Y   ŒwxY w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ö9r:   rŒ   c                   ó   — e Zd Zd„ Zd„ Zd„ Zy)ÚTestPlatformSpecificInfoc                 óh  — t         t        j                  fit         t        j                  fit         t        j                  fidœ| _        t        j                  «       | _        | j                  j                  | j                  i «      | _	        t        j                  | j                  «      | _        y )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ˆŒÜ×(Ñ(¨¯©Ó6ˆ�	r:   c                 óô   — t        | j                  j                  «       Ž }|D ]G  }| j                  |¬«      5  | j	                  || j
                  j                  «       «       d d d «       ŒI y # 1 sw Y   ŒTxY wr>   )r   r™   r4   r@   rA   r   rH   ry   s      r9   rz   z*TestPlatformSpecificInfo.test_has_all_data¯   sY   € Ü�d—m‘m×*Ñ*Ó,Ð-ˆÛˆAØ—‘ �Õ"Ø—‘˜a §¡§¡Ó!1Ô2÷ #Ð"ñ ß"Ð"ús   ¸+A.Á.A7	c                 óâ   — | j                   j                  «       D ]F  \  }}|D ]<  }| j                  |¬«      5  | j                  | j                  |   |«       d d d «       Œ> ŒH y # 1 sw Y   ŒKxY w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‘   �   s   „ ò7ò 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©      sv   ðÛ Û Ý Ý )Ý Ý Ý &Ý å (ß &Ð &ôI�(ô IôX,C˜Hô ,Cô^9˜xô 9ô(;˜xô ;ð> ˆzÒØ€H‡M�M…Oð r:   