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 : 104.21.83.152  /  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_connections.cpython-36.pyc
3

��JZ�P�@s8dZddlZddlZddlZddlmZddlmZddlmZddlmZddlm	Z	ddl
Z
ddl
mZdd	l
mZdd
l
m
Z
ddl
mZddl
mZdd
l
mZddl
mZddl
mZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlm Z ddlm!Z!ddlm"Z"ddlm#Z#ddlm$Z$ddlm%Z%dd lm&Z&dd!lm'Z'dd"lm(Z(dd#lm)Z)dd$lm*Z*e
j+�Z,Gd%d&�d&e-�Z.Gd'd(�d(e.e'j/�Z0Gd)d*�d*e.e'j/�Z1Gd+d,�d,e.e'j/�Z2Gd-d.�d.e'j/�Z3e4d/k�r4e!e5�dS)0z;Tests for net_connections() and Process.connections() APIs.�N)�closing)�AF_INET)�AF_INET6)�
SOCK_DGRAM)�SOCK_STREAM)�FREEBSD)�LINUX)�NETBSD)�OPENBSD)�OSX)�POSIX)�SUNOS)�WINDOWS)�
supports_ipv6)�PY3)�AF_UNIX)�bind_socket)�bind_unix_socket)�check_connection_ntuple)�create_sockets)�
get_free_port)�HAS_CONNECTIONS_UNIX)�pyrun)�
reap_children)�run_test_module_by_name)�safe_rmpath)�skip_on_access_denied)�tcp_socketpair)�TESTFN)�TRAVIS)�unittest)�unix_socket_path)�unix_socketpair)�
wait_for_filec@s8eZdZdd�Zdd�Zdd�Zd
dd	�Zddd�ZdS)�BasecCs"tstjdd�}|st|��dS)N�all)�kind)r	�thisproc�connections�AssertionError)�self�cons�r,�(/usr/lib64/python3.6/test_connections.py�setUp6sz
Base.setUpcCs0tt�t�ts,tjdd�}|s,t|��dS)Nr%)r&)rrrr	r'r(r))r*r+r,r,r-�tearDown<s
z
Base.tearDowncCsrtjdd�}tdd�|D��}tr.||j�S|jt|�d�|djdkrf|j||j�j|j��|dSdS)Nr%)r&cSsg|]}|j|f�qSr,)�fd)�.0�cr,r,r-�
<listcomp>Gsz+Base.get_conn_from_sock.<locals>.<listcomp>�r���)r'r(�dictr	�fileno�assertEqual�lenr0)r*�sockr+Zsmapr,r,r-�get_conn_from_sockEszBase.get_conn_from_sockNcCs�|dkr|j|�}t|�|jdkr6|j|j|j��|j|j|j�|j|j|jtj	tj
��|j�}|r�tr�t
|t�r�|j�}|jtkr�|dd�}|jtkr�tr�n|j|j|�|jtkr�tr�tjdd�}|jtj�|�|S)z�Given a socket, makes sure it matches the one obtained
        via psutil. It assumes this process created one connection
        only (the one supposed to be checked).
        Nr4�r%)r&r5)r;rr0r8r7�family�typeZ
getsockopt�socketZ
SOL_SOCKETZSO_TYPEZgetsocknamer�
isinstance�bytes�decoderrr
�laddrrr'r(�compare_procsys_connections�os�getpid)r*r:�connrCr+r,r,r-�check_socketRs(


zBase.check_socketr%csdytj|d�}Wn tjk
r0tr*dS�YnX�fdd�|D�}|j�|j�|j||�dS)z�Given a process PID and its list of connections compare
        those against system-wide connections retrieved via
        psutil.net_connections.
        )r&Ncs"g|]}|j�kr|dd��qS)Nr4r5)�pid)r1r2)rIr,r-r3�sz4Base.compare_procsys_connections.<locals>.<listcomp>)�psutil�net_connectionsZAccessDeniedr�sortr8)r*rIZ	proc_consr&Zsys_consr,)rIr-rDvsz Base.compare_procsys_connections)N)r%)�__name__�
__module__�__qualname__r.r/r;rHrDr,r,r,r-r$4s
	
$r$c@s|eZdZdZdd�Zeje�d�dd��Zdd�Z	eje�d�d	d
��Z
ejed�dd
��Zejed�dd��Z
dS)�TestUnconnectedSocketsz;Tests sockets which are open but not connected to anything.c
CsRdt�f}tttt|d���,}|j|�}|js4t�|j|j	t
j�WdQRXdS)Nz	127.0.0.1)�addr)rrrrrrH�raddrr)r8�statusrJ�CONN_LISTEN)r*rQr:rGr,r,r-�test_tcp_v4�s


z"TestUnconnectedSockets.test_tcp_v4zIPv6 not supportedc
CsRdt�f}tttt|d���,}|j|�}|js4t�|j|j	t
j�WdQRXdS)Nz::1)rQ)rrrrrrHrRr)r8rSrJrT)r*rQr:rGr,r,r-�test_tcp_v6�s


z"TestUnconnectedSockets.test_tcp_v6c
CsRdt�f}tttt|d���,}|j|�}|js4t�|j|j	t
j�WdQRXdS)Nz	127.0.0.1)rQ)rrrrrrHrRr)r8rSrJ�	CONN_NONE)r*rQr:rGr,r,r-�test_udp_v4�s


z"TestUnconnectedSockets.test_udp_v4c
CsRdt�f}tttt|d���,}|j|�}|js4t�|j|j	t
j�WdQRXdS)Nz::1)rQ)rrrrrrHrRr)r8rSrJrW)r*rQr:rGr,r,r-�test_udp_v6�s


z"TestUnconnectedSockets.test_udp_v6z
POSIX onlycCsXt��H}tt|td���,}|j|�}|js0t�|j|jt	j
�WdQRXWdQRXdS)N)r>)r!rrrrHrRr)r8rSrJrW)r*�namer:rGr,r,r-�
test_unix_tcp�s

z$TestUnconnectedSockets.test_unix_tcpcCsXt��H}tt|td���,}|j|�}|js0t�|j|jt	j
�WdQRXWdQRXdS)N)r>)r!rrrrHrRr)r8rSrJrW)r*rZr:rGr,r,r-�
test_unix_udp�s

z$TestUnconnectedSockets.test_unix_udpN)rMrNrO�__doc__rUr �skipIfrrVrXrYrr[r\r,r,r,r-rP�srPc@sTeZdZdZejed�dd��Zejed�dd��Z	e
ed�d	d
��Zdd�Z
d
S)�TestConnectedSocketPairszJTest socket pairs which are are actually connected to
    each other.
    zunreliable on SUONSc
Cs�dt�f}tjdd�st�tt|d�\}}zHtjdd�}|jt|�d�|j|djt	j
�|j|djt	j
�Wd|j�|j�XdS)Nz	127.0.0.1�tcp4)r&)rQr<rr4)rr'r(r)rrr8r9rSrJZCONN_ESTABLISHED�close)r*rQ�server�clientr+r,r,r-�test_tcp�s
z!TestConnectedSocketPairs.test_tcpz
POSIX onlycCslt���Z}t|�\}}�z2tjdd�}|djo8|djs@t�|djoR|djsZt�trldd�|D�}|jt	|�d�t
s�ts�tr�|j|djd�|j|djd�|j||djp�|dj�n~t
�rxv|dj|dj|dj|djfD]}|j|d�q�Wn<|j|dj�p$|dj|�|j|dj�pB|dj|�Wd|j�|j�XWdQRXdS)	N�unix)r&rr4cSsg|]}|jdkr|�qS)z/var/run/log)rR)r1r2r,r,r-r3�sz6TestConnectedSocketPairs.test_unix.<locals>.<listcomp>r<�)r!r"r'r(rCrRr)r	r8r9rrr
r
ra)r*rZrbrcr+rQr,r,r-�	test_unix�s*
"z"TestConnectedSocketPairs.test_unix)Zonly_ifcs�fdd�}tjd�}tjd�}ddlm}tjjt�}||�jt	t
�d|d�}||�jt	t
�d|d�}||�jt	t�d	|d�}||�jt	t�d	|d�}	t|�}
t
t|��}t|�}t
t|��}
t�r�t|�}t
t|��}t|	�}t
t|��}nd}d}d}d}�x�tj�D�]�}|j�}�jt|�d
�x�|D]�}|j|
jk�r\|||t
t|ftjd�n�|j|jk�r�|||t
t|
ftjd�nZ|jt|dd�k�r�|||tt|ftjd�n,|jt|dd�k�r0|||tt|ftjd��q0W�qW�jt|jdd�dS)Nc
s�d}t|��j|j|��j|j|��j|j|��j|j|��j|j|�x8|D]0}	|j|	d�}
|	|krz|
s�t�qX|
sXt|
��qXWt	r��j
|j|g�dS)
Nr%�inet�inet4�inet6�tcpr`�tcp6�udp�udp4�udp6)r&)
r%rhrirjrkr`rlrmrnro)rr8r=r>rCrRrSr(r)rrDrI)�procrGr=r>rCrRrSZkindsZ	all_kindsr&r+)r*r,r-�
check_conns

z8TestConnectedSocketPairs.test_combos.<locals>.check_conna
            import socket, time
            s = socket.socket($family, socket.SOCK_STREAM)
            s.bind(('$addr', 0))
            s.listen(1)
            with open('$testfn', 'w') as f:
                f.write(str(s.getsockname()[:2]))
            time.sleep(60)
        z�
            import socket, time
            s = socket.socket($family, socket.SOCK_DGRAM)
            s.bind(('$addr', 0))
            with open('$testfn', 'w') as f:
                f.write(str(s.getsockname()[:2]))
            time.sleep(60)
        r)�Templatez	127.0.0.1)r=rQZtestfnz::1r4r%rhrirkr`rmrnrIrjrlroz???)r&)r%rhrirkr`)r%rhrirmrn)r%rhrjrkrl)r%rhrjrmro)�textwrap�dedent�stringrrrE�path�basenamerZ
substitute�intrrr�evalr#rr'Zchildrenr(r8r9rIrrJrTrrW�getattr�assertRaises�
ValueError)r*rqZtcp_templateZudp_templaterrZtestfileZ
tcp4_templateZ
udp4_templateZ
tcp6_templateZ
udp6_templateZ	tcp4_procZ	tcp4_addrZ	udp4_procZ	udp4_addrZ	tcp6_procZ	tcp6_addrZ	udp6_procZ	udp6_addr�pr+rGr,)r*r-�test_combossb
z$TestConnectedSocketPairs.test_comboscCs�t����}tjdd�}|jt|�t|��tjdd�}|jt|�t�rJdnd�x,|D]$}|j|jtt	f�|j|j
t�qVWtjdd�}|jt|�d�|j|djt�|j|dj
t�t��rtjdd�}|jt|�d�|j|djt	�|j|dj
t�tjd	d�}|jt|�t��r(dnd�x.|D]&}|j|jtt	f�|j|j
t��q4Wtjd
d�}|jt|�d�|j|djt�|j|dj
t�t��r�tjdd�}|jt|�d�|j|djt	�|j|dj
t�tjdd�}|jt|�t��rd
nd�x2|D]*}|j|jtt	f�|j|j
ttf��qWt��r�tjdd�}|jt|�d�x.|D]&}|j|jt	�|j|j
ttf��qlWt
�r�tjdd�}|jt|�d�x.|D]&}|j|jt�|j|j
ttf��q�WWdQRXdS)Nr%)r&rkr<r4r`rrlrmrnrorh�rjre�)rr'r(r8r9r�assertInr=rrr>rrrr)r*�socksr+rGr,r,r-�test_multi_sockets_filteringes`





z5TestConnectedSocketPairs.test_multi_sockets_filteringN)rMrNrOr]r r^r
rdrrgrrr~r�r,r,r,r-r_�s
!br_c@sJeZdZdZe�dd��Ze�dd��Ze�eje	o6e
d�dd���Zd	S)
�TestSystemWideConnectionszTests for net_connections().c
s��fdd�}t���ddlm}xZ|j�D]N\}}|dkrBtrBq*|\}}tj|�}�jt|�tt	|���||||�q*W�j
ttjdd�WdQRXdS)NcsVttdt��}xB|D]:}�j|j||d�|j|krF�j|j||d�t|�qWdS)Nr)�msg)rzr?�objectr�r=r>r)r+�families�types_rrG)r*r,r-�check�s

z0TestSystemWideConnections.test_it.<locals>.checkr)�	conn_tmaprez???)r&)r�psutil._commonr��itemsrrJrKr8r9�setr{r|)r*r�r�r&�groupsr�r�r+r,)r*r-�test_it�s
z!TestSystemWideConnections.test_itcCs@t��0}dd�tjdd�D�}|jt|�t|��WdQRXdS)NcSsg|]}|jtj�kr|�qSr,)rIrErF)r1�xr,r,r-r3�sz>TestSystemWideConnections.test_multi_socks.<locals>.<listcomp>r%)r&)rrJrKr8r9)r*r�r+r,r,r-�test_multi_socks�sz*TestSystemWideConnections.test_multi_sockszunreliable on OSX + TRAVISc

st��}t|�}WdQRXg�d}xRt|�D]F}tjjt�t|�}tj	d|�}t
|�}�j|j�|j
t|�q,Wx$t|�D]}tt|�}t|�q�W�fdd�tjdd�D�}xJ�D]B�|jt�fdd�|D��|�tj��}	|jt|	jd��|�q�WdS)N�
a                import time, os
                from psutil.tests import create_sockets
                with create_sockets():
                    with open('%s', 'w') as f:
                        f.write(str(os.getpid()))
                    time.sleep(60)
                csg|]}|j�kr|�qSr,)rI)r1r�)�pidsr,r-r3�szFTestSystemWideConnections.test_multi_sockets_procs.<locals>.<listcomp>r%)r&csg|]}|j�kr|�qSr,)rI)r1r�)rIr,r-r3�s)rr9�rangerErv�realpathr�strrsrtr�appendrIZ
addCleanuprr#rJrKr8�Processr()
r*r�Zexpected�times�iZfname�srcZsprocZsysconsr}r,)rIr�r-�test_multi_sockets_procs�s(



z2TestSystemWideConnections.test_multi_sockets_procsN)rMrNrOr]rr�r�r r^rrr�r,r,r,r-r��s
r�c@seZdZdd�ZdS)�TestMisccCs�g}g}xhtt�D]\}|jd�rtt|�}t|�}|j�sBt|��|jt|�|j||�|j|�|j|�qWt	r�tj
tjtr�tj
dS)NZCONN_)�dirrJ�
startswithrzr��isupperr)ZassertNotInr�r
Z	CONN_IDLEZ
CONN_BOUNDrZCONN_DELETE_TCB)r*ZintsZstrsrZZnumZstr_r,r,r-�test_connection_constants�s 


z"TestMisc.test_connection_constantsN)rMrNrOr�r,r,r,r-r��sr��__main__)6r]rEr?rs�
contextlibrrrrrrJrrr	r
rrr
rr�rZpsutil._compatrZpsutil.testsrrrrrrrrrrrrrrrr r!r"r#r�r'r�r$ZTestCaserPr_r�r�rM�__file__r,r,r,r-�<module>s^\7`P


Youez - 2016 - github.com/yon3zu
LinuXploit