ó
    „ñ:i,  ã                   óæ   • S SK r S SKrS SKrS SKJr  S SKrS SKr S SKrSr S SK
r
Sr " S S\R                  5      r\S:X  a  \R                  " 5         gg! \	 a    Sr N?f = f! \	 a    Sr NFf = f)é    N)ÚcudaTFc                   ó8  • \ rS rSrSrSS.S jrS rS rS rS	 r	S
 r
S rS r\R                  " \R                   " 5       (       + S5      S 5       rS rS rS rS rS rS r\R0                  " \S5      S 5       r\R0                  " \S5      S 5       rS rSrg)ÚTestCaseé   z×These test cases are meant to test the Numba test infrastructure itself.
Therefore, the logic used here shouldn't use numba.testing, but only the
upstream unittest, and run the numba test suite only in a subprocess.N©Úsubp_kwargsc                ó"  • U=(       d    0 n[         R                  SSS/[        U5      -   n[        R                  " U40 UD6nUR                  S5      R                  5       nU Vs/ s H  ofR                  5       (       d  M  UPM     nnU$ s  snf )zH
Use `subp_kwargs` to pass extra argument to `subprocess.check_output`.
z-mznumba.runtestsz-lúUTF-8)ÚsysÚ
executableÚlistÚ
subprocessÚcheck_outputÚdecodeÚ
splitlinesÚstrip)ÚselfÚargsr   ÚcmdÚ	out_bytesÚlinesÚlines          Ú\/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/numba/tests/test_runtests.pyÚget_testsuite_listingÚTestCase.get_testsuite_listing   s|   € ð "×' RˆÜ�~‰~˜tÐ%5°tÐ<¼tÀD»zÑIˆÜ×+Ò+¨CÑ?°;Ñ?ˆ	Ø× Ñ  Ó)×4Ñ4Ó6ˆÙ"'Ó8¢%˜$¯:©:¯<—¡%ˆÐ8Øˆùò 9s   Á&BÂBc                 ó    • U R                  U/5      nUS S  H3  nSR                  X15      nU R                  UR                  U5      US9  M5     g )Néÿÿÿÿz{!r} not startswith {!r})Úmsg)r   ÚformatÚ
assertTrueÚ
startswith)r   ÚprefixÚlistingÚlnÚerrmsgs        r   Úcheck_listing_prefixÚTestCase.check_listing_prefix(   sM   € Ø×,Ñ,¨f¨XÓ6ˆØ˜#˜2“,ˆBØ/×6Ñ6°rÓBˆFØ�O‰O˜BŸM™M¨&Ó1°vˆOÓ>ò ó    c                 ó  • U R                  U5      nUS   nU R                  SU;   5        [        UR                  S5      S   5      nU R	                  [        U5      [        US-   US-   5      5        U R                  XR5        U$ )zB
Check that the reported numbers of tests are at least *minsize*.
r   útests foundÚ r   é   é   )r   r    ÚintÚsplitÚassertInÚlenÚrangeÚassertGreaterEqual)r   r   Úminsizer   Ú	last_lineÚnumbers         r   Úcheck_testsuite_sizeÚTestCase.check_testsuite_size.   s|   € ð ×*Ñ*¨4Ó0ˆØ˜"‘Iˆ	Ø�‰˜¨Ñ2Ô3Ü�Y—_‘_ SÓ)¨!Ñ,Ó-ˆð 	�‰”c˜%“j¤%¨°©
°F¸R±KÓ"@ÔAØ×Ñ Ô0Øˆr(   c                 ó¬   • U R                  US5      nU R                  [        S U 5       5      5        U R                  [        S U 5       5      5        g )Niˆ  c              3   ó,   #   • U  H
  nS U;   v •  M     g7f)znumba.cuda.tests.N© ©Ú.0r   s     r   Ú	<genexpr>Ú%TestCase.check_all.<locals>.<genexpr>?   s   é € ÐJÂE¸DÐ/°4Ö7ÂEùó   ‚c              3   ó,   #   • U  H
  nS U;   v •  M     g7f)znumba.tests.npyufunc.test_Nr;   r<   s     r   r>   r?   A   s   é € ð /Ú(- ð 9¸DÖ@Ú(-ùr@   )r7   r    Úany)r   Úidsr   s      r   Ú	check_allÚTestCase.check_all<   sK   € Ø×)Ñ)¨#¨tÓ4ˆà�‰œÑJÁEÓJÓJÔKà�‰œñ /Ù(-ó/ó /õ 	1r(   c                 ó   • [        S U5      $ )ztreturns a filter on strings starting with 'numba.', useful for
selecting the 'numba' test names from a test listing.c                 ó$   • U R                  S5      $ )Nznumba.)r!   )Úxs    r   Ú<lambda>Ú8TestCase._get_numba_tests_from_listing.<locals>.<lambda>G   s   €  §¡¨XÔ 6r(   )Úfilter)r   r#   s     r   Ú_get_numba_tests_from_listingÚ&TestCase._get_numba_tests_from_listingD   s   € ô Ñ6¸Ó@Ð@r(   c                 ó&   • U R                  / 5        g )N©rD   ©r   s    r   Útest_defaultÚTestCase.test_defaultI   s   € Ø�‰�rÕr(   c                 ó(   • U R                  S/5        g )Núnumba.testsrO   rP   s    r   Útest_allÚTestCase.test_allL   s   € Ø�‰˜�Õ'r(   c                 óf   • [         R                  " 5       (       a  SOSnU R                  S/U5        g )Néd   r,   znumba.cuda.tests)r   Úis_availabler7   )r   r4   s     r   Ú	test_cudaÚTestCase.test_cudaO   s-   € ô ×*Ò*×,Ñ,‘#°!ˆØ×!Ñ!Ð#5Ð"6¸Õ@r(   zNO CUDAc                 óŒ   • U R                  S5        U R                  S5        U R                  S5        U R                  S5        g )Nznumba.cuda.tests.cudadrvznumba.cuda.tests.cudapyznumba.cuda.tests.nocudaznumba.cuda.tests.cudasim)r&   rP   s    r   Útest_cuda_submodulesÚTestCase.test_cuda_submodulesU   s>   € à×!Ñ!Ð"<Ô=Ø×!Ñ!Ð";Ô<Ø×!Ñ!Ð";Ô<Ø×!Ñ!Ð"<Õ=r(   c                 óx   • U R                  S/S5        U R                  S/S5        U R                  SS/S5        g )Nznumba.tests.test_storesliceé   znumba.tests.test_nested_callsé
   é   ©r7   rP   s    r   Útest_moduleÚTestCase.test_module\   sH   € Ø×!Ñ!Ð#@Ð"AÀ1ÔEØ×!Ñ!Ð#BÐ"CÀRÔHà×!Ñ!Ð#BØ#@ð#BØCEõ	Gr(   c                 ó*   • U R                  S/S5        g )Núnumba.tests.npyufuncé2   rc   rP   s    r   Útest_subpackageÚTestCase.test_subpackagec   s   € Ø×!Ñ!Ð#9Ð":¸BÕ?r(   c                 ó,   • U R                  / SQS5        g )N)z--randomz0.1rg   é   rc   rP   s    r   Útest_randomÚTestCase.test_randomf   s   € Ø×!Ñ!Ú7¸õ	<r(   c                 óî   ^ • U 4S jnSS/nU" S/5      nU H[  nU" SUS/5      nU" SUS/5      nT R                  X5U-   5        U" SU-  S/5      nU" SU-  S/5      nT R                  X5U-   5        M]     g )	Nc                 óº   >• TR                  U 5      nTR                  SUS   5        [        US   R                  5       S   5      nTR	                  US:„  5        U$ )Nr*   r   r   )r   r0   r.   r/   r    )Úarg_listr   Úcountr   s      €r   Ú	get_countÚ5TestCase.test_include_exclude_tags.<locals>.get_countk   sT   ø€ Ø×.Ñ.¨xÓ8ˆEØ�M‰M˜-¨¨r©Ô3Ü˜˜b™	Ÿ™Ó)¨!Ñ,Ó-ˆEØ�O‰O˜E A™IÔ&ØˆLr(   Úlong_runningzlong_running, importantrT   z--tagsz--exclude-tagsz	--tags=%sz--exclude-tags=%s)ÚassertEqual)r   rs   ÚtagsÚtotalÚtagÚincludedÚexcludeds   `      r   Útest_include_exclude_tagsÚ"TestCase.test_include_exclude_tagsj   sŸ   ø€ õ	ð Ð 9Ð:ˆá˜=˜/Ó*ˆãˆCÙ  (¨C°Ð!?Ó@ˆHÙ Ð"2°C¸Ð!GÓHˆHØ×Ñ˜U¨xÑ$7Ô8ñ ! +°Ñ"3°]Ð!CÓDˆHÙ Ð"5¸Ñ";¸]Ð!KÓLˆHØ×Ñ˜U¨xÑ$7Ö8ò r(   c                 ó  • U R                  / 5      nU R                  SS/5      nU R                  SS/5      n[        U R                  U5      5      n[        U R                  U5      5      n[        U R                  U5      5      nU R                  [	        [        U5      [        U5      -
  5      [        U5      S-  5        U R                  [        U5      [        U5      5        U R                  [        U5      [        U5      5        g )Nú-jz0:2z1:2r-   )r   ÚsetrL   Ú
assertLessÚabsr1   )r   ÚtmpAllÚtmp1Útmp2ÚlAllÚl1Úl2s          r   Útest_check_shardÚTestCase.test_check_shard€   sÏ   € Ø×+Ñ+¨BÓ/ˆØ×)Ñ)¨4°¨-Ó8ˆØ×)Ñ)¨4°¨-Ó8ˆä�4×5Ñ5°fÓ=Ó>ˆÜ�×3Ñ3°DÓ9Ó:ˆÜ�×3Ñ3°DÓ9Ó:ˆð 	�‰œœC ›G¤c¨"£gÑ-Ó.´°D³	¸B±Ô?Ø�‰œ˜B›¤ T£Ô+Ø�‰œ˜B›¤ T£Õ+r(   c                 óì  • [        5       n[        S5       HI  nU R                  SSR                  U5      /5      n/ U R	                  U5      QnUR                  U5        MK     U R                  SS/5      n[        U R	                  U5      5      nU R                  [        U5      S5        U Vs/ s H  n[        U5      PM     nn[        [        U5      5       H+  nU R                  [        X‚   5      [        X   5      5        M-     U H?  n	U H6  n
U R                  X©5        U	R                  U
5        U R                  X©5        M8     MA     [        R                  " US5       H  u  p¼U R                  X¼-  5        M     [        5       nU H  nUR!                  U5        M     UR!                  U5        [        U R	                  U R                  / 5      5      5      nU R                  XÞ5        g s  snf )Né   r   z{}:3z--tagÚalways_testr,   r`   )r   r2   r   r   rL   Úappendr€   r3   r1   rv   r0   ÚremoveÚassertNotInÚ	itertoolsÚcombinationsÚassertFalseÚupdate)r   ÚshardedÚiÚsubsetÚslistÚtmpÚalways_runningrH   Úsharded_setsÚshardÚtestÚaÚbÚsum_of_partsÚfull_listings                  r   Útest_check_sharding_equivalentÚ'TestCase.test_check_sharding_equivalent�   s³  € ä“&ˆÜ�q–ˆAØ×/Ñ/°°v·}±}ÀQÓ7GÐ0HÓIˆFØA�d×8Ñ8¸Ó@ÐAˆEØ�N‰N˜5Ö!ñ ð ×(Ñ(¨'°=Ð)AÓBˆÜ˜T×?Ñ?ÀÓDÓEˆð 	×Ñ¤ NÓ 3°QÔ7ñ )0Ó0ª 1œ˜Až©ˆÐ0Ü”s˜7“|Ö$ˆAØ×ÑœS ¡Ó1´3°w±z³?ÖCñ %ó
 "ˆEÛ&�Ø—‘˜dÔ*Ø—‘˜TÔ"Ø× Ñ  Ö-ó 'ñ "ô ×*Ò*¨<¸Ö;‰DˆAØ×Ñ˜Q™UÖ#ñ <ô “uˆÛˆAØ×Ñ Ö"ñ à×Ñ˜NÔ+ä˜4×=Ñ=Ø×&Ñ& rÓ*ó,ó -ˆð 	×Ñ˜Õ4ùò7 1s   Â/G1zRequires gitpythonc                 óþ  •  [         R                  " S[         R                  [         R                  S9  U R                  S/5      nU R                  SU5        U R                  S/5      nU R                  SU5        [        [         R                  S9nU R                  [         R                  5         U R                  S/US	9  S S S 5        g ! [         a    U R	                  S5         N¶f = f! , (       d  f       g = f)
NÚgit©ÚstdoutÚstderrzno git availablez-gzGit diff by common ancestorz-g=ancestor)r¨   z	-g=ancestr   )r   ÚcallÚDEVNULLÚFileNotFoundErrorÚskipTestr   r�   r0   ÚdictÚassertRaisesÚCalledProcessError)r   Úoutsr   s      r   Útest_gitdiffÚTestCase.test_gitdiff¼   sÕ   € ð	.Ü�OŠO˜EÜ#-×#5Ñ#5Ü#-×#5Ñ#5ò7ð ×)Ñ)¨4¨&Ó1ˆØ×ÑÐ6¸Ô=à×)Ñ)¨=¨/Ó:ˆØ�‰Ð3°TÔ:ä¤*×"4Ñ"4Ñ5ˆØ×Ñœz×<Ñ<Õ=Ø×&Ñ&¨ }À+Ð&ÑN÷ >Ð=øô !ó 	.Ø�M‰MÐ,Ö-ð	.ú÷ >Õ=ús   ‚2C Â2C.ÃC+Ã*C+Ã.
C<zRequires pyyamlc                 ó„  • SSK Jn  [        R                  R	                  [        R                  R                  [        5      5      n[        R                  R                  USSS5      n[        R                  R                  U5      (       d  U R                  S5        [        [        R                  R                  U5      S5       nUR                  5       nS S S 5        [         R                  " WUS9nUS   n/ nUS S  H6  n	U	S	   S
   n
U
R                  5        H  nUR                  US   5        M     M8     / SQn[        R                  R                  " U/UQ76 n[        R                  R                  U5      (       d  U R                  S5        [        [        R                  R                  U5      S5       nUR                  5       nS S S 5        [         R                  " XQS9nUS   S   S   S
   n
U
R                  5        H  nUR                  US   5        M     U R                  [!        U5      [!        [#        U5      5      5        [%        U5      S-   n/ ['        U5      QnU R                  [)        U5      U5        U R                  XöS   S   5        g ! , (       d  f       GNÎ= f! , (       d  f       Nè= f)Nr   )ÚLoaderú..zazure-pipelines.ymlz&'azure-pipelines.yml' is not availableÚrtÚjobsr`   Ú
parametersÚmatrixÚTEST_START_INDEX)rµ   rµ   ÚbuildscriptsÚazurezazure-windows.ymlz$'azure-windows.yml' is not availableÚstrategyr,   Ú	variablesÚ
TEST_COUNT)Úyamlr´   ÚosÚpathÚdirnameÚabspathÚ__file__ÚjoinÚisfiler¬   ÚopenÚreadÚloadÚvaluesrŽ   rv   r1   r€   Úmaxr2   Úsorted)r   r´   Ú	base_pathÚ
azure_pipeÚfÚdataÚpipe_ymlÚ	templatesÚstart_indexesÚtmpltr¹   ÚsetupÚwinpathÚazure_windowsÚwindows_ymlÚlim_start_indexÚexpecteds                    r   Útest_azure_configÚTestCase.test_azure_configÑ   s  € åÜ—G‘G—O‘O¤B§G¡G§O¡O´HÓ$=Ó>ˆ	Ü—W‘W—\‘\ )¨T°4Ð9NÓOˆ
Ü�w‰w�~‰~˜j×)Ñ)Ø�M‰MÐBÔCÜ”"—'‘'—/‘/ *Ó-¨tÔ4¸Ø—6‘6“8ˆD÷ 5ä—9’9˜T¨&Ñ1ˆà˜VÑ$ˆ	àˆØ˜r “]ˆEØ˜<Ñ(¨Ñ2ˆFØŸ™ž�Ø×$Ñ$ UÐ+=Ñ%>Ö?ó )ñ #ò MˆÜŸ™Ÿš YÐ9°Ò9ˆÜ�w‰w�~‰~˜m×,Ñ,Ø�M‰MÐ@ÔAÜ”"—'‘'—/‘/ -Ó0°$Ô7¸1Ø—6‘6“8ˆD÷ 8ä—i’i Ñ4ˆð ˜VÑ$ QÑ'¨
Ñ3°HÑ=ˆØ—]‘]–_ˆEØ× Ñ  Ð'9Ñ!:Ö;ñ %ð
 	×Ñœ˜]Ó+¬S´°]Ó1CÓ-DÔEä˜mÓ,¨qÑ0ˆØ,”U˜?Ó+Ð,ˆØ×Ñœ Ó.°Ô9à×Ñ˜°;Ñ*?ÀÑ*MÕN÷G 5Ö4ú÷" 8Õ7ús   ÃJÆ>J1Ê
J.Ê1
J?c                 ó  • SnU R                  [        R                  5       n[        R                  SUR                  S5      /n[        R                  " U[        R                  SS9  S S S 5        U R                  SWR                  R                  R                  S5      5        [        R                  SUR                  S5      /n[        R                  " U[        R                  [        R                  S	9  g ! , (       d  f       N˜= f)
NaJ  if 1:
        from unittest import mock
        from llvmlite import binding as llvm
        error = RuntimeError("Detected compilation during test listing")
        with mock.patch.object(llvm.ExecutionEngine, 'finalize_object',
                               side_effect=error):
            import numba
            {0}
        z-cznumba.njit(lambda:0)()é<   )r¨   Útimeoutz(Detected compilation during test listingr
   znumba.test('-l')r¦   )r®   r   r¯   r   r   r   r   ÚSTDOUTr0   Ú	exceptionr§   r   Ú
check_callrª   )r   ÚcodeÚraisesr   s       r   Útest_no_compilation_on_listÚ$TestCase.test_no_compilation_on_listý   sÎ   € ðˆð ×Ñœz×<Ñ<Ô=ÀÜ—>‘> 4¨¯©Ð5MÓ)NÐOˆCÜ×#Ò# CÜ+5×+<Ñ+<Ø,.ò0÷ >ð
 	�‰Ð@Ø×&Ñ&×-Ñ-×4Ñ4°WÓ=ô	?ô
 �~‰~˜t T§[¡[Ð1CÓ%DÐEˆÜ×Ò˜cÜ%/×%7Ñ%7Ü%/×%7Ñ%7ó	:÷ >Õ=ús   ¢AC;Ã;
D	r;   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r&   r7   rD   rL   rQ   rU   rZ   ÚunittestÚskipIfr   rY   r]   rd   ri   rm   r|   r‰   r¢   Ú
skipUnlessÚhas_gitpythonr±   Ú
has_pyyamlrÜ   ræ   Ú__static_attributes__r;   r(   r   r   r      sÑ   † ñMð :>õ 	ò?òò1òAò
ò(òAð ‡_‚_˜×*Ò*Ó,Ô,¨iÓ8ñ>ó 9ð>òGò@ò<ò9ò,,ò+5ðZ ×Ò˜Ð(<Ó=ñOó >ðOð( ×Ò˜Ð%6Ó7ñ)Oó 8ð)OõV:r(   r   Ú__main__)rÁ   r   r   Únumbar   rí   r‘   r¥   rð   ÚImportErrorrÀ   rñ   r   rè   Úmainr;   r(   r   Ú<module>r÷      sŽ   ðÛ 	Û 
Û å Û Û ðÛð €MðÛð €Jô@:ˆx× Ñ ô @:ðF ˆzÓØ‡M‚M…Oð øða ó Ø‚Mðûð ó Ø‚Jðús"   œA £A% ÁA"Á!A"Á%A0Á/A0