ó
    „ñ:i­(  ã                   ó<  • S SK r S SKrS SKrS SKrS SKrS SKJr  S SKJr  S SKJ	r	  S SKrS SK
JrJr  S SKJs  Jr  S SKJr  S SKJr  S SKJr  \ R,                  S	4S
 jr " S S\5      r " S S\5      r\ " S S\5      5       r\S:X  a  \R8                  " 5         gg)é    N©ÚCompletedProcess)ÚTemporaryDirectory)Úmock)ÚTestCaseÚ
linux_only)Ú	needs_gdb)Úcollect_gdbinfo)Ú_GDBTestWrapperé<   c                 óð  • [         R                  " U [         R                  [         R                  US9n[        R                  " X#R
                  5      n UR                  5         UR                  5       u  pVUR                  S:w  a,  [        SUR                  < SUR                  5       < S35      eUR                  5       UR                  5       4UR                  5         $ ! UR                  5         f = f)N)ÚstdoutÚstderrÚenvr   zprocess failed with code z: stderr follows
Ú
)Ú
subprocessÚPopenÚPIPEÚ	threadingÚTimerÚkillÚstartÚcommunicateÚ
returncodeÚAssertionErrorÚdecodeÚcancel)Úcmdliner   ÚtimeoutÚpopenÚtimeout_timerÚoutÚerrs          ÚW/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/numba/tests/test_cli.pyÚrun_cmdr%      sº   € Ü×Ò˜WÜ$.§O¡OÜ$.§O¡OØ!$ñ&€Eô
 —O’O G¯Z©ZÓ8€Mð	Ø×ÑÔØ×$Ñ$Ó&‰ˆØ×Ñ˜qÓ Ý à×!Ô! 3§:¡:¦<ð1ó2ð 2ð �z‰z‹|˜SŸZ™Z›\Ð)à×ÑÕøˆ×ÑÕús   ÁA=C# Ã#C5c                   ó6   • \ rS rSrS rS rS r\S 5       rSr	g)ÚTestCLIé)   c                 óè   • [         R                  SS/nU R                  [        5       n[	        U5        S S S 5        U R                  S[        WR                  5      5        g ! , (       d  f       N4= f)Nú-mÚnumbazprocess failed with code 1)ÚsysÚ
executableÚassertRaisesr   r%   ÚassertInÚstrÚ	exception)Úselfr   Úraisess      r$   Útest_as_module_exit_codeÚ TestCLI.test_as_module_exit_code+   sT   € Ü—>‘> 4¨Ð1ˆØ×Ñœ~Ô.°&Ü�GÔ÷ /ð 	�‰Ð2´C¸×8HÑ8HÓ4IÕJ÷ /Õ.ús   ©A#Á#
A1c                 ój   • [         R                  SSS/n[        U5      u  p#U R                  SU5        g )Nr*   r+   z-szSystem info©r,   r-   r%   r/   ©r2   r   ÚoÚ_s       r$   Útest_sysinfo_from_moduleÚ TestCLI.test_sysinfo_from_module2   s.   € Ü—>‘> 4¨°$Ð7ˆÜ�wÓ‰ˆØ�‰�m QÕ'ó    c                 ó.  • [        5        n[        R                  R                  US5      n[        R
                  SSSU/n[        U5        U R                  U S3S9   U R                  [        R                  R                  U5      5        S S S 5        U R                  SS9   [        US5       n[        R                  " U5      nS S S 5        S S S 5        [        [        R                  4[         [        R"                  4[$        [        R&                  [        R(                  [        R*                  [        R,                  [        R.                  [        R0                  [        R2                  [        R4                  [        R6                  [        R8                  [        R:                  4[<        [        R>                  [        R@                  [        RB                  [        RD                  [        RF                  [        RH                  [        RJ                  [        RL                  4[N        [        RP                  [        RR                  4[T        [        RV                  40nURY                  5        H;  u  pxU H0  n	U R                  U	S	9   U R[                  WU	   U5        S S S 5        M2     M=     S S S 5        g ! , (       d  f       GN8= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       M†  = f! , (       d  f       g = f)
Nztest_json_sysinfo.jsonr*   r+   z
--sys-jsonz exists)Úmsgz	json loadÚr)Úk).r   ÚosÚpathÚjoinr,   r-   r%   ÚsubTestÚ
assertTrueÚexistsÚopenÚjsonÚloadÚintÚnsiÚ
_cpu_countÚfloatÚ_runtimer0   Ú_startÚ
_start_utcÚ_machineÚ	_cpu_nameÚ_platform_nameÚ_os_nameÚ_os_versionÚ_python_compÚ_python_implÚ_python_versionÚ_llvm_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_varsÚitemsÚassertIsInstance)
r2   ÚdrC   r   ÚfÚinfoÚsafe_contentsÚtÚkeysrA   s
             r$   Útest_json_sysinfo_from_moduleÚ%TestCLI.test_json_sysinfo_from_module7   s#  € ÜÔ! QÜ—7‘7—<‘< Ð#;Ó<ˆDÜ—~‘~ t¨W°lÀDÐIˆGÜ�GÔØ—‘ T F¨'Ð"2�Ò3Ø—‘¤§¡§¡¨tÓ 4Ô5÷ 4à—‘ +�Ò.Ü˜$ ”_¨ÜŸ9š9 Q›<�D÷ %÷ /ô Ü—N‘Nðô Ü—L‘Lðô Ü—J‘JÜ—N‘NÜ—L‘LÜ—M‘MÜ×&Ñ&Ü—L‘LÜ—O‘OÜ×$Ñ$Ü×$Ñ$Ü×'Ñ'Ü×%Ñ%ðô Ü×$Ñ$Ü—O‘OÜ×$Ñ$Ü×)Ñ)Ü×*Ñ*Ü—O‘OÜ×&Ñ&Ü—O‘Oð	ô Ü—K‘KÜ—M‘Mðô Ü×'Ñ'ððE%ˆMðL )×.Ñ.Ö0‘�Û�AØŸ™¨˜Ò*Ø×-Ñ-¨d°1©g°qÔ9÷ +Ñ*ó ñ 1÷_ "Ð!÷ 4Ö3ú÷ %–_ú÷ /Ö.ú÷V +Ö*ú÷c "Õ!úsm   ‹ALÁ/J>ÂLÂ$K"Â1KÃK"ÃF?LÊK4	Ê%LÊ>
K	ËLË
KËK"Ë"
K1	Ë,LË4
LË>LÌ
Lc                 óŽ   • [         R                  SSS/n[        U5      u  p#U R                  SU5        U R                  SU5        g )Nr*   r+   ú-gzGDB infoz Numba printing extension supportr7   r8   s       r$   Útest_gdb_status_from_moduleÚ#TestCLI.test_gdb_status_from_modulel   sA   € ô —>‘> 4¨°$Ð7ˆÜ�wÓ‰ˆØ�‰�j !Ô$ð 	�‰Ð8¸!Õ<r=   © N)
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r4   r;   rq   r	   ru   Ú__static_attributes__rw   r=   r$   r'   r'   )   s'   † òKò(ò
3:ðj ñ=ó ó=r=   r'   c                   óJ   • \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rSrg)ÚTestGDBCLIInfoéw   c                 ó¬  ^ • / T l         S nT R                   R                  [        R                  R	                  [
        SU5      5        SnT R                   R                  [        R                  " US5      5        U 4S jnS nU" SU5        S nU" S	U5        S
 nU" SU5        S nU" SU5        T R                    H  nUR                  5         M     g )Nc                 ó   • g ©Nrw   ©r2   s    r$   Ú<lambda>Ú&TestGDBCLIInfo.setUp.<locals>.<lambda>   s   €  r=   Ú__init__z3numba.misc.numba_gdbinfo._GDBTestWrapper.gdb_binaryÚPATH_TO_GDBc                 ó‚   >• TR                   R                  [        R                  R	                  [
        U U5      5        g r‚   )Ú_patchesÚappendr   ÚpatchÚobjectr   )ÚfnstrÚfuncr2   s     €r$   Ú_patchÚ$TestGDBCLIInfo.setUp.<locals>._patch†   s-   ø€ Ø�M‰M× Ñ ¤§¡×!2Ñ!2´?ÀEØ37ó"9õ :r=   c                 ó   • [        SS5      $ )NúCOMMAND STRINGr   r   rƒ   s    r$   Úmock_check_launchÚ/TestGDBCLIInfo.setUp.<locals>.mock_check_launchŠ   ó   € Ü#Ð$4°aÓ8Ð8r=   Úcheck_launchc                 ó   • [        SSSSS9$ )Nr’   r   z(3, 2)Ú ©r   r   r   rƒ   s    r$   Úmock_check_pythonÚ/TestGDBCLIInfo.setUp.<locals>.mock_check_python�   s   € Ü#Ð$4°aØ+3Ø+-ñ/ð /r=   Úcheck_pythonc                 ó   • [        SSSSS9$ )Nr’   r   ÚTruer˜   r™   r   rƒ   s    r$   Úmock_check_numpyÚ.TestGDBCLIInfo.setUp.<locals>.mock_check_numpy—   ó   € Ü#Ð$4°aÀØ+-ñ/ð /r=   Úcheck_numpyc                 ó   • [        SSSSS9$ )Nr’   r   ú1.15r˜   r™   r   rƒ   s    r$   Úmock_check_numpy_versionÚ6TestGDBCLIInfo.setUp.<locals>.mock_check_numpy_version�   r¡   r=   Úcheck_numpy_version)r‰   rŠ   r   r‹   rŒ   r   r   )	r2   Ú	mock_initÚbpathr�   r“   rš   rŸ   r¥   Úps	   `        r$   ÚsetUpÚTestGDBCLIInfo.setUpy   sÇ   ø€ ð ˆŒá%ˆ	Ø�‰×ÑœTŸZ™Z×.Ñ.¬À
Ø/8ó:ô 	;ð FˆØ�‰×ÑœTŸZšZ¨¨}Ó=Ô>õ	:ò	9ñ 	ˆ~Ð0Ô1ò	/ñ
 	ˆ~Ð0Ô1ò	/ñ 	ˆ}Ð.Ô/ò	/ñ 	Ð$Ð&>Ô?ð —”ˆAØ�G‰GŽIò r=   c                 óJ   • U R                    H  nUR                  5         M     g r‚   )r‰   Ústop)r2   rª   s     r$   ÚtearDownÚTestGDBCLIInfo.tearDown§   s   € à—”ˆAØ�F‰FŽHò r=   c                 ó¦  • [        5       nU R                  UR                  S5        [        R                  R                  [        R                  R                  UR                  5      5      nU R                  U5        U R                  UR                  S5        U R                  UR                  S5        U R                  SUR                  5        g )Nr‡   ú3.2r¤   ÚFull)r
   ÚassertEqualÚ
binary_locrB   rC   rG   ÚabspathÚextension_locrF   Úpy_verÚnp_verr/   Ú	supported)r2   Ú	collectedÚextps      r$   Ú
test_validÚTestGDBCLIInfo.test_valid¬   s‘   € Ü#Ó%ˆ	Ø×Ñ˜×-Ñ-¨}Ô=Ü�w‰w�~‰~œbŸg™gŸo™o¨i×.EÑ.EÓFÓGˆØ�‰˜ÔØ×Ñ˜×)Ñ)¨5Ô1Ø×Ñ˜×)Ñ)¨6Ô2Ø�‰�f˜i×1Ñ1Õ2r=   c                 ó  • S n[         R                  R                  [        SU5         [	        5       nU R                  SUR                  5        U R                  SUR                  5        S S S 5        g ! , (       d  f       g = f)Nc                 ó   • [        SS5      $ )NÚINVALID_BINARYé   r   rƒ   s    r$   Úmock_fnÚ3TestGDBCLIInfo.test_invalid_binary.<locals>.mock_fn·   r•   r=   r–   zTesting gdb binary failed.z,gdb at 'PATH_TO_GDB' does not appear to work)r   r‹   rŒ   r   r
   r/   rµ   )r2   rÃ   rm   s      r$   Útest_invalid_binaryÚ"TestGDBCLIInfo.test_invalid_binaryµ   s]   € ò	9ô �Z‰Z×Ñœ°ÀÕHÜ"Ó$ˆDØ�M‰MÐ6¸¿¹ÔHØ�M‰MÐHØŸ/™/ô+÷ I×HÖHúó   ©AA5Á5
Bc                 ó  • S n[         R                  R                  [        SU5         [	        5       nU R                  UR                  S5        U R                  UR                  S5        S S S 5        g ! , (       d  f       g = f)Nc                 ó   • [        SS5      $ )Nú	NO PYTHONrÂ   r   rƒ   s    r$   rÃ   Ú.TestGDBCLIInfo.test_no_python.<locals>.mock_fnÁ   s   € Ü# K°Ó3Ð3r=   rœ   úNo Python supportÚNone)r   r‹   rŒ   r   r
   r´   r¸   rº   ©r2   rÃ   r»   s      r$   Útest_no_pythonÚTestGDBCLIInfo.test_no_pythonÀ   sa   € ò	4ô �Z‰Z×Ñœ°ÀÕHÜ'Ó)ˆIØ×Ñ˜Y×-Ñ-Ð/BÔCØ×Ñ˜Y×0Ñ0°&Ô9÷ I×HÖHúrÇ   c                 óÔ   • S n[         R                  R                  [        SU5         [	        5       nU R                  UR                  S5        S S S 5        g ! , (       d  f       g = f)Nc                 ó   • [        SSSS9$ )NrÊ   r   ú(NOT A VERSION))r   r   rƒ   s    r$   rÃ   Ú>TestGDBCLIInfo.test_unparsable_python_version.<locals>.mock_fnÊ   s   € Ü# K°Ð;LÑMÐMr=   rœ   rÌ   )r   r‹   rŒ   r   r
   r´   r¸   rÎ   s      r$   Útest_unparsable_python_versionÚ-TestGDBCLIInfo.test_unparsable_python_versionÉ   sL   € ò	Nô �Z‰Z×Ñœ°ÀÕHÜ'Ó)ˆIØ×Ñ˜Y×-Ñ-Ð/BÔC÷ I×HÖHúó   ©'AÁ
A'c                 óD  • S n[         R                  R                  [        SU5         [	        5       nU R                  UR                  S5        U R                  UR                  S5        U R                  SUR                  5        S S S 5        g ! , (       d  f       g = f)Nc                 ó   • [        SS5      $ )NzNO NUMPYrÂ   r   rƒ   s    r$   rÃ   Ú-TestGDBCLIInfo.test_no_numpy.<locals>.mock_fnÒ   s   € Ü# J°Ó2Ð2r=   r¢   zNo NumPy supportr²   ÚPartial)
r   r‹   rŒ   r   r
   r´   r¹   r¸   r/   rº   rÎ   s      r$   Útest_no_numpyÚTestGDBCLIInfo.test_no_numpyÑ   su   € ò	3ô �Z‰Z×Ñœ°¸wÕGÜ'Ó)ˆIØ×Ñ˜Y×-Ñ-Ð/AÔBØ×Ñ˜Y×-Ñ-¨uÔ5Ø�M‰M˜) Y×%8Ñ%8Ô9÷	 H×GÖGús   ©ABÂ
Bc                 óÔ   • S n[         R                  R                  [        SU5         [	        5       nU R                  UR                  S5        S S S 5        g ! , (       d  f       g = f)Nc                 ó   • [        SS5      $ )NúNO NUMPY VERSIONrÂ   r   rƒ   s    r$   rÃ   Ú5TestGDBCLIInfo.test_no_numpy_version.<locals>.mock_fnÜ   s   € Ü#Ð$6¸Ó:Ð:r=   r§   ÚUnknown©r   r‹   rŒ   r   r
   r´   r¹   rÎ   s      r$   Útest_no_numpy_versionÚ$TestGDBCLIInfo.test_no_numpy_versionÛ   sK   € ò	;ô �Z‰Z×ÑœÐ0EÀwÕOÜ'Ó)ˆIØ×Ñ˜Y×-Ñ-¨yÔ9÷ P×OÖOúr×   c                 óÔ   • S n[         R                  R                  [        SU5         [	        5       nU R                  UR                  S5        S S S 5        g ! , (       d  f       g = f)Nc                 ó   • [        SSSSS9$ )Nrà   r   rÓ   Ú	Tracebackr™   r   rƒ   s    r$   rÃ   Ú?TestGDBCLIInfo.test_traceback_in_numpy_version.<locals>.mock_fnä   s   € Ü#Ð$6¸Ø+<Ø+6ñ8ð 8r=   r§   râ   rã   rÎ   s      r$   Útest_traceback_in_numpy_versionÚ.TestGDBCLIInfo.test_traceback_in_numpy_versionã   sK   € ò	8ô
 �Z‰Z×ÑœÐ0EÀwÕOÜ'Ó)ˆIØ×Ñ˜Y×-Ñ-¨yÔ9÷ P×OÖOúr×   )r‰   N)rx   ry   rz   r{   r«   r¯   r½   rÅ   rÏ   rÕ   rÜ   rä   rê   r|   rw   r=   r$   r~   r~   w   s1   † ò,ò\ò
3ò	+ò:òDò:ò:õ:r=   r~   c                   ó&   • \ rS rSrS rS rS rSrg)ÚTestGDBCLIInfoBrokenGdbséî   c                 óô   • [         R                  R                  5       nSUS'   [        R                  SSS/n[        X!S9u  p4U R                  SU5        U R                  SU5        U R                  S	U5        g )
NÚ#THIS_IS_NOT_A_VALID_GDB_BINARY_NAMEÚNUMBA_GDB_BINARYr*   r+   rt   ©r   úTesting gdb binary failedúNo such file or directoryz%'THIS_IS_NOT_A_VALID_GDB_BINARY_NAME'©rB   ÚenvironÚcopyr,   r-   r%   r/   ©r2   r   r   r   r   s        r$   Útest_cannot_find_gdb_from_nameÚ7TestGDBCLIInfoBrokenGdbs.test_cannot_find_gdb_from_nameô   sh   € ä�j‰j�o‰oÓˆØ"GˆÐÑÜ—>‘> 4¨°$Ð7ˆÜ  Ñ2‰ˆØ�‰Ð1°6Ô:Ø�‰Ð1°6Ô:Ø�‰Ð=¸vÕFr=   c                 óx  • [         R                  R                  5       n[        5        n[         R                  R                  US5      nX1S'   [        R                  SSS/n[        XAS9u  pVU R                  SU5        U R                  SU5        U R                  X55        S S S 5        g ! , (       d  f       g = f)	NÚCANNOT_EXISTrñ   r*   r+   rt   rò   ró   rô   )
rB   rö   r÷   r   rC   rD   r,   r-   r%   r/   )r2   r   rk   rC   r   r   r   s          r$   Útest_cannot_find_gdb_from_pathÚ7TestGDBCLIInfoBrokenGdbs.test_cannot_find_gdb_from_pathþ   s‹   € ä�j‰j�o‰oÓˆÜÔ! Qä—7‘7—<‘<  >Ó2ˆDØ&*Ð"Ñ#Ü—~‘~ t¨W°dÐ;ˆGÜ$ WÑ6‰NˆFØ�M‰MÐ5°vÔ>Ø�M‰MÐ5°vÔ>Ø�M‰M˜$Ô'÷ "×!Ö!ús   ©A9B+Â+
B9c                 óÐ   • [         R                  R                  5       nSUS'   [        R                  SSS/n[        X!S9u  p4U R                  SU5        U R                  SU5        g )	NÚpythonrñ   r*   r+   rt   rò   ró   zUnknown optionrõ   rø   s        r$   Útest_nonsense_gdb_binaryÚ1TestGDBCLIInfoBrokenGdbs.test_nonsense_gdb_binary  s[   € ä�j‰j�o‰oÓˆØ"*ˆÐÑÜ—>‘> 4¨°$Ð7ˆÜ  Ñ2‰ˆØ�‰Ð1°6Ô:ð 	�‰Ð&¨Õ/r=   rw   N)rx   ry   rz   r{   rù   rý   r  r|   rw   r=   r$   rí   rí   î   s   † òGò(õ
0r=   rí   Ú__main__)rB   r   r,   r   rI   r   Útempfiler   Úunittestr   Únumba.tests.supportr   r   Únumba.misc.numba_sysinfoÚmiscÚnumba_sysinforL   Únumba.tests.gdb_supportr	   Únumba.misc.numba_gdbinfor
   r   rö   r%   r'   r~   rí   rx   Úmainrw   r=   r$   Ú<module>r     s–   ðó 
Û Û 
Û Û Ý 'Ý 'Ý ã ß 4ß &Ð &Ý -Ý 4å 4ð Ÿ™¨Rô ô(K=ˆhô K=ô\t:�Xô t:ðn ô&0˜xó &0ó ð&0ðR ˆzÓØ‡M‚M…Oð r=   