§ y<ˆjãóì—ddlZddlZddlZddlZddlZddlZddlZddlZddl m Z ddl m Z Gd„de j ¦«ZGd„de¦«ZGd „d e j ¦«ZGd „d e j ¦«ZdS) éN)ÚIS_PYPYé)Úutilcó¸—eZdZejdddd¦«gZej dd  d¦«¦«d„¦«Z ej  e d ¬ ¦«d „¦«Z d „Zej ejd kd¬ ¦«d„¦«Zej ejd kd¬ ¦«d„¦«Zd„Zd„ZdS)ÚTestF77CallbackÚtestsÚsrcÚcallbackzfoo.fÚnamezt,t2ú,có0—| |¦«dS©N)Úcheck_function)Úselfr s úr/builddir/build/BUILD/cloudlinux-venv-1.0.12/venv/lib64/python3.11/site-packages/numpy/f2py/tests/test_callback.pyÚtest_allzTestF77Callback.test_alls€à ×Ò˜DÑ!Ô!Ð!Ð!Ð!óz,PyPy cannot modify tp_doc after PyType_Ready)Úreasoncó\—tjd¦«}|jjj|ksJ‚dS)NaË a = t(fun,[fun_extra_args]) Wrapper for ``t``. Parameters ---------- fun : call-back function Other Parameters ---------------- fun_extra_args : input tuple, optional Default: () Returns ------- a : int Notes ----- Call-back functions:: def fun(): return a Return objects: a : int )ÚtextwrapÚdedentÚmoduleÚtÚ__doc__)rÚexpecteds rÚtest_docstringzTestF77Callback.test_docstrings:€õ”?ð$ ñ ô ˆð4Œ{Œ}Ô$¨Ò0Ð0Ð0Ð0Ð0Ð0rcó²—t|j|¦«}|d„¦«}|dksJ‚|d„d¬¦«}|dksJ‚|d„d¬¦«}|dksJ‚|d „d ¬¦«}|d ksJ‚|d „tjf¬¦«}|d ksJ‚|tjtjf¬¦«}|d ksJ‚||jjd¬¦«}|dksJ‚||jj¦«}|dksJ‚||jjj¦«}|dksJ‚Gd„d¦«}|¦«}||¦«}|dksJ‚||j¦«}|dksJ‚dS)Ncó—dS)Né©r rrúz0TestF77Callback.check_function..6s€�a€rrcó—dS©Nér ©Úas rr!z0TestF77Callback.check_function..8󀘀r)é)Úfun_extra_argsr$có—|Srr r%s rr!z0TestF77Callback.check_function..:r'rr(có —d|zSr#r r%s rr!z0TestF77Callback.check_function..<s €˜˜A™€r)éé có*—tj|¦«Sr)ÚmathÚdegreesr%s rr!z0TestF77Callback.check_function..>s€�œ  Q™œ€ré´éé có—eZdZd„Zd„ZdS)ú)TestF77Callback.check_function..Acó—dS)Nr,r ©rs rÚ__call__z2TestF77Callback.check_function..A.__call__Kó€Ø�qrcó—dS)Né r r7s rÚmthz-TestF77Callback.check_function..A.mthNr9rN)Ú__name__Ú __module__Ú __qualname__r8r<r rrÚAr5Js2€€€€€ð ð ð ð ð ð ð ð rr@r,r;) Úgetattrrr/Úpir0ÚfuncÚfunc0Ú _cpointerr<)rr rÚrr@r&s rrzTestF77Callback.check_function4sÂ€Ý �D”K Ñ &Ô &ˆØ ˆAˆiˆi‰LŒLˆØ�AŠvˆvˆvˆvØ ˆAˆkˆk¨%Ð 0Ñ 0Ô 0ˆØ�AŠvˆvˆvˆvØ ˆAˆkˆk¨%Ð 0Ñ 0Ô 0ˆØ�AŠvˆvˆvˆvØ ˆAˆoˆo¨eÐ 4Ñ 4Ô 4ˆØ�BŠwˆwˆwˆwØ ˆAÐ'Ð'½¼¸ Ð DÑ DÔ DˆØ�CŠxˆxˆxˆxØ ˆA�dŒl­D¬G¨;Ð 7Ñ 7Ô 7ˆØ�CŠxˆxˆxˆxà ˆAˆdŒkÔ¨uÐ 5Ñ 5Ô 5ˆØ�BŠwˆwˆwˆwØ ˆAˆdŒkÔÑ Ô ˆØ�BŠwˆwˆwˆwØ ˆAˆdŒkÔÔ)Ñ *Ô *ˆØ�BŠwˆwˆwˆwð ð ð ð ð ñ ô ð ð ˆA‰CŒCˆØ ˆAˆa‰DŒDˆØ�AŠvˆvˆvˆvØ ˆAˆaŒe‰HŒHˆØ�AŠvˆvˆvˆvˆvˆvrÚwin32z)Fails with MinGW64 Gfortran (Issue #9673)có\—d„}t|jd¦«}||¦«}|dksJ‚dS)Ncó—|dkrdSdS)NrFrrr )Úcodes rr z6TestF77Callback.test_string_callback..callbackZs€Ø�sŠ{ˆ{Ø�qà�qrÚstring_callbackr)rAr)rr ÚfrFs rÚtest_string_callbackz$TestF77Callback.test_string_callbackWsC€ð ð ð õ �D”KÐ!2Ñ 3Ô 3ˆØ ˆAˆh‰KŒKˆØ�AŠvˆvˆvˆvˆvˆvrcóú—tjdd¦«}tjdd¦«}tjdgd¦«}d„}t|jd¦«}|||fD]}||||j¦«}|dksJ‚ŒdS) N)rÚS8)réÚcÚcóp—|j|fkrdS|jdkrdStj|dk¦«sdSdS)NrrOérér)ÚshapeÚdtypeÚnpÚall)ÚcuÚlencus rr z.callbacklsH€ØŒx˜E˜8Ò#Ð#Ø�qØŒx˜4ÒÐØ�qÝ”6˜" š)Ñ$Ô$ð Ø�qØ�1rÚstring_callback_arrayr)rXÚzerosÚarrayrArÚsize)rÚcu1Úcu2Úcu3r rLrZÚress rÚtest_string_callback_arrayz*TestF77Callback.test_string_callback_arraydsŸ€õŒh�u˜dÑ#Ô#ˆÝŒh�v˜sÑ#Ô#ˆÝŒh˜�t˜TÑ"Ô"ˆð ð ð õ �D”KÐ!8Ñ 9Ô 9ˆØ˜˜S�/ð ð ˆBØ�!�H˜b "¤'Ñ*Ô*ˆCؘ!’8�8�8�8�8ð ð rcóö‡‡‡‡—gŠˆfd„Šˆˆˆfd„Šˆfd„dD¦«}|D]}| ¦«Œ|D]}| ¦«Œd ‰¦«Š‰rt‰¦«‚dS)Ncóv•—tjd¦«‰j d„¦«}|dksJ‚dS)Ngü©ñÒMbP?có—dS©Né{r r rrr!z?TestF77Callback.test_threadsafety..cb..…s€ c€rrié*)ÚtimeÚsleeprr)rFrs €rÚcbz-TestF77Callback.test_threadsafety..cbs>ø€õ ŒJ�tÑ Ô Ð ð” — ’ ˜k˜kÑ*Ô*ˆAؘ’8�8�8�8à�2rcó •— td¦«D]9}‰j ‰¦«}|dksJ‚‰ |¦«Œ:dS#t$r*‰ t j¦«¦«YdSwxYw)Né2rj)ÚrangerrrÚ ExceptionÚappendÚ tracebackÚ format_exc)r ÚjrFrmÚerrorsrs €€€rÚrunnerz1TestF77Callback.test_threadsafety..runnerŠsŸø€ð 6ݘr™œð.ð.�AØœ Ÿ š  bÑ)Ô)�AØ š7˜7˜7˜7Ø×'Ò'¨Ñ-Ô-Ð-Ð-ð.ð.øõð 6ð 6ð 6Ø— ’ �iÔ2Ñ4Ô4Ñ5Ô5Ð5Ð5Ð5Ð5ð 6øøøsƒA AÁ0BÂBcób•—g|]+}td¦«D]}tj‰|f¬¦«‘ŒŒ,S)é)ÚtargetÚargs)rpÚ threadingÚThread)Ú.0ÚargÚnrws €rú z5TestF77Callback.test_threadsafety..“sUø€ð ð ð à­E°"©I¬Ið ð à'(õ Ô  F°#°Ð 9Ñ 9Ô 9ð ð ð ð r)rÚt2z )ÚstartÚjoinÚAssertionError)rÚthreadsrrmrvrws` @@@rÚtest_threadsafetyz!TestF77Callback.test_threadsafetyzsàøøøø€ðˆð ð ð ð ð ð 6ð 6ð 6ð 6ð 6ð 6ð 6ð ð ð ð à"ð ñ ô ˆð ð ð ˆAØ �GŠG‰IŒIˆIˆIàð ð ˆAØ �FŠF‰HŒHˆHˆHà—’˜VÑ$Ô$ˆØ ð )Ý  Ñ(Ô(Ð (ð )ð )rcó~— |j d¦«n;#t$r.}t|¦« d¦«sJ‚Yd}~nd}~wwxYw |j d¦«n;#t$r.}t|¦« d¦«sJ‚Yd}~nd}~wwxYwd„|j_|j d¦«}|dksJ‚d„|j_|j d¦«}|dksJ‚|j` |j d¦«n;#t$r.}t|¦« d¦«sJ‚Yd}~nd}~wwxYwd d „|j_|j d¦«}|d ksJ‚|j d¦«}|dksJ‚dS) NrTzCallback global_f not definedz!cb: Callback global_f not definedcó —|dzS)Nrr ©Úxs rr!z6TestF77Callback.test_hidden_callback..­ó €¨¨Q©€rrUcó —|dzS)NrTr rŠs rr!z6TestF77Callback.test_hidden_callback..±rŒrrrcó —|dzS)NrUr rŠs rr!z6TestF77Callback.test_hidden_callback..»s €¨1¨q©5€rr$)r)rÚhidden_callbackrqÚstrÚ startswithÚhidden_callback2Úglobal_f)rÚmsgrFs rÚtest_hidden_callbackz$TestF77Callback.test_hidden_callback¢s€ð HØ ŒK× 'Ò '¨Ñ *Ô *Ð *Ð *øÝð Hð Hð HÝ�s‘8”8×&Ò&Ð'FÑGÔGÐ GÐ GÐGÐ GÐ GÐ GÐ GÐ Gøøøøð Høøøð LØ ŒK× (Ò (¨Ñ +Ô +Ð +Ð +øÝð Lð Lð LÝ�s‘8”8×&Ò&Ð'JÑKÔKÐ KÐ KÐKÐ KÐ KÐ KÐ KÐ Køøøøð Løøøð /˜ˆŒ ÔØ ŒK× 'Ò '¨Ñ *Ô *ˆØ�AŠvˆvˆvˆvà.˜ˆŒ ÔØ ŒK× 'Ò '¨Ñ *Ô *ˆØ�AŠvˆvˆvˆvà ŒKÐ ð HØ ŒK× 'Ò '¨Ñ *Ô *Ð *Ð *øÝð Hð Hð HÝ�s‘8”8×&Ò&Ð'FÑGÔGÐ GÐ GÐGÐ GÐ GÐ GÐ GÐ Gøøøøð Høøøð 1Ð0Ð0ˆŒ ÔØ ŒK× 'Ò '¨Ñ *Ô *ˆØ�AŠvˆvˆvˆvð ŒK× (Ò (¨Ñ +Ô +ˆØ�AŠvˆvˆvˆvˆvˆvsD‚� A§$AÁAÁA4Á4 B,Á>$B'Â'B,ÄD0Ä0 E(Ä:$E#Å#E(N)r=r>r?rÚgetpathÚsourcesÚpytestÚmarkÚ parametrizeÚsplitrÚxfailrrrÚskipifÚsysÚplatformrMrdr‡r•r rrrrs]€€€€€ØˆtŒ|˜G U¨J¸Ñ@Ô@ÐA€Gà „[×Ò˜V V§\¢\°#Ñ%6Ô%6Ñ7Ô7ð"ð"ñ8Ô7ð"ð „[×Ò�wØLðñNôNð1ð1ñNôNð1ð:!ð!ð!ðF „[×Ò˜œ ¨Ò/ØJðñLôLð ð ñLôLð ð „[×Ò˜œ ¨Ò/ØJðñLôLððñLôLðð(&)ð&)ð&)ðPððððrrcó—eZdZdZdgZdS)ÚTestF77CallbackPythonTLSz[ Callback tests using Python thread-local storage instead of compiler-provided z-DF2PY_USE_PYTHON_TLSN)r=r>r?rÚoptionsr rrr¡r¡Äs"€€€€€ððð 'Ð'€G€G€Grr¡có<—eZdZejdddd¦«gZd„ZdS)ÚTestF90Callbackrr r z gh17797.f90có–—d„}tjgd¢tj¬¦«}|j ||¦«}|dksJ‚dS)Ncó —|dzSrhr rŠs rÚincrz*TestF90Callback.test_gh17797..incrÑs €Ø�s‘7ˆNr)rrTrU)rWé�)rXr^Úint64rÚgh17797)rr§ÚyrFs rÚ test_gh17797zTestF90Callback.test_gh17797Ðs[€ð ð ð õ ŒH�Y�Y�Y¥b¤hÐ /Ñ /Ô /ˆØ ŒK× Ò   aÑ (Ô (ˆØ�OÒ#Ð#Ð#Ð#Ð#Ð#rN)r=r>r?rr–r—r¬r rrr¤r¤Ís=€€€€€ØˆtŒ|˜G U¨J¸ ÑFÔFÐG€Gð$ð$ð$ð$ð$rr¤có@—eZdZdZejdddd¦«gZd„ZdS)Ú TestGH18335zäThe reproduction of the reported issue requires specific input that extensions may break the issue conditions, so the reproducer is implemented as a separate test class. Do not extend this test with other tests! rr r z gh18335.f90cóP—d„}|j |¦«}|dksJ‚dS)Ncó&—|dxxdz cc<dS)Nrrr rŠs rÚfooz%TestGH18335.test_gh18335..fooâs€Ø ˆaˆDˆDŒD�A‰IˆDˆD‰DˆDˆDré|)rÚgh18335)rr±rFs rÚ test_gh18335zTestGH18335.test_gh18335ás9€ð ð ð ð ŒK× Ò  Ñ $Ô $ˆØ�GŠ|ˆ|ˆ|ˆ|ˆ|ˆ|rN)r=r>r?rrr–r—r´r rrr®r®ÙsI€€€€€ððð ˆtŒ|˜G U¨J¸ ÑFÔFÐG€Gðððððrr®)r/rržr˜r|rsrkÚnumpyrXÚ numpy.testingrrRrÚF2PyTestrr¡r¤r®r rrúr¸s;ðØ € € € Ø€€€Ø € € € Ø € € € ØÐÐÐØÐÐÐØ € € € àÐÐÐØ!Ð!Ð!Ð!Ð!Ð!ØÐÐÐÐÐðsðsðsðsðs�d”mñsôsðsðl(ð(ð(ð(ð(˜ñ(ô(ð(ð $ð $ð $ð $ð $�d”mñ $ô $ð $ð ð ð ð ð �$”-ñ ô ð ð ð r