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.142
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 :  /opt/alt/python37/lib64/python3.7/site-packages/psutil/tests/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/alt/python37/lib64/python3.7/site-packages/psutil/tests/__pycache__/test_system.cpython-37.pyc
B

�=�_��@szdZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlmZddlm
Z
ddlmZddlmZddlmZddlmZdd	lmZdd
lmZddlmZddlmZdd
lmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlm Z ddlm!Z!ddlm"Z"ddlm#Z#ddlm$Z$ddlm%Z%ddlm&Z&ddlm'Z'ddlm(Z(ddlm)Z)ddlm*Z*dd lm+Z+dd!lm,Z,dd"lm-Z-dd#lm.Z.Gd$d%�d%e)�Z/Gd&d'�d'e)�Z0Gd(d)�d)e)�Z1Gd*d+�d+e)�Z2Gd,d-�d-e)�Z3Gd.d/�d/e)�Z4Gd0d1�d1e)�Z5e6d2k�rvdd3l7m8Z8e8e9�dS)4zTests for system APIS.�N)�AIX)�BSD)�FREEBSD)�LINUX)�MACOS)�NETBSD)�OPENBSD)�POSIX)�SUNOS)�WINDOWS)�FileNotFoundError)�long)�ASCII_FS)�check_net_address)�
CI_TESTING)�DEVNULL)�enum)�GLOBAL_TIMEOUT)�HAS_BATTERY)�HAS_CPU_FREQ)�HAS_GETLOADAVG)�HAS_NET_IO_COUNTERS)�HAS_SENSORS_BATTERY)�HAS_SENSORS_FANS)�HAS_SENSORS_TEMPERATURES)�IS_64BIT)�mock)�PsutilTestCase)�PYPY)�retry_on_failure)�GITHUB_ACTIONS)�UNICODE_SUFFIX)�unittestc@s\eZdZdd�Zdd�Ze�eo"ed�dd��Z	e�eo:ed�dd	��Z
d
d�Zdd
�ZdS)�TestProcessAPIsc
Cs�|�t��dd�t��D��|��}|�|jdd�t��D��t�|j�}|��|�	�|�
|jdd�t��D��tjdt�
t���d��|�tt���g�WdQRXtjdt�t���d��*|�tj��tt���WdQRXWdQRXdS)NcSsg|]
}|j�qS�)�pid)�.0�xr$r$�K/opt/alt/python37/lib64/python3.7/site-packages/psutil/tests/test_system.py�
<listcomp>@sz5TestProcessAPIs.test_process_iter.<locals>.<listcomp>cSsg|]
}|j�qSr$)r%)r&r'r$r$r(r)BscSsg|]
}|j�qSr$)r%)r&r'r$r$r(r)Fszpsutil.Process)�side_effect)�assertIn�os�getpid�psutil�process_iter�spawn_testprocr%�Process�kill�waitZassertNotInr�patch�
NoSuchProcess�assertEqual�list�AccessDenied�assertRaises)�self�sproc�pr$r$r(�test_process_iter?sz!TestProcessAPIs.test_process_iterc	Cs8x.tjdgd�D]}|�t|j���dg�qW|�t��ttjdgd��WdQRXtj	dt�
dd�d��L}x:tjddgd�D]&}|�|jd�|�|jdd�q�W|j
s�t�WdQRXtj	dt�
dd�d��X}t�}x>tjddg|d	�D](}|�|jd|�|�|jdd�q�W|j
�s*t�WdQRXdS)
Nr%)�attrsZfooz$psutil._psplatform.Process.cpu_timesr�)r*�	cpu_times)r>Zad_value)r.r/r6r7�info�keysr9�
ValueErrorrr4r8�assertIsNone�assertGreaterEqual�called�AssertionError�object�assertIs)r:r<�m�flagr$r$r(�test_prcess_iter_w_attrsPs$z(TestProcessAPIs.test_prcess_iter_w_attrsz-spawn_testproc() unreliable on PYPY + WINDOWScs��fdd�}g����}���}���}dd�|||fD�}�jttj|dd��jttj|dd�t��}tj|d	|d
�\}}��t��|d���|g���t	|�d����g�x|D]}	��
t|	d
��q�Wtd��fdd��}
|�
�|
||�\}}��|jdd�|D��t�r:��|��jtj�n��|��jd����|jg�x|D]}	��
t|	d
���qbWtd��fdd��}
|�
�|�
�|
||�\}}��t��t|j|j|jg��x|D]}	��t|	d
���q�WdS)Ncs��|j�dS)N)�appendr%)r<)�pidsr$r(�callbackgsz1TestProcessAPIs.test_wait_procs.<locals>.callbackcSsg|]}t�|j��qSr$)r.r1r%)r&r'r$r$r(r)nsz3TestProcessAPIs.test_wait_procs.<locals>.<listcomp>���)�timeout�)rOg{�G�z�?)rQrOg�?��
returncode�cs<tj|d|d�\}}��t|�d���t|�d�||fS)Ng���Q��?)rQrOrR�)r.�
wait_procsr6�len)�procsrO�gone�alive)r:r$r(�test{s
z-TestProcessAPIs.test_wait_procs.<locals>.testcSsg|]
}|j�qSr$)r%)r&r'r$r$r(r)�scs<tj|d|d�\}}��t|�d���t|�d�||fS)Ng���Q��?)rQrOrSr)r.rWr6rX)rYrOrZr[)r:r$r(r\�s
)r0r9rCr.rW�	TypeError�time�
assertLessr6rX�assertFalse�hasattrr�	terminater+r%r	�poprT�signal�SIGTERM�set�
assertTrue)r:rO�sproc1�sproc2�sproc3rY�trZr[r<r\r$)rNr:r(�test_wait_procsdsB

 
zTestProcessAPIs.test_wait_procscCsT|��}|��}|��}dd�|||fD�}x|D]}|��q2Wt�|�\}}dS)NcSsg|]}t�|j��qSr$)r.r1r%)r&r'r$r$r(r)�sz>TestProcessAPIs.test_wait_procs_no_timeout.<locals>.<listcomp>)r0rbr.rW)r:rhrirjrYr<rZr[r$r$r(�test_wait_procs_no_timeout�s
z*TestProcessAPIs.test_wait_procs_no_timeoutcCsv|��}|�t�|j��t�|j�}|��|��|�t�|j��|�t�d��|�	t�d�dt�
�k�dS)NrPr)r0rgr.�
pid_existsr%r1r2r3r`r6rN)r:r;r<r$r$r(�test_pid_exists�szTestProcessAPIs.test_pid_existsc	Cs�t��}xT|D]L}yt�|�s"t�Wqtk
rXt�d�|t��krT|�|�YqXqWtt|�dt|�d�}x |D]}|j	t�|�|d�q~WdS)Ng�������?i�ip)�msg)
r.rNrnrGr^�sleep�fail�range�maxr`)r:rNr%r$r$r(�test_pid_exists_2�s


z!TestProcessAPIs.test_pid_exists_2N)
�__name__�
__module__�__qualname__r=rLr"�skipIfrrrlrmrorur$r$r$r(r#=s
8


r#c@sBeZdZdd�Ze�eo e��d�dd��Z	dd�Z
dd	�Zd
S)�TestMiscAPIscCs4t��}|�|t�|�|d�|�|t���dS)Nr)r.Z	boot_time�assertIsInstance�float�
assertGreaterr_r^)r:Zbtr$r$r(�test_boot_time�szTestMiscAPIs.test_boot_timezunreliable on CIcCs�t��}|�|g�x�|D]�}|js,t|��|�|jt�|�|jttd�f�|j	dk	rp|�|j	ttd�f�|j|j	|j
dks�t|��tj�|j
�t
s�tr�|�|j�qt�|j�qWdS)Ng)r.�users�assertNotEqual�namerGr{�str�terminal�type�host�started�datetime�
fromtimestamprrrDr%r1)r:r�userr$r$r(�
test_users�s

zTestMiscAPIs.test_userscCs&tj}tt_zt��Wd|t_XdS)N)�sys�stdoutrr.r\)r:r�r$r$r(�	test_test�s
zTestMiscAPIs.test_testc	Cs�ddddddddd	g	}x"|D]}|jtt|�t|d
�qWtjdk�rHtjsPt�tjrZt�|�	d�dt
j��kr�tj
s|t�|�	d�n�d
t
j��kr�tjs�t�|�tjtjtjg�d�d�|�	d�|�	d�|�	d�|�	d�n^dt
j��k�sdt
j��k�r tj�st�|�	d	�n&dt
j��k�rjtj�s<t�|�	d�n"tj�sTt�tj�r`t�|�	d�x$|D]}|jtt|�d|d
��qpWdS)Nr	rrrrrrrr
)rp�posix�linuxZbsdTrR�sunos�solaris�darwinF)r{�getattrr.�boolr,r�r	rGr�remover��platform�lowerrrr6rrr�countr
rrI)r:�namesr�r$r$r(�test_os_constants�s>











zTestMiscAPIs.test_os_constantsN)rvrwrxr~r"ryrr.rr�r�r�r$r$r$r(rz�s	rzc@seZdZdd�Zdd�ZdS)�TestMemoryAPIscCs�t��}|jdkst|��|jdks,t|��d|jkrBdksLnt|��|jdks^t|��|jdkspt|��xt|jD]j}t	||�}|dkr�|�
|ttf�|dkrx|dks�|�
d||f�||jkrx|�
d||j||f�qxWdS)Nr�d�percent�totalz%r < 0 (%s)z%r > total (total=%s, %s=%s))r.Zvirtual_memoryr�rGZ	availabler��used�free�_fieldsr�r{�intr
rr)r:�memr��valuer$r$r(�test_virtual_memorys  

z"TestMemoryAPIs.test_virtual_memorycCs�t��}|�|jd�|jdks(t|��|jdks:t|��|jdkrX|jdksjt|��n|jdksjt|��d|jkr�dks�nt|��|j	dks�t|��|j
dks�t|��dS)N)r�r�r�r��sin�soutrr�)r.Zswap_memoryr6r�r�rGr�r�r�r�r�)r:r�r$r$r(�test_swap_memory s

 zTestMemoryAPIs.test_swap_memoryN)rvrwrxr�r�r$r$r$r(r�sr�c@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Ze�ed�d d!��Ze�ed"�d#d$��Zd%S)&�TestCpuAPIsc	Cstt��}|�|�|�|ttjdd���|�|d�tj�	d�rpt
d��}|��}WdQRXd|krpt�
d��dS)NT)�percpurRz
/proc/cpuinfozphysical idz#cpuinfo doesn't include physical id)r.�	cpu_countZassertIsNotNoner6rXr@rEr,�path�exists�open�readr"ZSkipTest)r:�logical�fdZcpuinfo_datar$r$r(�test_cpu_count_logical3s

z"TestCpuAPIs.test_cpu_count_logicalcCsft��}tjdd�}|dkr&|�d��trJt��dd�dkrJ|�|�n|�|d�|�||�dS)NF)r�zphysical cpu_count() is NonerV)�rRrR)r.r��skipTestrr��getwindowsversionrDrE)r:r�Zphysicalr$r$r(�test_cpu_count_physical?s
z#TestCpuAPIs.test_cpu_count_physicalc
CszxtdD]l}tjd|d��}|�t���|js2t�WdQRXtjd|d��"}|�tjdd��|jsht�WdQRXqWdS)N)rPrNz$psutil._psplatform.cpu_count_logical)�return_valuez%psutil._psplatform.cpu_count_physicalF)r�)rr4rDr.r�rFrG)r:�valrJr$r$r(�test_cpu_count_noneJs


zTestCpuAPIs.test_cpu_count_nonecCs^d}t��}t|�x,|D]$}|�|t�|�|d�||7}qW|�|t|��t|�dS)Nrg)r.r@�sumr{r|rEr6r�)r:r��times�cp_timer$r$r(�test_cpu_timesVs
zTestCpuAPIs.test_cpu_timescCsPtt���}t��t}x(t��|kr@tt���}||krdSqW|�d�dS)Nztime remained the same)r�r.r@r^rrr)r:�t1Zstop_at�t2r$r$r(�test_cpu_times_time_increasesssz)TestCpuAPIs.test_cpu_times_time_increasescCs�xftjdd�D]V}d}t|�x,|D]$}|�|t�|�|d�||7}q$W|�|t|��t|�qW|�ttjdd�d�ttjdd���dS)NT)r�rgF)	r.r@r�r{r|rEr6r�rX)r:r�r�r�r$r$r(�test_per_cpu_times}s
zTestCpuAPIs.test_per_cpu_timescCs�tjdd�}t��t}xht��|kr0|�d�Stjdd�}x@t||�D]2\}}t�|�t�|�}}||}|dkrHdSqHWqWdS)NT)r�rQg�������?)r.r@r^rrr�zipZ_cpu_busy_time)r:Ztot1Z	giveup_atZtot2r�r��
differencer$r$r(�test_per_cpu_times_2�s
z TestCpuAPIs.test_per_cpu_times_2cCs\t��}tjdd�}|�dd�t|�D��}x*|jD] }|jt||�t||�dd�q4WdS)NT)r�cSsg|]}t|��qSr$)r�)r&�numr$r$r(r)�sz9TestCpuAPIs.test_cpu_times_comparison.<locals>.<listcomp>rR)�delta)r.r@�_maker�r��assertAlmostEqualr�)r:�baseZper_cpuZ
summed_values�fieldr$r$r(�test_cpu_times_comparison�sz%TestCpuAPIs.test_cpu_times_comparisonc
Cs�y<|�|t�|�|d�|�|d�|�|dt���Wn@tk
r|}z"td|t�	|�t�	|�f��Wdd}~XYnXdS)Ngg�gY@z
%s
last=%s
new=%s)
r{r|rEZassertIsNot�assertLessEqualr.r�rG�pprint�pformat)r:r�Zlast_retZnew_ret�errr$r$r(�_test_cpu_percent�szTestCpuAPIs._test_cpu_percentc	Csbtjdd�}x.td�D]"}tjdd�}|�|||�|}qW|�t��tjdd�WdQRXdS)Ng����MbP?)�intervalr�rP)r.�cpu_percentrsr�r9rC)r:�lastr'�newr$r$r(�test_cpu_percent�szTestCpuAPIs.test_cpu_percentc	Cs�tjddd�}|�t|�t���x>td�D]2}tjddd�}x|D]}|�|||�qDW|}q,W|�t��tjddd�WdQRXdS)Ng����MbP?T)r�r�r�rP)	r.r�r6rXr�rsr�r9rC)r:r�r'r�r�r$r$r(�test_per_cpu_percent�s
z TestCpuAPIs.test_per_cpu_percentc	Cs�tjdd�}xNtd�D]B}tjdd�}x|D]}|�|||�q,W|�t|�||�|}qW|�t��tjdd�WdQRXdS)Ng����MbP?)r�r�rP)r.�cpu_times_percentrsr�r�r9rC)r:r�r'r�r�r$r$r(�test_cpu_times_percent�s
z"TestCpuAPIs.test_cpu_times_percentcCs�tjddd�}|�t|�t���x^td�D]R}tjddd�}x:|D]2}x|D]}|�|||�qNW|�t|�||�qDW|}q,WdS)Ng����MbP?T)r�r�r�)r.r�r6rXr�rsr�r�)r:r�r'r��cpur�r$r$r(�test_per_cpu_times_percent�s

z&TestCpuAPIs.test_per_cpu_times_percentc	Csrtjdd�dd�tjdd�D�}tjd|d��8x0tjdd�D] }x|D]}|�|dd�qJWq@WWdQRXdS)NT)r�cSs*g|]"}|�dd�tt|j��D���qS)cSsg|]}d�qS)rr$)r&r'r$r$r(r)�szNTestCpuAPIs.test_per_cpu_times_percent_negative.<locals>.<listcomp>.<listcomp>)r�rsrXr�)r&r'r$r$r(r)�szCTestCpuAPIs.test_per_cpu_times_percent_negative.<locals>.<listcomp>zpsutil.cpu_times)r�)r.r�r@rr4r�)r:Z
zero_timesr�r�r$r$r(�#test_per_cpu_times_percent_negative�s
z/TestCpuAPIs.test_per_cpu_times_percent_negativecCsXt��}|�|jd�x<|jD]2}t||�}|�|d�ts|dkr|�|d�qWdS)N)�ctx_switches�
interrupts�soft_interrupts�syscallsr)r�r�)r.Z	cpu_statsr6r�r�rErr})r:Zinfosr�r�r$r$r(�test_cpu_stats�s
zTestCpuAPIs.test_cpu_statsznot suportedcsd�fdd�}tjdd�}tr*|s*��d��|s6t|��|tjdd�g�tr`��t|�t���dS)Ncsrxl|D]d}��|jd�|jdkr2��|j|j�x6|jD],}t||�}��|ttt	f���
|d�q:WqWdS)N)�current�minrtgr)r6r�rtr�r�r�r{r�r
r|rE)�ls�ntr�r�)r:r$r(�check_lss


z+TestCpuAPIs.test_cpu_freq.<locals>.check_lsT)r�zreturns empty list on FreeBSDF)	r.Zcpu_freqrr�rGrr6rXr�)r:r�r�r$)r:r(�
test_cpu_freqs

zTestCpuAPIs.test_cpu_freqz
not supportedcCsBt��}|�t|�d�x$|D]}|�|t�|�|d�qWdS)NrSg)r.�
getloadavgr6rXr{r|rE)r:Zloadavg�loadr$r$r(�test_getloadavgs

zTestCpuAPIs.test_getloadavgN)rvrwrxr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r"ryrr�rr�r$r$r$r(r�1s"
!

	

r�c@s�eZdZe�eoed�dd��Ze�ed�dd��Z	dd�Z
d	d
�Ze�eo\e
j�d�d�e�eope��d
�dd���Zdd�ZdS)�TestDiskAPIszunreliable on PYPY32 + 32BITc	Cst�t���}|�|jd�|jdks.t|��|jdks@t|��|j	dksRt|��|j|jksft|��|j|j	kszt|��d|j
kr�dks�nt|j
��ttd�r�t�t���}d}|�|j|j�|j
|j	|j	|d�|j
|j|j|d�|��}|�t��t�|�WdQRXdS)N)r�r�r�r�rr��
disk_usageiP)r�)r.r�r,�getcwdr6r�r�rGr�r�r�ra�shutilr�Z
get_testfnr9r)r:�usageZshutil_usageZ	tolerance�fnamer$r$r(�test_disk_usage#s&"
zTestDiskAPIs.test_disk_usageznot an ASCII fsc	Cs$|�t��t�t�WdQRXdS)N)r9�UnicodeEncodeErrorr.r�r!)r:r$r$r(�test_disk_usage_unicode>sz$TestDiskAPIs.test_disk_usage_unicodecCst�d�dS)N�.)r.r�)r:r$r$r(�test_disk_usage_bytesDsz"TestDiskAPIs.test_disk_usage_bytescs��fdd�}tjdd�}�j||d�xj|D]b}||�trHd|jkrHq,tsdtj�|j	�sjt
|��n|j	tj�|j�s�t
|��|js,t
|��q,Wtjdd�}�j||d�x�tjdd�D]�}||�ts�|jr�yt�
|j�WnVtk
�r6}z6t�rt�r|jtjk�rw�|jtjtjfk�r&�Wdd}~XYq�Xtj�|j�s�t
|��q�Wdd	�}|t�}d
d�tjdd�D�}��||�dS)Ncs���|jt���|jt���|jt���|jt���|jttd�f���|j	ttd�f�|jdk	r�t
s���|jd�|j	dk	r���|j	d�dS)Nr)r{�devicer��
mountpoint�fstype�opts�maxfiler�r��maxpathr r})r�)r:r$r(�check_ntupleHs
z7TestDiskAPIs.test_disk_partitions.<locals>.check_ntupleF)�all)rpZcdromTcSs2tj�|�}xtj�|�s(tj�|�}qW|��S)N)r,r��abspath�ismount�dirnamer�)r�r$r$r(�find_mount_pointysz;TestDiskAPIs.test_disk_partitions.<locals>.find_mount_pointcSsg|]}|jr|j���qSr$)r�r�)r&r'r$r$r(r)�sz5TestDiskAPIs.test_disk_partitions.<locals>.<listcomp>)r.Zdisk_partitionsrgrr�r	r,r�r�r�rGr�r��stat�OSErrorr r�errnoZEIO�EPERM�EACCES�__file__r+)r:r�r�Zdiskr�rZmountZmountsr$)r:r(�test_disk_partitionsGs<


z!TestDiskAPIs.test_disk_partitionsz/proc/diskstatsz3/proc/diskstats not available on this linux versionzunreliable on CIcs~�fdd�}tjdd�}|dk	s(td��||�tjdd�}��t|�tt|���x$|D]}|sjt|��|||�qZWdS)Ncs���|d|j���|d|j���|d|j���|d|j�ts�tsƈ�|d|j���|d|j�t	r���|d|j
���|d|j���|d	|j�nt
rƈ�|d|j�x$|jD]}t||�dks�t|��q�WdS)
NrrRrVrS��r���)r6�
read_count�write_count�
read_bytes�write_bytesrr�	read_time�
write_timerZread_merged_countZwrite_merged_countZ	busy_timerr�r�rG)r�r�)r:r$r(r��sz8TestDiskAPIs.test_disk_io_counters.<locals>.check_ntupleF)�perdiskzno disks on this system?T)r.�disk_io_countersrGr6rXrf)r:r��ret�keyr$)r:r(�test_disk_io_counters�s
z"TestDiskAPIs.test_disk_io_countersc	CsNtjdid��6}|�tjdd��|�tjdd�i�|js@t�WdQRXdS)Nz#psutil._psplatform.disk_io_counters)r�F)rT)rr4rDr.rr6rFrG)r:rJr$r$r(�test_disk_io_counters_no_disks�s

z+TestDiskAPIs.test_disk_io_counters_no_disksN)rvrwrxr"ryrrr�rr�r�rrr,r�r�rr.rrrr$r$r$r(r�!s=r�c@sneZdZe�ed�dd��Ze�ed�dd��Zdd�Zdd	�Z	d
d�Z
e�epZepZe
d�d
d��ZdS)�TestNetAPIsz
not supportedcsl�fdd�}tjdd�}||�tjdd�}��|g�x.|D]&}��|���|t�|||�q>WdS)Ncs(��|d|j���|d|j���|d|j���|d|j���|d|j���|d|j���|d|j���|d|j�|jdks�t	|��|jdks�t	|��|jdks�t	|��|jdks�t	|��|jdks�t	|��|jdks�t	|��|jdk�st	|��|jdk�s$t	|��dS)	NrrRrVrSrr	r�r
)
r6�
bytes_sent�
bytes_recv�packets_sent�packets_recv�errin�errout�dropin�dropoutrG)r�)r:r$r(r��s z6TestNetAPIs.test_net_io_counters.<locals>.check_ntupleF)�pernicT)r.�net_io_countersr�rgr{r�)r:r�rrr$)r:r(�test_net_io_counters�s

z TestNetAPIs.test_net_io_countersc	CsNtjdid��6}|�tjdd��|�tjdd�i�|js@t�WdQRXdS)Nz"psutil._psplatform.net_io_counters)r�F)r!T)rr4rDr.r"r6rFrG)r:rJr$r$r(�test_net_io_counters_no_nics�s

z(TestNetAPIs.test_net_io_counters_no_nicscCsxt��}|st|��t��}ttjtjtjg�}�x�|�	�D�]�\}}|�
|t�|�t
t|��t
|���x�|D�]�}|�
|jt�|�
|jt�|�
|jttd�f�|�
|jttd�f�|�|j|�tjdkr�ts�|�
|jtj�||j�r�|jtjk�r:t�|j�}t�|��|�|jdf�WdQRXnj|jtjk�r�t�|jdtjtjdtj �d}|\}	}
}}}
t�|	|
|�}t�|��|�|
�WdQRXxB|j|j|j|j!fD]*}|dk	�r�|jtjk�r�t"||j��q�W|j�r�|�#|j!�qr|j!rr|�#|j�qrWq<Wt$�s*t%�s*t&�rHt'td��rt|�tjtj�n,t(�r`|�tjtj)�nt*�rt|�tjd�dS)N)rSrr�AF_LINKrP)+r.�net_if_addrsrG�net_if_statsrf�socket�AF_INET�AF_INET6r%�itemsr{r�r6rX�familyr��address�netmaskr��	broadcastr+r��version_inforr�IntEnum�isup�
contextlib�closing�bind�getaddrinfo�SOCK_STREAM�
AI_PASSIVE�ptprrDrrr
rar�	AF_PACKETr)r:�nicsZ	nic_statsZfamiliesZnic�addrs�addr�srA�af�socktype�proto�	canonname�sa�ipr$r$r(�test_net_if_addrs�sX

zTestNetAPIs.test_net_if_addrsc	Csztrdtjddddfg}ndg}tjd|d��B}t��dd}|jsJt�tr^|�|j	d�n|�|j	d�WdQRXdS)	N�em1z06:3d:29)rFrPz06-3d-29NNNzpsutil._psplatform.net_if_addrs)r�rz06:3d:29:00:00:00z06-3d-29-00-00-00)
r	r.r%rr4r&rFrGr6r-)r:rrJr=r$r$r(� test_net_if_addrs_mac_null_bytess

z,TestNetAPIs.test_net_if_addrs_mac_null_bytesc	Cs�t��}|st|��tjtjtjf}xh|��D]\\}}|�|t�|\}}}}|�|t	�|�
||�|�
||�|�|d�|�|d�q.WdS)Nr)r.r'rG�NIC_DUPLEX_FULL�NIC_DUPLEX_HALF�NIC_DUPLEX_UNKNOWNr+r{r�r�r+rE)	r:r;Zall_duplexesr�Zstatsr2�duplex�speed�mtur$r$r(�test_net_if_stats$szTestNetAPIs.test_net_if_statszLINUX or BSD or MACOS specificc	CsDtjdttjd�d��$}t��}|�|i�|js6t	�WdQRXdS)Nzpsutil._psutil_posix.net_if_mtur?)r*)
rr4rrZENODEVr.r'r6rFrG)r:rJrr$r$r(�test_net_if_stats_enodev3s
z$TestNetAPIs.test_net_if_stats_enodevN)rvrwrxr"ryrr#r$rErGrNrrrrOr$r$r$r(r�s
<rc@sreZdZe�ed�dd��Ze�ed�dd��Ze�ed�e�e	d�dd���Z
e�ed�d	d
��ZdS)�TestSensorsAPIsz
not supportedcCs�t��}x�|��D]x\}}|�|t�xb|D]Z}|�|jt�|jdk	rV|�|jd�|jdk	rn|�|jd�|j	dk	r,|�|j	d�q,WqWdS)Nr)
r.�sensors_temperaturesr+r{r��labelr�rE�high�critical)r:�tempsr��entries�entryr$r$r(�test_sensors_temperatures@s



z)TestSensorsAPIs.test_sensors_temperaturesc	Cspddgi}tjd|d��N}tjdd�dd}|js8t�|�|jd�|�|jd	�|�|j	d
�WdQRXdS)NZcoretemp)rRgI@gN@g�Q@z'psutil._psplatform.sensors_temperatures)r�T)Z
fahrenheitrg�^@g�a@g�c@)
rr4r.rQrFrGr6r�rSrT)r:�drJrUr$r$r(�#test_sensors_temperatures_fahreneitNs


z3TestSensorsAPIs.test_sensors_temperatures_fahreneitz
no batterycCspt��}|�|jd�|�|jd�|jtjtjfkrF|�|jd�n|jtjkr^|�|j	�|�
|j	t�dS)Nrr�)r.Zsensors_batteryrEr�r��secsleft�POWER_TIME_UNKNOWN�POWER_TIME_UNLIMITEDrg�
power_pluggedr{r�)r:rr$r$r(�test_sensors_batteryZs
z$TestSensorsAPIs.test_sensors_batterycCsjt��}x\|��D]P\}}|�|t�x:|D]2}|�|jt�|�|jttf�|�	|jd�q,WqWdS)Nr)
r.Zsensors_fansr+r{r�rRr�r�r
rE)r:Zfansr�rVrWr$r$r(�test_sensors_fanshs
z!TestSensorsAPIs.test_sensors_fansN)
rvrwrxr"ryrrXrZrrr_rr`r$r$r$r(rP>s

rP�__main__)�
run_from_name):�__doc__r3r�rr,r�r�rdr(r�r^r.rrrrrrrr	r
rZpsutil._compatrr
Zpsutil.testsrrrrrrrrrrrrrrrrrrr r!r"r#rzr�r�r�rrPrvZpsutil.tests.runnerrbrr$r$r$r(�<module>stJ%q5


Youez - 2016 - github.com/yon3zu
LinuXploit