hyb
2025-11-18 7539e6f48c75dcaeb808359cccfd1c0d0d182ce8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
Ë
Iñúh0UãóH—dZddlZddlZddlZddlmZddlmZddlmZddlmZddlm    Z    ddl
Z
ddl
m Z dd    l
m Z dd
l
m Z dd l
mZdd l
mZdd l
mZddl
mZddl
mZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlm Z ddlm!Z!ddlm"Z"ddlm#Z#ddlm$Z$dd lm%Z%e&ed!e'««Z(d"„Z)ejTjWd#¬$«Gd%„d&e««Z,Gd'„d(e,«Z-ejTjWd#¬$«Gd)„d*e,««Z.ejTjWd#¬$«Gd+„d,e,««Z/Gd-„d.e,«Z0ejTjced/¬0«Gd1„d2e,««Z2Gd3„d4e«Z3y)5zFTests for psutil.net_connections() and Process.net_connections() APIs.éN)Úclosing)ÚAF_INET)ÚAF_INET6)Ú
SOCK_DGRAM)Ú SOCK_STREAM)ÚFREEBSD)ÚLINUX)ÚMACOS)ÚNETBSD)ÚOPENBSD)ÚPOSIX)ÚSUNOS)ÚWINDOWS)Ú supports_ipv6)ÚAF_UNIX)ÚHAS_NET_CONNECTIONS_UNIX)Ú SKIP_SYSCONS)ÚPsutilTestCase)Ú bind_socket)Úbind_unix_socket)Úcheck_connection_ntuple)Úcreate_sockets)Úfilter_proc_net_connections)Úpytest)Ú reap_children)Úretry_on_failure)Úskip_on_access_denied)Útcp_socketpair)Úunix_socketpair)Ú wait_for_fileÚSOCK_SEQPACKETcól—tj«j|¬«}|dvr t|«S|S)N©Úkind>ÚallÚunix)ÚpsutilÚProcessÚnet_connectionsr)r$Úconss  úPH:\Change_password\venv_build\Lib\site-packages\psutil/tests/test_connections.pyÚthis_proc_net_connectionsr,0s4€Ü >‰>Ó × +Ñ +°Ð +Ó 6€DØ ˆÑÜ*¨4Ó0Ð0Ø €KóÚserial)Únamecó —eZdZd„Zd„Zdd„Zy)ÚConnectionTestCasecó&—td¬«gk(sJ‚y©Nr%r#©r,©Úselfs r+ÚsetUpzConnectionTestCase.setUp9s€Ü(¨eÔ4¸Ò:Ð:Ñ:r-có&—td¬«gk(sJ‚yr3r4r5s r+ÚtearDownzConnectionTestCase.tearDown<s€ä(¨eÔ4¸Ò:Ð:Ñ:r-có—    tj|¬«}|Dcgc]}|j|k(sŒ|dd‘Œ}}|j «|j «||k(sJ‚y#tj$r
trYy‚wxYwcc}w)zœGiven a process PID and its list of connections compare
        those against system-wide connections retrieved via
        psutil.net_connections.
        r#Néÿÿÿÿ)r'r)Ú AccessDeniedr
ÚpidÚsort)r6r=Ú    proc_consr$Úsys_consÚcs      r+Úcompare_procsys_connectionsz.ConnectionTestCase.compare_procsys_connections@sƒ€ð
    Ü×-Ñ-°4Ô8ˆHð%-Ö=˜q°·±¸³ Acr’FÐ=ˆÐ=؏ ‰ ŒØ‰ÔؘHÒ$Ð$Ñ$øô×"Ñ"ò    õÙàð     üò>s‚A"œB±BÁ"A?Á=A?N)r%)Ú__name__Ú
__module__Ú __qualname__r7r9rB©r-r+r1r17s„ò;ò;ô%r-r1có^—eZdZejj ed¬«d„«Zd„Zd„Z    y)ÚTestBasicOperationsú requires root©Úreasoncó—t«5tjd¬«D] }t|«Œ    ddd«y#1swYyxYwr3)rr'r)r©r6Úconns  r+Ú test_systemzTestBasicOperations.test_systemVs?€ä Ó ñ    .Ü×.Ñ.°EÔ:ò .Ü'¨Õ-ñ .÷    .÷    .ñ    .ús    ‹'<¼Acó|—t«5td¬«D] }t|«Œ    ddd«y#1swYyxYwr3)rr,rrMs  r+Ú test_processz TestBasicOperations.test_process\s9€Ü Ó ñ    .Ü1°uÔ=ò .Ü'¨Õ-ñ .÷    .÷    .ñ    .ús‹2²;có—tjt«5td¬«ddd«tjt«5t    j
d¬«ddd«y#1swYŒBxYw#1swYyxYw)Nz???r#)rÚraisesÚ
ValueErrorr,r'r)r5s r+Útest_invalid_kindz%TestBasicOperations.test_invalid_kindas_€Ü ]‰]œ:Ó &ñ    2Ü %¨5Õ 1÷    2ä ]‰]œ:Ó &ñ    /Ü × "Ñ "¨Õ .÷    /ð    /÷    2ð    2ú÷    /ð    /úsš A(ÁA4Á(A1Á4A=N)
rCrDrErÚmarkÚskipifrrOrQrUrFr-r+rHrHUs2„Ø ‡[[×ј ¨_ÐÓ=ñ.ó>ð.ò
.ó
/r-rHcó\—eZdZdZd„Zd„Zd„Zejje
« d¬«d„«Z d„Z ejje
« d¬«d    „«Z ejje d
¬«d „«Zejje d
¬«d „«Zy )ÚTestUnconnectedSocketsz;Tests sockets which are open but not connected to anything.cóD—td¬«}|Dcic]}|j|“Œ}}tstr||j    «St |«dk(sJ‚|djdk7r0||j    «j|j    «k(sJ‚|dScc}w)Nr%r#érr;)r,Úfdr rÚfilenoÚlen)r6Úsockr*rAÚsmaps     r+Úget_conn_from_sockz)TestUnconnectedSockets.get_conn_from_sockls’€Ü(¨eÔ4ˆØ!%Ö&˜A—‘a‘Ð&ˆÐ&Ý •W𘟠™ › Ñ&Ð &ät“9 ’>Ð !>ؐA‰wz‰z˜RÒØ˜DŸK™K›MÑ*×-Ñ-°·±³Ò>Ð>Ð>ؘ‘7ˆNùò's‘Bcó–—|j|«}t|«|jdk7r|j|j«k(sJ‚|j|jk(sJ‚|j
|j tjtj«k(sJ‚|j«}|s t|t«r|j«}|jtk(r|dd}|j|k(sJ‚|jt k(r8t"r2t%d¬«}|j't)j*«|d¬«|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).
        r;Nér%r#)rarr\r]ÚfamilyÚtypeÚ
getsockoptÚsocketÚ
SOL_SOCKETÚSO_TYPEÚ getsocknameÚ
isinstanceÚbytesÚdecoderÚladdrrrr,rBÚosÚgetpid)r6r_rNrnr*s     r+Ú check_socketz#TestUnconnectedSockets.check_socketys    €ð
×&Ñ& tÓ,ˆÜ Ô%ð 7‰7bŠ=Ø—7‘7˜dŸk™k›mÒ+Ð +Ð+؏{‰{˜dŸk™kÒ)Ð)Ð)ày‰y˜DŸO™O¬F×,=Ñ,=¼v¿~¹~ÓNÒNÐNÐNð× Ñ Ó"ˆÙœ E¬5Ô1à—L‘L“NˆEØ ;‰;œ(Ò "ؘ"˜1IˆE؏z‰z˜UÒ"Ð"Ð"ð ;‰;œ'Ò !Õ&>Ü,°%Ô8ˆDØ × ,Ñ ,¬R¯Y©Y«[¸$ÀUÐ ,Ô K؈ r-cóô—d}tttt|¬««5}|j    |«}|j
dk(sJ‚|j tjk(sJ‚    ddd«y#1swYyxYw©N©ú    127.0.0.1r©ÚaddrrF)    rrrrrqÚraddrÚstatusr'Ú CONN_LISTEN©r6rwr_rNs    r+Ú test_tcp_v4z"TestUnconnectedSockets.test_tcp_v4—si€ØˆÜ ”[¤¬+¸DÔAÓ Bð    5ÀdØ×$Ñ$ TÓ*ˆDØ—:‘: Ò#Ð #Ð#Ø—;‘;¤&×"4Ñ"4Ò4Ð 4Ñ4÷    5÷    5ñ    5úó ¢AA.Á.A7zIPv6 not supportedrJcóô—d}tttt|¬««5}|j    |«}|j
dk(sJ‚|j tjk(sJ‚    ddd«y#1swYyxYw©N)ú::1rrvrF)    rrrrrqrxryr'rzr{s    r+Ú test_tcp_v6z"TestUnconnectedSockets.test_tcp_v6žsi€àˆÜ ”[¤¬;¸TÔBÓ Cð    5ÀtØ×$Ñ$ TÓ*ˆDØ—:‘: Ò#Ð #Ð#Ø—;‘;¤&×"4Ñ"4Ò4Ð 4Ñ4÷    5÷    5ñ    5úr}cóô—d}tttt|¬««5}|j    |«}|j
dk(sJ‚|j tjk(sJ‚    ddd«y#1swYyxYwrs)    rrrrrqrxryr'Ú    CONN_NONEr{s    r+Ú test_udp_v4z"TestUnconnectedSockets.test_udp_v4¦si€ØˆÜ ”[¤¬*¸4Ô@Ó Að    3ÀTØ×$Ñ$ TÓ*ˆDØ—:‘: Ò#Ð #Ð#Ø—;‘;¤&×"2Ñ"2Ò2Ð 2Ñ2÷    3÷    3ñ    3úr}cóô—d}tttt|¬««5}|j    |«}|j
dk(sJ‚|j tjk(sJ‚    ddd«y#1swYyxYwr)    rrrrrqrxryr'rƒr{s    r+Ú test_udp_v6z"TestUnconnectedSockets.test_udp_v6­si€àˆÜ ”[¤¬:¸DÔAÓ Bð    3ÀdØ×$Ñ$ TÓ*ˆDØ—:‘: Ò#Ð #Ð#Ø—;‘;¤&×"2Ñ"2Ò2Ð 2Ñ2÷    3÷    3ñ    3úr}ú
POSIX onlycó—|j«}tt|t¬««5}|j    |«}|j
dk(sJ‚|j tjk(sJ‚    ddd«y#1swYyxYw©N)reÚ©    Ú
get_testfnrrrrqrxryr'rƒ©r6Útestfnr_rNs    r+Ú test_unix_tcpz$TestUnconnectedSockets.test_unix_tcpµóo€à—‘Ó"ˆÜ Ô% f´;Ô?Ó @ð    3ÀDØ×$Ñ$ TÓ*ˆDØ—:‘: Ò#Ð #Ð#Ø—;‘;¤&×"2Ñ"2Ò2Ð 2Ñ2÷    3÷    3ñ    3úó «AA7Á7Bcó—|j«}tt|t¬««5}|j    |«}|j
dk(sJ‚|j tjk(sJ‚    ddd«y#1swYyxYwr‰r‹rs    r+Ú test_unix_udpz$TestUnconnectedSockets.test_unix_udp½rr‘N)rCrDrEÚ__doc__rarqr|rrVrWrrr„r†r rr“rFr-r+rYrYhs˄áEò òò<5ð ‡[[×Ñ™M›OÐ+Ð4HÐÓIñ5óJð5ò3ð ‡[[×Ñ™M›OÐ+Ð4HÐÓIñ3óJð3ð ‡[[×јE˜    ¨,ÐÓ7ñ3ó8ð3ð ‡[[×јE˜    ¨,ÐÓ7ñ3ó8ñ3r-rYcóà—eZdZdZej
j ed¬«d„«Zej
j e     d¬«ej
j e
d¬«d„««Z y)    ÚTestConnectedSocketzFTest socket pairs which are actually connected to
    each other.
    zunreliable on SUNOSrJcó —d}td¬«gk(sJ‚tt|¬«\}}    td¬«}t|«dk(sJ‚|djt
j k(sJ‚|djt
j k(sJ‚    |j«|j«y#|j«|j«wxYw)NrtÚtcp4r#rvrcrr[)r,rrr^ryr'ÚCONN_ESTABLISHEDÚclose)r6rwÚserverÚclientr*s     r+Útest_tcpzTestConnectedSocket.test_tcpÎs«€àˆÜ(¨fÔ5¸Ò;Ð;Ð;Ü'¬°dÔ;‰ˆð     Ü,°&Ô9ˆDܐt“9 ’>Ð !>ؘ‘7—>‘>¤V×%<Ñ%<Ò<Ð <Ð<ؘ‘7—>‘>¤V×%<Ñ%<Ò<Ð <Ñ<ð L‰LŒNØ L‰LNøð L‰LŒNØ L‰LNús ©A B+Â+"C r‡zcan't list UNIX socketscó —|j«}t|«\}}    td¬«}|djr|djrJ|«‚|djr|djrJ|«‚t
st r|Dcgc]}|jdk7sŒ|‘Œ}}t|«dk(sJ‚tst s tstrM|djdk(sJ‚|djdk(sJ‚||djxs|djk(s'J‚|djxs|dj|k(sJ‚|j«|j«ycc}w#|j«|j«wxYw)Nr&r#rr[z /var/run/logrcrŠ) rŒrr,rnrxr rr^r    rr rš)r6rŽr›rœr*rAs      r+Ú    test_unixzTestConnectedSocket.test_unixâsM€ð
—‘Ó"ˆÜ(¨Ó0‰ˆð    Ü,°&Ô9ˆDؘQ™Ÿ š ¨$¨q©'¯-ª-Ð >¸$Ó >Ð8ؘQ™Ÿ š ¨$¨q©'¯-ª-Ð >¸$Ó >Ð8ݝð$(ÖE˜a¨1¯7©7°nÓ+DšÐEÐEܐt“9 ’>Ð !>ݝ¥5­Gà˜A‘w—}‘}¨Ò*Ð*Ð*ؘA‘w—}‘}¨Ò*Ð*Ð*à $ q¡'§-¡-Ò"@°4¸±7·=±=ÒAÐAÐAð˜Q™Ÿ ™ Ò6¨¨a©¯©¸6ÒAÐAÐAà L‰LŒNØ L‰LNùòFøð L‰LŒNØ L‰LNús% A&E!ÂEÂEÂBE!ÅE!Å!"FN) rCrDrEr”rrVrWrrr rrŸrFr-r+r–r–Æs„ñð  ‡[[×јÐ&;ÐÓ<ñó=ðð& ‡[[×јE˜    ¨,ÐÓ7Ø ‡[[×ÑØ $Ð$Ð-Fðóñóó8ñr-r–có6—eZdZd„Zee¬«d„«Zd„Zy)Ú TestFilterscóR—d„}t«5|dtttgtt
t g«|dttgtt
g«|dtgtt
g«|dttgtg«|dtgtg«|dtgtg«|dttgt
g«|d    tgt
g«|d
tgt
g«tr|d tgtt
t g«ddd«y#1swYyxYw) Ncóê—t|¬«D]"}|j|vsJ‚|j|vrŒ"J‚ts<t    j
|¬«D]"}|j|vsJ‚|j|vrŒ"J‚yy)Nr#)r,rdrerr'r))r$ÚfamiliesÚtypesrNs    r+Úcheckz'TestFilters.test_filters.<locals>.checks‚€Ü1°tÔ<ò *Ø—{‘{ hÑ.Ð.Ð.Ø—y‘y EÒ)Ð)Ð)ð *õ Ü"×2Ñ2¸Ô=ò.DØŸ;™;¨(Ñ2Ð2Ð2ØŸ9™9¨Ò-Ð-Ð-ñ.ð r-r%ÚinetÚinet4Útcpr˜Útcp6ÚudpÚudp4Úudp6r&)rrrrrrr!r)r6r¦s  r+Ú test_filterszTestFilters.test_filterssñ€ò    .ôÓ ñ    Ù ØÜœ(¤GÐ,Üœj¬.Ð9ô ñ
&œ7¤HÐ-´ ¼ZÐ/HÔ IÙ 'œG˜9¤{´JÐ&?Ô @Ù %œ'¤8Ð,¬{¨mÔ <Ù &œ7˜)¤k ]Ô 3Ù &œ8˜*¤{ mÔ 4Ù %œ'¤8Ð,¬z¨lÔ ;Ù &œ7˜)¤j \Ô 2Ù &œ8˜*¤z lÔ 3Ý'ÙØÜIÜ ¤*¬nÐ=ô÷    ÷    ñ    ús ŽDDÄD&)Úonly_ifc ó‡—t«ˆfd„}tjd«}tjd«}tjj ‰j tj«¬««}|jtt«d|¬«}|jtt«d|¬«}|jtt«d|¬«}|jtt«d|¬«}‰j|«}    tt|d¬    ««}
‰j|«} tt|d¬    ««} t«rO‰j|«} tt|d¬    ««}‰j|«}tt|d¬    ««}nd} d}d}d}t!j"«j%«D]*}|j'«}t)|«d
k(sJ‚|D]}|j*|    j*k(r&|||tt,|
d t j.d «ŒC|j*| j*k(r&|||tt0| d t j2d «Œ‚|j*t5| dd«k(r&|||tt,|d t j.d«ŒÂ|j*t5|dd«k(sŒÝ|||tt0|d t j2d«ŒŒ-y)Ncój•—d}t|«|j|k(sJ‚|j|k(sJ‚|j|k(sJ‚|j|k(sJ‚|j
|k(sJ‚|D]'}    |j |    ¬«}
|    |vr|
gk7rŒJ‚|
gk(rŒ'J‚tr‰ j|j|g«yy)N)
r%r§r¨Úinet6r©r˜rªr«r¬r­r#)
rrdrernrxryr)rrBr=) ÚprocrNrdrernrxryÚkindsÚ    all_kindsr$r*r6s            €r+Ú
check_connz+TestFilters.test_combos.<locals>.check_conn%sÏø€ð ˆIô $ DÔ )Ø—;‘; &Ò(Ð (Ð(Ø—9‘9 Ò$Ð $Ð$Ø—:‘: Ò&Ð &Ð&Ø—:‘: Ò&Ð &Ð&Ø—;‘; &Ò(Ð (Ð(Ø!ò &Ø×+Ñ+°Ð+Ó6Ø˜5‘=Ø 2›:Ð%˜:à 2›:Ð%˜:ð  &õ(Ø×0Ñ0°·±¸D¸6ÕBð(r-a4
            import socket, time
            s = socket.socket({family}, socket.SOCK_STREAM)
            s.bind(('{addr}', 0))
            s.listen(5)
            with open('{testfn}', 'w') as f:
                f.write(str(s.getsockname()[:2]))
            [time.sleep(0.1) for x in range(100)]
            a
            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(0.1) for x in range(100)]
            )Údirru)rdrwrŽr€T)Údeleter[rF)r%r§r¨r©r˜)r%r§r¨r«r¬r=)r%r§r²r©rª)r%r§r²r«r­)rÚtextwrapÚdedentroÚpathÚbasenamerŒÚgetcwdÚformatÚintrrÚpyrunÚevalr rr'r(Úchildrenr)r^r=rrzrrƒÚgetattr)r6r¶Ú tcp_templateÚ udp_templateÚtestfileÚ tcp4_templateÚ udp4_templateÚ tcp6_templateÚ udp6_templateÚ    tcp4_procÚ    tcp4_addrÚ    udp4_procÚ    udp4_addrÚ    tcp6_procÚ    tcp6_addrÚ    udp6_procÚ    udp6_addrÚpr*rNs`                   r+Ú test_comboszTestFilters.test_combos!s±ø€äŒô    Cô> —‘ð(óˆ ô —‘ð(óˆ ô—7‘7×#Ñ# D§O¡O¼¿    ¹    »  OÓ$DÓEˆØ$×+Ñ+Ü”w“< k¸(ð,ó
ˆ ð%×+Ñ+Ü”w“< k¸(ð,ó
ˆ ð%×+Ñ+Ü”x“= u°Xð,ó
ˆ ð%×+Ñ+Ü”x“= u°Xð,ó
ˆ ð —J‘J˜}Ó-ˆ    Üœ x¸Ô=Ó>ˆ    Ø—J‘J˜}Ó-ˆ    Üœ x¸Ô=Ó>ˆ    Ü Œ?ØŸ
™
 =Ó1ˆIÜœ]¨8¸DÔAÓBˆIØŸ
™
 =Ó1ˆIÜœ]¨8¸DÔAÓB‰IàˆI؈I؈I؈Iä—‘Ó!×*Ñ*Ó,ó3    ˆAØ×$Ñ$Ó&ˆDܐt“9 ’>Ð !>Øó0 à—5‘5˜IŸM™MÒ)ÙØØÜÜ#Ø!ØÜ×*Ñ*Ø?õ    ð—U‘U˜iŸm™mÒ+ÙØØÜÜ"Ø!ØÜ×(Ñ(Ø?õ    ð—U‘Uœg i°¸Ó=Ò=ÙØØÜ Ü#Ø!ØÜ×*Ñ*Ø?õ    ð—U‘Uœg i°¸Ó=Ó=ÙØØÜ Ü"Ø!ØÜ×(Ñ(Ø?ö    òO0 ñ3    r-cóˆ—t«5td¬«}t|«t«rdndk(sJ‚|D]1}|jt
t hvsJ‚|jtk(rŒ1J‚td¬«}t|«dk(sJ‚|djt
k(sJ‚|djtk(sJ‚t«rLtd¬«}t|«dk(sJ‚|djt k(sJ‚|djtk(sJ‚td¬«}t|«t«rdndk(sJ‚|D]1}|jt
t hvsJ‚|jtk(rŒ1J‚td    ¬«}t|«dk(sJ‚|djt
k(sJ‚|djtk(sJ‚t«rLtd
¬«}t|«dk(sJ‚|djt k(sJ‚|djtk(sJ‚td ¬«}t|«t«rd ndk(sJ‚|D]6}|jt
t hvsJ‚|jtthvrŒ6J‚t«rRtd ¬«}t|«dk(sJ‚|D]1}|jt k(sJ‚|jtthvrŒ1J‚tr^tsXtsRtd¬«}t|«dk(sJ‚|D]1}|jtk(sJ‚|jtthvrŒ1J‚ddd«y#1swYyxYw)Nr©r#rcr[r˜rrªr«r¬r­r§ér²r&é)rr,r^rrdrrrerrrrr r)r6r*rNs   r+Ú
test_countzTestFilters.test_count¬s€Ü Ó ñ7    Bä,°%Ô8ˆDܐt“9¤m¤o¡¸1Ò=Ð =Ð=Øò 0Ø—{‘{¤w´Ð&9Ñ9Ð9Ð9Ø—y‘y¤KÓ/Ð/Ð/ð 0ô-°&Ô9ˆDܐt“9 ’>Ð !>ؘ‘7—>‘>¤WÒ,Ð ,Ð,ؘ‘7—<‘<¤;Ò.Ð .Ð.äŒÜ0°fÔ=Ü˜4“y A’~Ð%~ؘA‘w—~‘~¬Ò1Ð1Ð1ؘA‘w—|‘|¤{Ò2Ð2Ð2ä,°%Ô8ˆDܐt“9¤m¤o¡¸1Ò=Ð =Ð=Øò /Ø—{‘{¤w´Ð&9Ñ9Ð9Ð9Ø—y‘y¤JÓ.Ð.Ð.ð /ô-°&Ô9ˆDܐt“9 ’>Ð !>ؘ‘7—>‘>¤WÒ,Ð ,Ð,ؘ‘7—<‘<¤:Ò-Ð -Ð-äŒÜ0°fÔ=Ü˜4“y A’~Ð%~ؘA‘w—~‘~¬Ò1Ð1Ð1ؘA‘w—|‘|¤zÒ1Ð1Ð1ä,°&Ô9ˆDܐt“9¤m¤o¡¸1Ò=Ð =Ð=Øò >Ø—{‘{¤w´Ð&9Ñ9Ð9Ð9Ø—y‘y¤[´*Ð$=Ò=Ð=Ð=ð >ôŒÜ0°gÔ>Ü˜4“y A’~Ð%~Ø òBDØŸ;™;¬(Ò2Ð2Ð2ØŸ9™9¬´jÐ(AÒAÐAÐAðBõ
(µ½FÜ0°fÔ=Ü˜4“y A’~Ð%~Ø òBDØŸ;™;¬'Ò1Ð1Ð1ØŸ9™9¬´jÐ(AÒAÐAÐAðB÷k7    B÷7    Bñ7    Bús.‹AL8Á'C?L8Å'DL8É,AL8ËA#L8Ì,L8Ì8MN)rCrDrEr®rr
rÔrØrFr-r+r¡r¡s)„òñ> 5Ô)ñHó*ðHóT8Br-r¡rIrJcó0—eZdZdZd„Ze«d„«Zy)ÚTestSystemWideConnectionszTests for net_connections().có*—d„}t«5ddlm}|j«D]W\}}|dk(rtsŒ|\}}t j |«}t|«tt|««k(sJ‚||||«ŒY    ddd«y#1swYyxYw)NcóŽ—|D]@}|j|vsJ‚|jtk7r|j|vsJ‚t|«ŒBy)N)rdrrer)r*r¤Útypes_rNs    r+r¦z0TestSystemWideConnections.test_it.<locals>.checkìsI€Øò .Ø—{‘{ hÑ.Ð.Ð.Ø—;‘;¤'Ò)ØŸ9™9¨Ñ.Ð.Ð.Ü'¨Õ-ñ     .r-r)Ú    conn_tmapr&)    rÚpsutil._commonrÞÚitemsrr'r)r^Úset)r6r¦rÞr$Úgroupsr¤rÝr*s        r+Útest_itz!TestSystemWideConnections.test_itësŽ€ò    .ôÓ ñ
    .Ý 0à )§¡Ó 1ò .‘ fà˜6’>Õ*BØØ#)Ñ ˜&Ü×-Ñ-¨dÓ3Ü˜4“y¤C¬¨D«    £NÒ2Ð2Ð2ِd˜H fÕ-ñ .÷
    .÷
    .ñ
    .ús ŽA1B        BcóÀ—t«5}t|«}ddd«g}d}g}t|«D]h}|j«}|j    |«t j d|›d«}|j|«}    |j    |    j«Œj|D] }t|«Œtjd¬«D
cgc]}
|
j|vsŒ|
‘Œ} }
|D]d} t| D
cgc]}
|
j| k(sŒ|
‘Œc}
«k(sJ‚tj| «} t| jd««|k(rŒdJ‚y#1swYŒ4xYwcc}
wcc}
w)Né
zŸ                import time, os
                from psutil.tests import create_sockets
                with create_sockets():
                    with open(r'z', 'w') as f:
                        f.write("hello")
                    [time.sleep(0.1) for x in range(100)]
                r%r#) rr^ÚrangerŒÚappendr¹rºrÀr=r r'r)r()r6ÚsocksÚexpectedÚpidsÚtimesÚfnamesÚ_ÚfnameÚsrcÚsprocÚxÚsysconsr=rÓs              r+Útest_multi_sockets_procsz2TestSystemWideConnections.test_multi_sockets_procsÿs_€ôÓ ð    " Ü˜5“zˆH÷    "àˆØˆØˆÜu“ò     #ˆAØ—O‘OÓ%ˆEØ M‰M˜%Ô  Ü—/‘/ð'!ð"' ð(ð    #óˆCð—J‘J˜s“OˆEØ K‰K˜Ÿ    ™    Õ "ð     #ðò    !ˆEÜ ˜%Õ  ð    !ô×-Ñ-°5Ô9ö
ظQ¿U¹UÀdº]ŠAð
ˆð
ðò    =ˆCÜ 7Ö;˜a¨a¯e©e°s«lšÒ;Ó<ÀÒHÐ HÐHÜ—‘˜sÓ#ˆAܐq×(Ñ(¨Ó/Ó0°HÓ<Ð <Ð<ñ    =÷5    "ñ    "üò.
ùò<s#‹ E    ÃEÃEÃ-E
ÄE
Å    EN)rCrDrEr”rãrrórFr-r+rÚrÚçs!„á&ò.ñ(Óñ$=óñ$=r-rÚcó—eZdZd„Zy)ÚTestMisccóš—g}g}tt«D]x}|jd«sŒtt|«}t    |«}|j «sJ|«‚t|vsJ‚||vsJ‚|j |«|j |«Œztr tjtjtrtjyy)NÚCONN_) r·r'Ú
startswithrÃÚstrÚisupperrçrÚ    CONN_IDLEÚ
CONN_BOUNDrÚCONN_DELETE_TCB)r6ÚintsÚstrsr/ÚnumÚstr_s      r+Útest_net_connection_constantsz&TestMisc.test_net_connection_constants(s«€ØˆØˆÜœ“Kò    "ˆD؏‰˜wÕ'Üœf dÓ+Ü˜3“xØ—|‘|”~Ð+ tÓ+~Ü $‘Ð&Ø $‘Ð&Ø— ‘ ˜CÔ Ø— ‘ ˜DÕ!ð    "õ Ü × Ò Ü × Ò Ý Ü × "Ó "ð r-N)rCrDrErrFr-r+rõrõ's„ó#r-rõ)4r”rorgr¹Ú
contextlibrrrrrr'rr    r
r r r rrrßrÚ psutil.testsrrrrrrrrrrrrrrrr rÃÚobjectr!r,rVÚ xdist_groupr1rHrYr–r¡rWrÚrõrFr-r+ú<module>rsqðñMã    Û ÛÝÝÝÝÝã ÝÝÝÝÝÝÝÝÝ(Ý Ý1Ý%Ý'Ý$Ý)Ý0Ý'Ý4ÝÝ&Ý)Ý.Ý'Ý(Ý&á˜Ð!1±6³8Ó<€òð‡×јhÐÓ'ô%˜ó%ó(ð%ô:/Ð,ô/ð&‡×јhÐÓ'ôZ3Ð/óZ3ó(ðZ3ðz‡×јhÐÓ'ô7Ð,ó7ó(ð7ôtcBÐ$ôcBðL‡×ѐL¨ÐÓ9ô<=Р2ó<=ó:ð<=ô~#ˆ~õ#r-