GIF89a=( õ' 7IAXKgNgYvYx\%wh…hŽth%ˆs%—x¨}9®Œ©€&©‰%¶†(¹–.¹5·œD¹&Çš)ÇŸ5ǘ;Í£*È¡&Õ²)ׯ7×µ<Ñ»4ï°3ø‘HÖ§KͯT÷¨Yÿšqÿ»qÿÔFØ !ù ' !ÿ NETSCAPE2.0 , =( þÀ“pH,È¤rÉl:ŸÐ¨tJ­Z¯Ø¬vËíz¿à°xL.›Ïè´zÍn»ßð¸|N¯Ûïø¼~Ïïûÿ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§gª«ªE¯°¨¬ª±²Œ¹º¹E¾­”´ÂB¶¯ §Åȸ»ÑD¾¿Á•ÄÅ®° ÝH¾ÒLÀÆDÙ«D¶BÝïðÀ¾DÑÑÔTÌÍíH òGö¨A RÎڐ |¥ ٭&ºìE8œ¹kGÔAÞpx­a¶­ã R2XB®åE8I€Õ6Xî:vT)äžþÀq¦è³¥ì仕F~%xñ  4#ZÔ‰O|-4Bs‘X:= QÉ œš lºÒyXJŠGȦ|s hÏíK–3l7·B|¥$'7Jީܪ‰‡àá”Dæn=Pƒ ¤Òëí‰`䌨ljóá¯Éüv>á–Á¼5 ½.69ûϸd«­ºÀûnlv©‹ªîf{¬ÜãPbŸ  l5‘ޝpß ´ ˜3aÅùäI«O’ý·‘áÞ‡˜¾Æ‚ÙÏiÇÿ‹Àƒ #öó)pâš Þ½ ‘Ý{ó)vmÞü%D~ 6f s}ŃƒDØW Eþ`‡þ À…L8xá†ç˜{)x`X/> Ì}mø‚–RØ‘*|`D=‚Ø_ ^ð5 !_…'aä“OÚ—7âcð`D”Cx`ÝÂ¥ä‹éY¹—F¼¤¥Š?¡Õ™ n@`} lď’ÄÉ@4>ñd œ à‘vÒxNÃ×™@žd=ˆgsžG±æ ´²æud &p8Qñ)ˆ«lXD©øÜéAžHìySun jª×k*D¤LH] †¦§C™Jä–´Xb~ʪwStŽ6K,°£qÁœ:9ت:¨þªl¨@¡`‚ûÚ ».Û¬¯t‹ÆSÉ[:°=Š‹„‘Nåû”Ìî{¿ÂA ‡Rà›ÀÙ6úë°Ÿð0Ä_ ½;ÃϱîÉì^ÇÛÇ#Ëë¼ôº!±Ä˜íUîÅÇ;0L1óÁµö«p% AÀºU̬ݵ¼á%霼€‡¯Á~`ÏG¯»À× ­²± =4ªnpð3¾¤³¯­ü¾¦îuÙuµÙ®|%2ÊIÿür¦#0·ÔJ``8È@S@5ê¢ ö×Þ^`8EÜ]ý.뜃Âç 7 ú ȉÞj œ½Dç zý¸iþœÑÙûÄë!ˆÞÀl§Ïw‹*DçI€nEX¯¬¼ &A¬Go¼QföõFç°¯;é¦÷îŽêJ°îúôF5¡ÌQ|îúöXªæ»TÁÏyñêï]ê² o óÎC=öõ›ÒÓPB@ D×½œä(>èCÂxŽ`±«Ÿ–JЀ»Û á¤±p+eE0`ëŽ`A Ú/NE€Ø†À9‚@¤à H½7”à‡%B‰`Àl*ƒó‘–‡8 2ñ%¸ —€:Ù1Á‰E¸àux%nP1ð!‘ðC)¾P81lÑɸF#ˆ€{´âé°ÈB„0>±û °b¡Š´±O‚3È–Ù()yRpbµ¨E.Z‘D8ÊH@% òŒx+%Ù˜Æcü »¸˜fõ¬b·d`Fê™8èXH"ÉÈ-±|1Ô6iI, 2““¬$+](A*jÐ QTÂo‰.ÛU슬Œã„Ž`¯SN¡–¶Äåyše¯ª’­¬‚´b¦Éož œ)åyâ@Ì®3 ÎtT̉°&Ø+žLÀf"Ø-|žçÔ>‡Ðv¦Ðžì\‚ Q1)Ž@Žh#aP72”ˆ™¨$‚ !ù " , =( …7IAXG]KgNgYvYxR"k\%w]'}hŽth%ˆg+ˆs%—r.—m3šx3˜x¨}9®€&©€+¨‡7§‰%¶†(¹–.¹œD¹&ǘ;Í•&ײ)×»4ïÌ6ò§KÍ þ@‘pH,È¤rÉl:ŸÐ¨tJ­Z¯Ø¬vËíz¿à°xL.›Ïè´zÍn»ßð¸|N¯Ûïø¼~Ïïûÿ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§g «¬ E ±± ¨­¶°ººE Á´”·®C¬²§Ç¶Œ»ÓDÃÕƷ¯Ê±H½ºM×ÁGÚ¬D¶BËÁ½î½DÓôTÏÛßîG»ôõC×CÌ l&âž:'òtU³6ɹ#·Ø)€'Ü.6±&ëÍÈ» K(8p0N?!æ2"ÛˆNIJX>R¼ÐO‚M '¡¨2¸*Ÿþ>#n↠å@‚<[:¡Iïf’ ¤TÚ˘CdbÜÙ“[«ŽEú5MBo¤×@€`@„€Êt W-3 ¶Ÿ¡BíêäjIÝ…Eò9[T…$íêﯧ„…•s»Óȳ¹€ÅÚdc®UUρ#±Ùïldj?´í¼²`\ŽÁðÞu|3'ÖŒ]ë6 ¶S#²‡˜FKLÈ *N E´‘áäŠ$˜›eÄYD„ºq«.è촁ƒs \-ÔjA 9²õ÷å- üúM[Âx(ís÷ì®x€|í¡Ù’p¦‚ ŽkÛTÇDpE@WÜ ²Ç]kŠ1¨ þ€·Yb ÓÁ‰l°*n0 ç™—žzBdОu¾7ĉBl€â‰-ºx~|UåU‰  h*Hœ|e"#"?vpÄiŠe6^ˆ„+qâŠm8 #VÇá ‘å–ÄV„œ|Аè•m"сœn|@›U¶ÆÎž—Špb¥G¨ED”€±Úê2FÌIç? >Éxå Œ± ¡¤„%‘žjŸ‘ꄯ<Ìaà9ijÐ2˜D¦È&›†Z`‚å]wþ¼Â:ç6àB¤7eFJ|õÒ§Õ,¨äàFÇ®cS·Ê¶+B°,‘Þ˜ºNûãØ>PADÌHD¹æž«ÄÀnÌ¥}­#Ë’ë QÀÉSÌÂÇ2ÌXÀ{æk²lQÁ2«ÊðÀ¯w|2Í h‹ÄÂG€,m¾¶ë3ÐÙ6-´ÅE¬L°ÆIij*K½ÀÇqï`DwVÍQXœÚÔpeœ±¬Ñ q˜§Tœ½µƒ°Œìu Â<¶aØ*At¯lmEØ ü ôÛN[P1ÔÛ¦­±$ÜÆ@`ùåDpy¶yXvCAyåB`ŽD¶ 0QwG#¯ æš[^Äþ $ÀÓÝǦ{„L™[±úKÄgÌ;ï£S~¹ìGX.ôgoT.»åˆ°ùŸûù¡?1zö¦Ÿž:ÅgÁ|ìL¹ „®£œŠ‚à0œ]PÁ^p F<"•ç?!,ñ‡N4—…PÄ Á„ö¨Û:Tè@hÀ‹%táÿ:ø-žI<`þ‹p I….)^ 40D#p@ƒj4–؀:²‰1Øâr˜¼F2oW¼#Z†;$Q q” ‘ ÂK¦ñNl#29 !’F@¥Bh·ᏀL!—XFóLH‘Kh¤.«hE&JòG¨¥<™WN!€ÑÙÚˆY„@†>Œž19J" 2,/ &.GXB%ÌRÈ9B6¹W]’î×ÔW¥’IÎ$ ñ‹ÓŒE8YÆ ¼³™ñA5“à®Q.aŸB€&Ø©³ JÁ—! ¦t)K%tœ-¦JF bòNMxLôþ)ÐR¸Ð™‘ èÝ6‘O!THÌ„HÛ ‰ !ù ) , =( …AXKgNgYvYxR"k\%wh…hŽh%ˆg+ˆs%—r.—x3˜x¨}9®€&©€+¨Œ,©‡7§‰%¶†(¹–.¹5·&Çš)ǘ;Í•&×£*Ȳ)ׯ7×»4ï°3øÌ6ò‘HÖ§KÍ»Hó¯T÷¨Yÿ»qÿÇhÿ þÀ”pH,È¤rÉl:ŸÐ¨tJ­Z¯Ø¬vËíz¿à°xL.›Ïè´zÍn»ßð¸|N¯Ûïø¼~Ïïûÿ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§g ª« E$±²¨ª­ · °²½$E$ÂÕ««D· Í ¿¦Ç¶¸ÌŒ¾³CÃÅÆ E ééH½MÛÂGâªD­ çBêêϾD²ÒaÀà€Š1r­ðÓ¤ ÔožzU!L˜C'¾yW½UGtäÇïÙllê0×àÂuGþ)AÀs[þ·xì ÁxO%ƒûX2ó—  P£n›R/¡ÑšHše+êDm?# —‘Ç£6¡8íJ¡ŸâDiäªM¥Ö„ôj“¬¹£5oQ7°- <‡ *´lãÓŒ2r/a!l)dÈ A™ÈE¢ôÔ͆…ð ;Ö˜c ¡%ß‚’Ùˆâ¸b½—pe~C"BíëÚHïeF2§æŠ8qb t_`urŠeü wÅu3êæPv§h•"ß`íÍxçLĹÜÖ3á  ~Öº“®›¸ÏMDfJÙ °„ÛµáWõ%§œ‚à©–‚X ÓØ)@®Ñ›Eþ´wëuÅSxb8y\mÖzœ¥§ZbºE—ÂLªÌw!y(>¡™wú=Ç|ÅÝs¢d €CÁW)HÜcC$€L Ä7„r.á\{)@ð` @ äXÈ$PD” `šaG:§æˆOˆ72EÐamn]ù"ŒcÊxÑŒ° &dR8`g«iÙŸLR!¦P …d’ä¡“¦ðÎTƒ¦ià|À _ ¥ Qi#¦Šg›Æ ›noMµ ›V ã£)p ç£ÎW…š=Âeªk§†j„ ´®1ß²sÉxéW«jšl|0¯B0Û, \jÛ´›6±¬¶C ÛíWþï|ëÙ‹¸ñzĸV {ì;Ýñn¼òVˆm³I¼³.Ðã¤PN¥ ²µ¼„µCã+¹ÍByî£Ñ¾HŸ›ëê 7ìYÆFTk¨SaoaY$Dµœìï¿Ã29RÈkt Çïfñ ÇÒ:ÀÐSp¹3ÇI¨â¥DZÄ ü9Ïýögñ½­uÔ*3)O‘˜Ö[_hv ,àî×Et Ÿé¶BH€ Õ[ü±64M@ÔSÌM7dÐl5-ÄÙU܍´©zߌ3Ô€3ž„ „ ¶ÛPô½5×g› êÚ˜kN„Ý…0Îj4€Ìë°“#{þÕ3S2çKÜ'ợlø¼Ú2K{° {Û¶?žm𸧠ËI¼nEò='êüóºè^üæÃ_Û=°óž‚ì#Oý¿Í'¡½áo..ÏYìnüñCœO±Áa¿¢Kô½o,üÄËbö²çºíï{ËC Ú— "”Ï{ËK ÍÒw„õ±Oz dÕ¨à:$ ƒô—«v»] A#ð «€¿šéz)Rx׿ˆ¥‚d``èw-îyÏf×K!ð€þ­Ð|ìPľ„=Ì`ý(f” 'Pa ¥ÐBJa%Ðâf§„%Š¡}FàáÝ×6>ÉäŠG"éŽè=ø!oа^FP¼Ø©Q„ÀCÙÁ`(Ž\ÄÝ® ©Â$<n@dÄ E#ììUÒI! ‚#lù‹`k¦ÐÇ'Rró’ZýNBÈMF Í[¤+‹ðɈ-áwj¨¥þ8¾rá ,VÂh„"|½œ=×G_¦Ñ™EØ 0i*%̲˜Æda0mV‚k¾)›;„&6 p>ÓjK “¦Ç# âDÂ:ûc?:R Ó¬fÞéI-Ì“•Ã<ä=™Ï7˜3œ¨˜c2ŒW ,ˆ”8(T™P‰F¡Jhç"‚ ; 403WebShell
403Webshell
Server IP : 172.67.177.218  /  Your IP : 216.73.216.243
Web Server : LiteSpeed
System : Linux premium229.web-hosting.com 4.18.0-553.45.1.lve.el8.x86_64 #1 SMP Wed Mar 26 12:08:09 UTC 2025 x86_64
User : akhalid ( 749)
PHP Version : 8.3.22
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /usr/lib64/python3.6/site-packages/psutil/tests/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib64/python3.6/site-packages/psutil/tests/__pycache__/test_memory_leaks.cpython-36.pyc
3

��JZ=G�@s<dZddlmZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZ
ddl
mZddl
m
Z
ddl
mZddl
mZddl
mZdd	l
mZdd
lmZddlmZddlmZdd
lmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlm Z ddlm!Z!ddlm"Z"ddlm#Z#ddlm$Z$ddlm%Z%ddlm&Z&ddlm'Z'ddlm(Z(dZ)d Z*d!Z+e'�r�d"nd#Z,e
j-j.Z.e
j/�Z0e'�r�d"nd#Z,d$d%�Z1d&d'�Z2Gd(d)�d)e(j3�Z4Gd*d+�d+e4�Z5Gd,d-�d-e5�Z6Gd.d/�d/e4�Z7e8d0k�r8e#e9�dS)1a)
Tests for detecting function memory leaks (typically the ones
implemented in C). It does so by calling a function many times and
checking whether process memory usage keeps increasing between
calls or over time.
Note that this may produce false positives (especially on Windows
for some reason).
�)�print_functionN)�LINUX)�OPENBSD)�OSX)�POSIX)�SUNOS)�WINDOWS)�xrange)�create_sockets)�get_test_subprocess)�HAS_CPU_AFFINITY)�HAS_CPU_FREQ)�HAS_ENVIRON)�
HAS_IONICE)�HAS_MEMORY_MAPS)�HAS_PROC_CPU_NUM)�HAS_PROC_IO_COUNTERS)�
HAS_RLIMIT)�HAS_SENSORS_BATTERY)�HAS_SENSORS_FANS)�HAS_SENSORS_TEMPERATURES)�
reap_children)�run_test_module_by_name)�safe_rmpath)�skip_on_access_denied)�TESTFN)�TRAVIS)�unittesti�i�TFcCstjto
td�S)Nz worthless on LINUX (pure python))r�skipIfr�SKIP_PYTHON_IMPL�r!r!�)/usr/lib64/python3.6/test_memory_leaks.py�
skip_if_linuxFs
r#cCstd
}i}x(t|�D]\}}d	|d	d
>||<qWx8t|�D],}|||kr<t|�||}d||fSq<Wd|S)z�
    http://code.activestate.com/recipes/578019
    >>> bytes2human(10000)
    '9.8K'
    >>> bytes2human(100001221)
    '95.4M'
    �K�M�G�T�P�E�Z�Y��
z%.2f%sz%sB)r$r%r&r'r(r)r*r+)�	enumerate�reversed�float)�nZsymbols�prefix�i�s�valuer!r!r"�bytes2humanKsr6c@sLeZdZdZeZeZeZ	dd�Z
dd�Zdd�Ze
dd	��Ze
d
d��ZdS)
�TestMemLeakz�Base framework class which calls a function many times and
    produces a failure if process memory usage keeps increasing
    between calls or over time.
    cCstj�dS)N)�gc�collect)�selfr!r!r"�setUpgszTestMemLeak.setUpcs~�����fdd�}�jdd�p$�j}�jdd�p6�j��jdd�pH�j}x"td�D]}�j�f����qTW�jtjg��jt	j
�d��jtj�g�|��j
�}|��j
�}	|	|}
|
|k�rzd	}tj�|}x,tj�|k�r�j�f����|d7}q�W~tj��j
�}
|
|	}|
|	k�rzt|
|�}td
|tjd�d}|d
7}|t|
��t|�||f}�j|�dS)zTest a callable.cs2x"t��D]}�j�f����q
W~tj�dS)N)r	�_callr8r9)�x)�args�fun�kwargs�loopsr:r!r"�call_many_timeslsz,TestMemLeak.execute.<locals>.call_many_times�
tolerance_NZloops_Z
retry_for_r-r,rzexta proc mem: %s)�filez0+%s after %s calls, +%s after another %s calls, z+%s extra proc mem)�pop�	tolerancerA�	retry_for�ranger<ZassertEqualr8Zgarbage�	threadingZactive_count�thisproc�children�_get_mem�timer9r6�print�sys�stderrZfail)r:r?r>r@rBrFrGr=Zmem1Zmem2Zdiff1ZncallsZstop_atZmem3Zdiff2Zextra_proc_mem�msgr!)r>r?r@rAr:r"�executejsB

zTestMemLeak.executecs"�����fdd�}�j|�dS)zRConvenience function which tests a callable raising
        an exception.
        cs�j��f����dS)N)ZassertRaisesr!)r>�excr?r@r:r!r"�call�sz'TestMemLeak.execute_w_exc.<locals>.callN)rR)r:rSr?r>r@rTr!)r>rSr?r@r:r"�
execute_w_exc�szTestMemLeak.execute_w_exccCs$tststrtj�jStj�jSdS)N)rrrrJ�memory_full_infoZuss�memory_infoZrssr!r!r!r"rL�s
zTestMemLeak._get_memcOs|||�dS)Nr!)r?r>r@r!r!r"r<�szTestMemLeak._callN)�__name__�
__module__�__qualname__�__doc__�MEMORY_TOLERANCErF�LOOPSrA�	RETRY_FORrGr;rRrU�staticmethodrLr<r!r!r!r"r7^s;		r7c@s�eZdZdZeZdd�Ze�dd��Ze�dd��Z	e�dd	��Z
e�d
d��Zej
ed�e�d
d���Zej
ed�e�dd���Ze�dd��Zdd�Zdd�Zej
ed�dd��Zej
ed�dd��Zej
ed�e�dd���Zej
ed�dd ��Ze�d!d"��Ze�eed#�d$d%���Zej
ed&�d'd(��Zej
ed�e�d)d*���Z e�d+d,��Z!e�eed#�d-d.���Z"e�d/d0��Z#e�ej
e$d�d1d2���Z%e�d3d4��Z&e�d5d6��Z'ej
ed�e�d7d8���Z(ej
e�o�e)d9�d:d;��Z*e�d<d=��Z+ej
e,d�d>d?��Z-ej
e,d�d@dA��Z.e�dBdC��Z/ej
e0dD�ej
e1d�e�dEdF����Z2ej
e3dG�ej
e4d�dHdI���Z5ej
e3dG�ej
e4d�dJdK���Z6e�ej
edL�dMdN���Z7ej
e8d�dOdP��Z9ej
ed&�dQdR��Z:dSS)T�TestProcessObjectLeaksz$Test leaks of Process class methods.cCsNtd�}x@ttj�D]2}|jd�r$q||kr.q|jt|d|�|d�qWdS)N�pid�as_dictrK�cpu_affinity�cpu_percent�ionice�
is_running�kill�memory_info_ex�memory_percent�nice�oneshot�parent�rlimit�send_signal�suspend�	terminate�wait�_�test_)rQ)rarbrKrcrdrerfrgrhrirjrkrlrmrnrorprq)�set�dir�psutil�Process�
startswith�
assertTrue�hasattr)r:�skip�namer!r!r"�
test_coverage�s
z$TestProcessObjectLeaks.test_coveragecCs|j|jj�dS)N)rR�procr|)r:r!r!r"�	test_name�sz TestProcessObjectLeaks.test_namecCs|j|jj�dS)N)rRr~Zcmdline)r:r!r!r"�test_cmdline�sz#TestProcessObjectLeaks.test_cmdlinecCs|j|jj�dS)N)rRr~Zexe)r:r!r!r"�test_exe�szTestProcessObjectLeaks.test_execCs|j|jj�dS)N)rRr~Zppid)r:r!r!r"�	test_ppid�sz TestProcessObjectLeaks.test_ppidz
POSIX onlycCs|j|jj�dS)N)rRr~Zuids)r:r!r!r"�	test_uids�sz TestProcessObjectLeaks.test_uidscCs|j|jj�dS)N)rRr~Zgids)r:r!r!r"�	test_gids�sz TestProcessObjectLeaks.test_gidscCs|j|jj�dS)N)rRr~Zstatus)r:r!r!r"�test_status�sz"TestProcessObjectLeaks.test_statuscCs|j|jj�dS)N)rRr~rj)r:r!r!r"�
test_nice_get�sz$TestProcessObjectLeaks.test_nice_getcCstj�}|j|jj|�dS)N)rJrjrRr~)r:Znicenessr!r!r"�
test_nice_set�sz$TestProcessObjectLeaks.test_nice_setz
not supportedcCs|j|jj�dS)N)rRr~re)r:r!r!r"�test_ionice_get�sz&TestProcessObjectLeaks.test_ionice_getcCsVtrtj�}|j|jj|�n4|j|jjtj�tjt	j
tj�dd�}|j
t|�dS)Nr,r���)rrJrerRr~rvZIOPRIO_CLASS_NONE�	functools�partial�cextZproc_ioprio_set�os�getpidrU�OSError)r:r5r?r!r!r"�test_ionice_set�sz&TestProcessObjectLeaks.test_ionice_setcCs|j|jj�dS)N)rRr~Zio_counters)r:r!r!r"�test_io_counterssz'TestProcessObjectLeaks.test_io_counterszworthless on POSIXcCs|j|jj�dS)N)rRr~Zusername)r:r!r!r"�
test_usernamesz$TestProcessObjectLeaks.test_usernamecCs|j|jj�dS)N)rRr~Zcreate_time)r:r!r!r"�test_create_timesz'TestProcessObjectLeaks.test_create_time)Zonly_ifcCs|j|jj�dS)N)rRr~Znum_threads)r:r!r!r"�test_num_threadssz'TestProcessObjectLeaks.test_num_threadszWINDOWS onlycCs|j|jj�dS)N)rRr~Znum_handles)r:r!r!r"�test_num_handlessz'TestProcessObjectLeaks.test_num_handlescCs|j|jj�dS)N)rRr~Znum_fds)r:r!r!r"�test_num_fdssz#TestProcessObjectLeaks.test_num_fdscCs|j|jj�dS)N)rRr~Znum_ctx_switches)r:r!r!r"�test_num_ctx_switches!sz,TestProcessObjectLeaks.test_num_ctx_switchescCs|j|jj�dS)N)rRr~Zthreads)r:r!r!r"�test_threads%sz#TestProcessObjectLeaks.test_threadscCs|j|jj�dS)N)rRr~�	cpu_times)r:r!r!r"�test_cpu_times*sz%TestProcessObjectLeaks.test_cpu_timescCs|j|jj�dS)N)rRr~Zcpu_num)r:r!r!r"�test_cpu_num.sz#TestProcessObjectLeaks.test_cpu_numcCs|j|jj�dS)N)rRr~rW)r:r!r!r"�test_memory_info3sz'TestProcessObjectLeaks.test_memory_infocCs|j|jj�dS)N)rRr~rV)r:r!r!r"�test_memory_full_info7sz,TestProcessObjectLeaks.test_memory_full_infocCs|j|jj�dS)N)rRr~Zterminal)r:r!r!r"�
test_terminal;sz$TestProcessObjectLeaks.test_terminalz worthless on POSIX (pure python)cCs|j|jj�dS)N)rRr~�resume)r:r!r!r"�test_resume@sz"TestProcessObjectLeaks.test_resumecCs|j|jj�dS)N)rRr~�cwd)r:r!r!r"�test_cwdEszTestProcessObjectLeaks.test_cwdcCs|j|jj�dS)N)rRr~rc)r:r!r!r"�test_cpu_affinity_getIsz,TestProcessObjectLeaks.test_cpu_affinity_getcCs4tj�}|j|jj|�ts0|jt|jjdg�dS)Nr,r�)rJrcrRr~rrU�
ValueError)r:Zaffinityr!r!r"�test_cpu_affinity_setMsz,TestProcessObjectLeaks.test_cpu_affinity_setc	Cs0tt�ttd��|j|jj�WdQRXdS)N�w)rr�openrRr~Z
open_files)r:r!r!r"�test_open_filesTsz&TestProcessObjectLeaks.test_open_filesztoo slow on OSXcCs|j|jj�dS)N)rRr~Zmemory_maps)r:r!r!r"�test_memory_maps[sz'TestProcessObjectLeaks.test_memory_mapsz
LINUX onlycCs|j|jjtj�dS)N)rRr~rmrv�
RLIMIT_NOFILE)r:r!r!r"�test_rlimit_getasz&TestProcessObjectLeaks.test_rlimit_getcCs6tjtj�}|j|jjtj|�|jt|jjd�dS)Nr,r�)rJrmrvr�rRr~rUr�)r:�limitr!r!r"�test_rlimit_setfsz&TestProcessObjectLeaks.test_rlimit_setzworthless on WINDOWSc
Cs2t��"trdnd}|j|jj|�WdQRXdS)NZinet�all)r
rrRr~Zconnections)r:Zkindr!r!r"�test_connectionsmsz'TestProcessObjectLeaks.test_connectionscCs|j|jj�dS)N)rRr~�environ)r:r!r!r"�test_environysz#TestProcessObjectLeaks.test_environcCs|jtjtj��dS)N)rRr��	proc_infor�r�)r:r!r!r"�test_proc_info}sz%TestProcessObjectLeaks.test_proc_infoN);rXrYrZr[rJr~r}r#rr�r�r�rrrr�r�r�r�r�rr�r�rr�r�r�rrr�rr�r�r�r�r�rr�r�r�r�r r�r�rr�r�r�rrr�rrr�r�r�rr�r�r!r!r!r"r`�sh


	r`cspeZdZdZe�fdd��Ze�fdd��Zdd�Zerhdd	�Z	d
d�Z
dd
�Zdd�Zdd�Z
dd�Z�ZS)�TestTerminatedProcessLeaksz�Repeat the tests above looking for leaks occurring when dealing
    with terminated processes raising NoSuchProcess exception.
    The C functions are still invoked but will follow different code
    paths. We'll check those code paths.
    cs:tt|�j�t�}tj|j�|_|jj�|jj	�dS)N)
�superr��
setUpClassrrvrwrar~rgrq)�cls�p)�	__class__r!r"r��s

z%TestTerminatedProcessLeaks.setUpClasscstt|�j�t�dS)N)r�r��
tearDownClassr)r�)r�r!r"r��sz(TestTerminatedProcessLeaks.tearDownClasscOs*y|||�Wntjk
r$YnXdS)N)rvZ
NoSuchProcess)r:r?r>r@r!r!r"r<�sz TestTerminatedProcessLeaks._callcCs|j|jj�dS)N)rRr~rg)r:r!r!r"�	test_kill�sz$TestTerminatedProcessLeaks.test_killcCs|j|jj�dS)N)rRr~rp)r:r!r!r"�test_terminate�sz)TestTerminatedProcessLeaks.test_terminatecCs|j|jj�dS)N)rRr~ro)r:r!r!r"�test_suspend�sz'TestTerminatedProcessLeaks.test_suspendcCs|j|jj�dS)N)rRr~r�)r:r!r!r"r��sz&TestTerminatedProcessLeaks.test_resumecCs|j|jj�dS)N)rRr~rq)r:r!r!r"�	test_wait�sz$TestTerminatedProcessLeaks.test_waitcs�fdd�}�j|�dS)NcsDytj�jj�Stk
r>}z|jtjkr.�WYdd}~XnXdS)N)r�r�r~rar��errnoZESRCH)�err)r:r!r"rT�s
z7TestTerminatedProcessLeaks.test_proc_info.<locals>.call)rR)r:rTr!)r:r"r��sz)TestTerminatedProcessLeaks.test_proc_info)rXrYrZr[�classmethodr�r�r<rr�r�r�r�r�r��
__classcell__r!r!)r�r"r��sr�c@s�eZdZdZdd�Ze�dd��Ze�dd��Ze�dd	��Ze�d
d��Z	dd
�Z
e�eje
d�dd���Zdd�Zejed�dd��Zejeo�ed�dd��Zejeo�ed�dd��Zdd�Zejeo�ejjd�d�e�dd ���Ze�d!d"��Ze�d#d$��Zejed%�eje�o&ej�d&kd'�d(d)���Z d*d+�Z!eje"d,�d-d.��Z#e�eje$d�d/d0���Z%e�eje&d�d1d2���Z'e�eje(d�d3d4���Z)e�d5d6��Z*eje+d7�d8d9��Z,e+�r�d:d;�Z-d<d=�Z.d>d?�Z/d@dA�Z0dBdC�Z1dDS)E�TestModuleFunctionsLeaksz&Test leaks of psutil module functions.cCsHtd
�}x:tjD]0}|j�sq||kr(q|jt|d|�|d	�qWdS)N�version_info�__version__�process_iter�
wait_procsrd�cpu_times_percent�	cpu_countrs)rQ)r�r�r�r�rdr�r�)rtrv�__all__�islowerryrz)r:r{r|r!r!r"r}�sz&TestModuleFunctionsLeaks.test_coveragecCs|jtjdd�dS)NT)�logical)rRrvr�)r:r!r!r"�test_cpu_count_logical�sz/TestModuleFunctionsLeaks.test_cpu_count_logicalcCs|jtjdd�dS)NF)r�)rRrvr�)r:r!r!r"�test_cpu_count_physical�sz0TestModuleFunctionsLeaks.test_cpu_count_physicalcCs|jtj�dS)N)rRrvr�)r:r!r!r"r��sz'TestModuleFunctionsLeaks.test_cpu_timescCs|jtjdd�dS)NT)Zpercpu)rRrvr�)r:r!r!r"�test_per_cpu_times�sz+TestModuleFunctionsLeaks.test_per_cpu_timescCs|jtj�dS)N)rRrvZ	cpu_stats)r:r!r!r"�test_cpu_stats�sz'TestModuleFunctionsLeaks.test_cpu_statsz
not supportedcCs|jtj�dS)N)rRrvZcpu_freq)r:r!r!r"�
test_cpu_freq�sz&TestModuleFunctionsLeaks.test_cpu_freqcCs|jtj�dS)N)rRrvZvirtual_memory)r:r!r!r"�test_virtual_memory�sz,TestModuleFunctionsLeaks.test_virtual_memoryz&worthless on SUNOS (uses a subprocess)cCs|jtj�dS)N)rRrvZswap_memory)r:r!r!r"�test_swap_memory�sz)TestModuleFunctionsLeaks.test_swap_memoryz worthless on POSIX (pure python)cCs|jtjtj��dS)N)rRrvZ
pid_existsr�r�)r:r!r!r"�test_pid_exists�sz(TestModuleFunctionsLeaks.test_pid_existscCs|jtjd�dS)N�.)rRrvZ
disk_usage)r:r!r!r"�test_disk_usage�sz(TestModuleFunctionsLeaks.test_disk_usagecCs|jtj�dS)N)rRrvZdisk_partitions)r:r!r!r"�test_disk_partitions�sz-TestModuleFunctionsLeaks.test_disk_partitionsz/proc/diskstatsz3/proc/diskstats not available on this Linux versioncCs|jtjdd�dS)NF)�nowrap)rRrvZdisk_io_counters)r:r!r!r"�test_disk_io_counterssz.TestModuleFunctionsLeaks.test_disk_io_counterscCs|jtj�dS)N)rRrvZpids)r:r!r!r"�	test_pidssz"TestModuleFunctionsLeaks.test_pidscCs|jtjdd�dS)NF)r�)rRrvZnet_io_counters)r:r!r!r"�test_net_io_counterssz-TestModuleFunctionsLeaks.test_net_io_countersz worthless on Linux (pure python)rzneed root accessc	Cs"t��|jtj�WdQRXdS)N)r
rRrvZnet_connections)r:r!r!r"�test_net_connectionssz-TestModuleFunctionsLeaks.test_net_connectionscCs|jtjtrdndd�dS)N�Pi)rCi@)rRrvZnet_if_addrsr)r:r!r!r"�test_net_if_addrssz*TestModuleFunctionsLeaks.test_net_if_addrszEPERM on traviscCs|jtj�dS)N)rRrvZnet_if_stats)r:r!r!r"�test_net_if_statssz*TestModuleFunctionsLeaks.test_net_if_statscCs|jtj�dS)N)rRrvZsensors_battery)r:r!r!r"�test_sensors_battery$sz-TestModuleFunctionsLeaks.test_sensors_batterycCs|jtj�dS)N)rRrvZsensors_temperatures)r:r!r!r"�test_sensors_temperatures)sz2TestModuleFunctionsLeaks.test_sensors_temperaturescCs|jtj�dS)N)rRrvZsensors_fans)r:r!r!r"�test_sensors_fans.sz*TestModuleFunctionsLeaks.test_sensors_fanscCs|jtj�dS)N)rRrvZ	boot_time)r:r!r!r"�test_boot_time5sz'TestModuleFunctionsLeaks.test_boot_timez(XXX produces a false positive on WindowscCs|jtj�dS)N)rRrvZusers)r:r!r!r"�
test_users:sz#TestModuleFunctionsLeaks.test_userscCs|jtj�dS)N)rRr�Zwinservice_enumerate)r:r!r!r"�test_win_service_iterBsz.TestModuleFunctionsLeaks.test_win_service_itercCsdS)Nr!)r:r!r!r"�test_win_service_getEsz-TestModuleFunctionsLeaks.test_win_service_getcCs"ttj��j�}|jtj|�dS)N)�nextrv�win_service_iterr|rRr�Zwinservice_query_config)r:r|r!r!r"�test_win_service_get_configHsz4TestModuleFunctionsLeaks.test_win_service_get_configcCs"ttj��j�}|jtj|�dS)N)r�rvr�r|rRr�Zwinservice_query_status)r:r|r!r!r"�test_win_service_get_statusLsz4TestModuleFunctionsLeaks.test_win_service_get_statuscCs"ttj��j�}|jtj|�dS)N)r�rvr�r|rRr�Zwinservice_query_descr)r:r|r!r!r"� test_win_service_get_descriptionPsz9TestModuleFunctionsLeaks.test_win_service_get_descriptionN)2rXrYrZr[r}r#r�r�r�r�r�rrr
r�r�rr�rr r�r�r�rr��path�existsr�r�r�r�getuidr�r�rr�rr�rr�rr�r�rr�r�r�r�r�r�r!r!r!r"r��sR


$r��__main__):r[Z
__future__rr�r�r8r�rOrIrMrvZpsutil._commonrrrrrrZpsutil._compatr	Zpsutil.testsr
rrr
rrrrrrrrrrrrrrrrr]r\r^r Z_psplatformr�rwrJr#r6ZTestCaser7r`r�r�rX�__file__r!r!r!r"�<module>
slcB<


Youez - 2016 - github.com/yon3zu
LinuXploit