
    daf
                     6   d dl Z d dlmZ d dlmZ d dlZd dlZd dlZd dlZd dl	Z	d dl
Z
d dlZd dlZd dlZd dl mZ  ej                  ddg      Z ej                  ddg      Zd	 Zd
 Z G d d      Z G d dee j*                        Z e j.                  ed       G d dee j*                               Z G d d      Z G d dee j*                        Z e j.                  ed       G d dee j*                               Zedk(  r e j:                          yy)    N)support)import_helper)mockuuid_uuid)blocked)freshc                 *    	 t        |        y#  Y yxY w)NTF)
__import__)names    )/root/Python-3.12.4/Lib/test/test_uuid.py
importabler      s    4s    c                       fd}|S )Nc                 J    t        j                  j                               S N)ioBytesIOencode)commandargsdatas     r   get_command_stdoutz3mock_get_command_stdout.<locals>.get_command_stdout   s    zz$++-((     )r   r   s   ` r   mock_get_command_stdoutr      s    )r   c                   L   e Zd ZdZd Zd Zd Zd Zd Zd Z	d Z
d	 Z ej                  d
d       ej                  ej"                  dk(  d      d               Zej(                  d        Z ej                  ej"                  dk(  d      d        Z ej                  ej"                  dk(  d      d        Z ej                  ej"                  dk(  d      d        Z ej                  ej"                  dk(  d      d        Zd Zd Zd Zd Z ej<                         d        Zd Z e!jD                  jG                  e$dg d       e!jD                  de%jL                        d               Z'e!jD                  jG                  e$dg d       e!jD                  de%jL                        d                Z(e!jD                  jG                  e$dd!g      d"        Z)e!jD                  jG                  e$dg d#      d$        Z*e!jD                  jG                  e$dg d%      d&        Z+y)'BaseTestUUIDNc                 ~     G d dt         j                        }t        j                  |t        j                         y )Nc                       e Zd ZdZdZdZy)9BaseTestUUID.test_safe_uuid_enum.<locals>.CheckedSafeUUIDr   N)__name__
__module____qualname__safeunsafeunknownr   r   r   CheckedSafeUUIDr    $   s    DFGr   r(   )enumEnum_test_simple_enumpy_uuidSafeUUID)selfr(   s     r   test_safe_uuid_enumz BaseTestUUID.test_safe_uuid_enum#   s*    	dii 	 	0@0@Ar   c                 H   | j                   }g }dddddddddd| j                  j                  d fdd	d
ddddddd| j                  j                  d fdddddddddd| j                  j                  dfdddd d!d"d#d$d%d&| j                  j                  d fd'd(d)d*d+d,d-d.d/d0| j                  j                  d1fd2d3d4d5d6d7d8d9d:d0| j                  j                  d1fd;d<d=d>d?d@dAdBdCd0| j                  j                  d1fdDdEdFdGdHdIdJdKdLd0| j                  j                  d1fdMdNdOdPdQdRdSdTdUdV| j                  j                  d1fdWdXdYdZd[d\d]d^d_d`| j                  j                  dfdadbdcdddedfdgdhdidj| j                  j                  dkfdldmdndodpdqdrdsdtdu| j                  j                  d1fdvdwdxdydzd{d|d}d~d| j                  j                  d fdddddddddd| j                  j                  d ffD ]  \  }}}}}}}	}
}}}}g }| j                  j                  |      | j                  j                  |      | j                  j                  |      | j                  j                  |      | j                  j                  |      | j                  j                  |      | j                  j                  |	      | j                  j                  |
      fD ]z  } |t        |      |        |t        |      |	        ||j                  |        ||j                  |        ||j                  |        ||j                  |d           ||j                  |d1           ||j                  |d           ||j                  |d           ||j                  |dk           ||j                   |d           ||j"                  |        ||j                  |	        ||j$                  |
        ||j&                  |        ||j(                  |        ||j*                  |        ||j,                  |       |j/                  |       } |D ]  }|D ]  } |||          |t1        j                        t2        j                          |t1        |j                        t2        j                         |j/                  |        t5        t7        |            D ]  }t5        t7        |            D ]  } |||k  ||   ||   k          |||k  ||   ||   k          |||k(  ||   ||   k(          |||kD  ||   ||   kD          |||k\  ||   ||   k\          |||k7  ||   ||   k7           |d d  }|j9                          |j;                           |||       y )Nz$00000000-0000-0000-0000-000000000000z&{00000000-0000-0000-0000-000000000000} 00000000000000000000000000000000                   r   r   r   r   r   r   r   z-urn:uuid:00000000-0000-0000-0000-000000000000z$00010203-0405-0607-0809-0a0b0c0d0e0fz&{00010203-0405-0607-0809-0a0b0c0d0e0f} 000102030405060708090a0b0c0d0e0fs    	
s    	
)i i  i     	   l   ,(l   ,(H@p`   z-urn:uuid:00010203-0405-0607-0809-0a0b0c0d0e0fl    80i	  z$02d9e6d5-9467-382e-8f9b-9300a64ac3cdz&{02d9e6d5-9467-382e-8f9b-9300a64ac3cd} 02d9e6d59467382e8f9b9300a64ac3cds   Քg8. Js   g.8 J)iig  i.8        l   CLL l	   CLL|e5l z-urn:uuid:02d9e6d5-9467-382e-8f9b-9300a64ac3cdl   fQtAi     z$12345678-1234-5678-1234-567812345678z&{12345678-1234-5678-1234-567812345678} 12345678123456781234567812345678s   4Vx4Vx4Vx4Vxs   xV44xV4Vx4Vx)ixV44  ixV     4   l   xVh$Y l	   xVh$YgF+ z-urn:uuid:12345678-1234-5678-1234-567812345678l   xVh$H3r<   z$6ba7b810-9dad-11d1-80b4-00c04fd430c8z&{6ba7b810-9dad-11d1-80b4-00c04fd430c8} 6ba7b8109dad11d180b400c04fd430c8s   kр O0s   k O0)ik魝             0l	   05'Sk z-urn:uuid:6ba7b810-9dad-11d1-80b4-00c04fd430c8l   8OWvrC      z$6ba7b811-9dad-11d1-80b4-00c04fd430c8z&{6ba7b811-9dad-11d1-80b4-00c04fd430c8} 6ba7b8119dad11d180b400c04fd430c8s   kр O0s   k O0)ikr@   rA   rB   rC   rD   l	   05gSk z-urn:uuid:6ba7b811-9dad-11d1-80b4-00c04fd430c8l   8OWvz$6ba7b812-9dad-11d1-80b4-00c04fd430c8z&{6ba7b812-9dad-11d1-80b4-00c04fd430c8} 6ba7b8129dad11d180b400c04fd430c8s   kр O0s   k O0)ikr@   rA   rB   rC   rD   l	   05Sk z-urn:uuid:6ba7b812-9dad-11d1-80b4-00c04fd430c8l   8OWvz$6ba7b814-9dad-11d1-80b4-00c04fd430c8z&{6ba7b814-9dad-11d1-80b4-00c04fd430c8} 6ba7b8149dad11d180b400c04fd430c8s   kр O0s   k O0)ikr@   rA   rB   rC   rD   l	   05'Sk z-urn:uuid:6ba7b814-9dad-11d1-80b4-00c04fd430c8l   8OWvz$7d444840-9dc0-11d1-b245-5ffdce74fad2z&{7d444840-9dc0-11d1-b245-5ffdce74fad2} 7d4448409dc011d1b2455ffdce74fad2s   }DH@ѲE_ts   @HD}E_t)i@HD}i  rA      E   l   z l	   z*8'$"} z-urn:uuid:7d444840-9dc0-11d1-b245-5ffdce74fad2l   @HzwiE2  z$e902893a-9d22-3c7e-a7b8-d6e313b71d9fz&{e902893a-9d22-3c7e-a7b8-d6e313b71d9f} e902893a9d223c7ea7b8d6e313b71d9fs   :"<~s   :"~<)l   :	R i"  i~<        l   n'[ l	   n'[=GG$ND z-urn:uuid:e902893a-9d22-3c7e-a7b8-d6e313b71d9fl   :	Rtci'  z$eb424026-6f54-4ef8-a4d0-bb658a1fc6cfz&{eb424026-6f54-4ef8-a4d0-bb658a1fc6cf} eb4240266f544ef8a4d0bb658a1fc6cfs   B@&oTNлes   &@BToNлe)l   &@V iTo  iN        l   F?m l	   F?m&oj	 ! z-urn:uuid:eb424026-6f54-4ef8-a4d0-bb658a1fc6cfl   &@VS=wi$     z$f81d4fae-7dec-11d0-a765-00a0c91e6bf6z&{f81d4fae-7dec-11d0-a765-00a0c91e6bf6} f81d4fae7dec11d0a76500a0c91e6bf6s   O}Чe ks   O}e k)l   O:p i}  i  rM   e   l   k<l	   k<(;
=k z-urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6l   O:pwie'  z$fffefdfc-fffe-fffe-fffe-fffefdfcfbfaz&{fffefdfc-fffe-fffe-fffe-fffefdfcfbfa} fffefdfcfffefffefffefffefdfcfbfas   s   )l   }   rV         l   {{ l	   {{?~ z-urn:uuid:fffefdfc-fffe-fffe-fffe-fffefdfcfbfal   }i?  z$ffffffff-ffff-ffff-ffff-ffffffffffffz&{ffffffff-ffff-ffff-ffff-ffffffffffff} ffffffffffffffffffffffffffffffffs   )l      rZ   rW   rW       l	    z-urn:uuid:ffffffff-ffff-ffff-ffff-ffffffffffffl   ?  bytesbytes_lefieldsint      )assertEqualr   RESERVED_NCSRFC_4122RESERVED_FUTUREUUIDstrrd   r^   r`   rb   time_lowtime_midtime_hi_versionclock_seq_hi_variantclock_seq_lownodehexurntime	clock_seqvariantversionappendtypebuiltinsrangelenreversesort)r.   equal	ascendingstringcurlyrs   r^   r`   rb   integerrt   ru   rv   rw   rx   equivalentsuvijresorteds                        r   	test_UUIDzBaseTestUUID.test_UUID*   s/     	 45/00<499))41 45/JJ?/<tyy'='=tE 45/PPE/<tyy'9'91> 45/"PE/<		(>(>F 45/PPE/<dii&8&8!= 45/PPE/<dii&8&8!= 45/PPE/<dii&8&8!= 45/PPE/<dii&8&8!= 45/PPE/<		(:(:A? 45/PPE/<		(:(:A? 45/PPE/<		(:(:A? 45/PPE/<		(:(:A? 45/PPE/<		(A(A4I 45/E/<		(A(A4Im4e	  0VUC&'39gw@ KiinnV,diinnU.CTYY^^TWEXiinn5n1499>>8>3TiinnFn3TYY^^^5PiinnS)+ &
 c!ff%c!fg&aggu%ajj(+ahh'ajj&),ajj&),a''3a,,fQi8aoovay1afffQi(aeeS!aeeW%aeeS!affd#akk9-aii)aii)""1%/&4 !  $  A!QK  
 $qww-0$qzz"HNN3QKe	 P s9~& 	<A3y>* <a!eYq\IaL89a1filil:;a1filil:;a!eYq\IaL89a1filil:;a1filil:;<	< Q<i"r   c           
          	
  fd} fd} | fd        | fd        | fd        | fd        | fd        | fd        | fd	        | fd
        | fd        | fd        | fd        | fd        | fd        | fd        | fd        | fd        | fd        | fd        | fd        | fd        | fd        | fd        | fd        | fd        | fd        | fd        | fd        | fd        | fd        | fd        d!\  	
 j                   j                          j                   j                  "        j                   j                  	#        j                   j                  	$        j                   j                  
%        j                   j                  &        | fd'        |	 fd(        |	 fd)        |	
 fd*        |	
 fd+       g d,fgfD ]  }g d-	fgfD ]s  }g d.	fgfD ]g  }g d/fgfD ][  }g d0
fgfD ]O  }t        ||z   |z   |z   |z         t              d1k7  r | fd2       t              d3k7  sD | fd4       Q ] i u   j                   j                         |fd5        |	fd6        |	fd7        |
fd8        |fd9        |fd:        |fd;        |fd<        |fd=        |fd>        |fd?        |fd@        |fdA        |fdB       y )CNc                 0    j                  t        |       S r   )assertRaises
ValueErrorfr.   s    r   <lambda>z.BaseTestUUID.test_exceptions.<locals>.<lambda>   s    T..z1= r   c                 0    j                  t        |       S r   )r   	TypeErrorr   s    r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>   s    D--i; r   c                  :     j                   j                  d      S )N r   rk   r.   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>   s    + r   c                  :     j                   j                  d      S )Nabcr   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>   s    . r   c                  :     j                   j                  d      S )N1234567812345678123456781234567r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>   s    (IJ r   c                  :     j                   j                  d      S )N!123456781234567812345678123456789r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>   s    (KL r   c                  :     j                   j                  d      S )N 123456781234567812345678z2345678r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>   s    (JK r   c                  <     j                   j                  d      S )Nr   r]   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>   s    e4 r   c                  <     j                   j                  d      S )N               r]   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>       g6 r   c                  <     j                   j                  d      S )N                 r]   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>   r   r   c                  <     j                   j                  d      S )Nr   r_   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>   s    7 r   c                  <     j                   j                  d      S )Nr   r_   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>       9 r   c                  <     j                   j                  d      S )Nr   r_   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>   r   r   c                  <     j                   j                  d      S )N)rE   ra   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>   s    t4 r   c                  <     j                   j                  d      S )N)rE   re   r:   rR   rf   ra   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>   s    ? r   c                  <     j                   j                  d      S )N)rE   re   r:   rR   rf         ra   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>   s    /DE r   c                  <     j                   j                  d      S )N)r!   r   r   r   r   r   ra   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>       /BC r   c                  <     j                   j                  d      S )N)l        r   r   r   r   r   ra   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>   s    /KL r   c                  <     j                   j                  d      S )N)r   r!   r   r   r   r   ra   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>  r   r   c                  <     j                   j                  d      S )N)r      r   r   r   r   ra   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>      /GH r   c                  <     j                   j                  d      S )N)r   r   r!   r   r   r   ra   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>  r   r   c                  <     j                   j                  d      S )N)r   r   r   r   r   r   ra   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>  r   r   c                  <     j                   j                  d      S )N)r   r   r   r!   r   r   ra   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>  r   r   c                  <     j                   j                  d      S )N)r   r   r      r   r   ra   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>      /EF r   c                  <     j                   j                  d      S )N)r   r   r   r   r!   r   ra   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>  r   r   c                  <     j                   j                  d      S )N)r   r   r   r   r   r   ra   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>  r   r   c                  <     j                   j                  d      S )N)r   r   r   r   r   r!   ra   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>	  r   r   c                  <     j                   j                  d      S )N)r   r   r   r   r             ra   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>
  s    /OP r   c                  >     j                   j                  dd      S )Nr1   r   rx   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>      ; r   c                  >     j                   j                  dd      S )Nr1   r   r   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>  r   r   c                  <     j                   j                  d      S )Nr!   rc   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>  s    B/ r   c                  B     j                   j                  ddz        S )NrE   rB   rc   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>  s    AsF3 r   )r1   r2   r3   r   )rs   r]   r_   ra   rc   c                  8     j                   j                         S r   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>  s    		( r   c                  <    j                   j                         S r   r   bhr.   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>  s    		q!, r   c                  >    j                   j                          S r   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>   s    		q!Q/ r   c                  @    j                   j                          S r   r   )r   r   r   r.   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>!  s    		q!Q2 r   c                  B    j                   j                          S r   r   )r   r   r   r   r.   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>"  s    		q!Q15 r   rs   r^   r`   rd   rb   r   c                  >     j                   j                  fi  S r   r   )r   r   r.   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>,  s    		q0ID0I r   rE   c                  <     j                   j                  di  S )Nr   r   )r   r.   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>.  s    		0F0F r   c                      t        d       S )Nrs   setattr)r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>2      5!, r   c                      t        d       S )Nr^   r   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>3  s    7A. r   c                      t        d       S )Nr`   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>4      :q1 r   c                      t        d       S )Nrb   r   )r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>5  s    8Q/ r   c                      t        d       S )Nrd   r   )r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>6  r   r   c                      t         dd      S )Nrm   r   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>7  r   r   c                      t         dd      S )Nrn   r   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>8  r   r   c                      t         dd      S Nro   r   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>9      #4a8 r   c                      t         dd      S r   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>:  r   r   c                      t         dd      S )Nrp   r   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>;  s    #91= r   c                      t         dd      S )Nrq   r   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda><  s    ?A6 r   c                      t         dd      S )Nrr   r   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>=  s    61- r   c                       t               k  S r   objectr   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>@      FH r   c                       t               kD  S r   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>A  r   r   )r   rk   dictr}   )r.   badvaluebadtypehhbbbbleiiffr   r   r   r   r   r   s   `       @@@@@@r   test_exceptionszBaseTestUUID.test_exceptions   s8   =; 	+,./JKLMKL 	456767 	789:9: 	45?@EF 	CDLMCDHICDHICDFGCDFGCDPQ 	;<;< 	/034 >
1a		q		1		Q		"		a 		1 	(),-/02356 
|$ 		HBWaL>* H:q/!23 HD!UAJ<0 H#%1"7 HB#'R$(;b(@#AD"4yA~ '(I J"4yA~ '(F GHHHH		H IINN1,-./12/0,-12128989=>67-. 	$%$%r   c                     | j                   j                         }| j                  d|cxk  xr dk  nc d|z         | j                   j                         }| j                  ||d||fz         y )Nr   r   %012xz%012x != %012x)r   getnode
assertTruerg   )r.   node1node2s      r   test_getnodezBaseTestUUID.test_getnodeC  s`    		!!#E-W-w? 		!!#'75%.'HIr   c                 j     fd}t        j                  t        j                  d j                        5   j                  j
                  D ]  } j                  j                  d|      } |t        j                  |      |        |t        j                  |      |       t        t        j                  dz         D ]M  } j                  |      5   |t        j                  t        j                  ||            |       d d d        O  	 d d d        y # 1 sw Y   exY w# 1 sw Y   y xY w)Nc                 v    j                  | |       j                  | j                  |j                         y r   rg   is_safeactualexpectedr.   s     r   checkz1BaseTestUUID.test_pickle_roundtrip.<locals>.checkL  -    VX.V^^X-=-=>r   r    d82579ce6642a0de7ddf490a7aec7aa5r   rE   )protocol)r   	swap_itemsysmodulesr   r-   rk   copydeepcopyr|   pickleHIGHEST_PROTOCOLsubTestloadsdumps)r.   r  r   r   protos   `    r   test_pickle_roundtripz"BaseTestUUID.test_pickle_roundtripK  s   	? s{{FDII> 	G99-- GIINN#E+2 # 4diilA&dmmA&*"6#:#:Q#>? GEu5 Gfll6<<5+ABAFG GGG	G 	GG G	G 	Gs$   B D)1D	D)D&"D))D2c                      fd}g d}g d}g d} j                   j                  d      } j                   j                  d j                   j                  j                        } j                   j                  d j                   j                  j                        }t        j                  t        j                  d j                         5  |D ]  } |t        j                  |      |         |D ]  } |t        j                  |      |         |D ]  } |t        j                  |      |         	 d d d        y # 1 sw Y   y xY w)Nc                 v    j                  | |       j                  | j                  |j                         y r   r   r   s     r   r  zBBaseTestUUID.test_unpickle_previous_python_versions.<locals>.check[  r  r   )sr   ccopy_reg
_reconstructor
(cuuid
UUID
c__builtin__
object
NtR(dS'int'
L287307832597519156748809049798316161701L
sb.so   ccopy_reg
_reconstructor
(cuuid
UUID
c__builtin__
object
NtR}UintL287307832597519156748809049798316161701L
sb.s+   cuuid
UUID
)}Uintzz
I}ޠBfy% sb.sp   ccopy_reg
_reconstructor
(cuuid
UUID
c__builtin__
object
NtR(dVint
L287307832597519156748809049798316161701L
sb.sr   ccopy_reg
_reconstructor
(cuuid
UUID
c__builtin__
object
NtR}X   intL287307832597519156748809049798316161701L
sb.s.   cuuid
UUID
)}X   intzz
I}ޠBfy% sb.s.   cuuid
UUID
)}X   intzz
I}ޠBfy% sb.s6   +       uuidUUID)}intzz
I}ޠBfy% sb.s   ccopy_reg
_reconstructor
(cuuid
UUID
c__builtin__
object
NtR(dVint
L287307832597519156748809049798316161701L
sVis_safe
cuuid
SafeUUID
(NtRsb.s   ccopy_reg
_reconstructor
(cuuid
UUID
c__builtin__
object
NtR}(X   intL287307832597519156748809049798316161701L
X   is_safecuuid
SafeUUID
(NtRub.sM   cuuid
UUID
)}(X   intzz
I}ޠBfy% X   is_safecuuid
SafeUUID
NRub.sM   cuuid
UUID
)}(X   intzz
I}ޠBfy% X   is_safecuuid
SafeUUID
NRub.sQ   F       uuidUUID)}(intzz
I}ޠBfy% is_safeh SafeUUIDNRub.)s   ccopy_reg
_reconstructor
(cuuid
UUID
c__builtin__
object
NtR(dVint
L287307832597519156748809049798316161701L
sVis_safe
cuuid
SafeUUID
(I0
tRsb.s   ccopy_reg
_reconstructor
(cuuid
UUID
c__builtin__
object
NtR}(X   intL287307832597519156748809049798316161701L
X   is_safecuuid
SafeUUID
(K tRub.sN   cuuid
UUID
)}(X   intzz
I}ޠBfy% X   is_safecuuid
SafeUUID
K Rub.sN   cuuid
UUID
)}(X   intzz
I}ޠBfy% X   is_safecuuid
SafeUUID
K Rub.sR   G       uuidUUID)}(intzz
I}ޠBfy% is_safeh SafeUUIDK Rub.)s   ccopy_reg
_reconstructor
(cuuid
UUID
c__builtin__
object
NtR(dVint
L287307832597519156748809049798316161701L
sVis_safe
cuuid
SafeUUID
(I-1
tRsb.s   ccopy_reg
_reconstructor
(cuuid
UUID
c__builtin__
object
NtR}(X   intL287307832597519156748809049798316161701L
X   is_safecuuid
SafeUUID
(JtRub.sQ   cuuid
UUID
)}(X   intzz
I}ޠBfy% X   is_safecuuid
SafeUUID
JRub.sQ   cuuid
UUID
)}(X   intzz
I}ޠBfy% X   is_safecuuid
SafeUUID
JRub.sU   J       uuidUUID)}(intzz
I}ޠBfy% is_safeh SafeUUIDJRub.r  r  r   )r   rk   r-   r%   r&   r   r  r  r	  r  r  )	r.   r  pickled_uuidspickled_uuids_safepickled_uuids_unsafer   u_safeu_unsafepickleds	   `        r   &test_unpickle_previous_python_versionsz3BaseTestUUID.test_unpickle_previous_python_versionsZ  s,   	?0
b
. 
2 IINN=> B(,		(:(:(?(?   A99>>"D*.))*<*<*C*C " E s{{FDII> 		7( 0 fll7+Q/	0
 . 5fll7+V45/ 7fll7+X67		7 		7 		7s   A*EEc                    d }t         j                  j                  | j                  d |g      5  | j                  j	                         }d d d        | j                  dcxk  xr dk  nc d|z         	 | j                  j                  |       y # 1 sw Y   JxY w# t        $ r | j                  d       Y y w xY w)Nc                       y)Nr   r   r   r   r   r   z/BaseTestUUID.test_uuid1_eui64.<locals>.<lambda>  s    r   )_node_GETTERSr   r   r   )rr   z"uuid1 was given an invalid node ID)	r   patchmultipler   r   r   uuid1r   fail)r.   too_large_getterrr   s      r   test_uuid1_eui64zBaseTestUUID.test_uuid1_eui64  s     +ZZ  II&' ! 
 	'
 99$$&D	' 	D,G,gn=
	<IIOOO&	' 	'  	<II:;	<s   B8B! B!B>=B>c                    | j                   }t        d      D cg c]  }| j                  j                          c}D ]  } ||j                  | j                  j
                          ||j                  d       | j                  |j                  | j                  j                  j                  | j                  j                  j                  | j                  j                  j                  h        i }t        d      D cg c]  }| j                  j                          c}D ]  }d||<   	  |t        |j                               d       | j                  j                  d      } ||j                  d       | j                  j                  d      } ||j                  d       | j                  j                  d      } ||j                  d       | j                  j                  dd      } ||j                  d        ||j                   dz  dz  |j"                  z  d       | j                  j                  dd	      } ||j                  d        ||j                   dz  dz  |j"                  z  d	       | j                  j                  dd
      } ||j                  d        ||j                   dz  dz  |j"                  z  d
       y c c}w c c}w )N
   rE     r   l   ,Hr[   ?   r5   r<   r\   )rg   r|   r   r"  rw   ri   rx   assertInr   r-   r%   r&   r'   r}   keysrr   rp   rq   r.   r   r   r   uuidss        r   
test_uuid1zBaseTestUUID.test_uuid1  sH      .32Y7$))//#7 	CA!))TYY//0!))QMM!))dii&8&8&=&=&*ii&8&8&?&?&*ii&8&8&@&@&B C	C -24[9$))//#9 	AE!H	c%**,& IIOOAaffaIIOON+affn%IIOON+affn% IIOONA.affn%&&-!3qFJIIOONF3affn%&&-!3)*0	2IIOONF3affn%&&-!3)*0	2? 8 :s   !K!K"r'  rf   posixPOSIX-only testc                     | j                   j                  s| j                  d       | j                   j                         }| j	                  |j
                  | j                   j                  j                         y )Nz#requires uuid_generate_time_safe(3))r   _has_uuid_generate_time_safeskipTestr"  assertNotEqualr   r-   r'   r.   r   s     r   test_uuid1_safezBaseTestUUID.test_uuid1_safe  sT     yy55MM?@IIOO 	AIItyy'9'9'A'ABr   c              #   n  K   t         j                  dk7  r| j                  d       | j                  j	                          | j                  j
                  | j                  d       t        j                  j                  | j                  dfd      5  d ddd       y# 1 sw Y   yxY ww)zQ
        Mock uuid._generate_time_safe() to return a given *safe_value*.
        r/  r0  Nzneed uuid._generate_time_safe_generate_time_safec                               d   fS Nr   r   )r   
safe_values   r   r   z6BaseTestUUID.mock_generate_time_safe.<locals>.<lambda>*  s    A
'; r   )	osr   r3  r   _load_system_functionsr8  r   r   r   )r.   r;  r   s    `@r   mock_generate_time_safez$BaseTestUUID.mock_generate_time_safe  s     
 77gMM+,		((*II))9MM9:ZZtyy*?;= 		 	 	s   BB5B) 	B5)B2.B5c                     | j                  d       5  | j                  j                         }| j                  |j                  | j                  j
                  j                         d d d        y # 1 sw Y   y xY wr   r>  r   r"  rg   r   r-   r'   r5  s     r   test_uuid1_unknownzBaseTestUUID.test_uuid1_unknown-  s_     ))$/ 	D		!AQYY		(:(:(B(BC	D 	D 	D   AA00A9c                     | j                  d      5  | j                  j                         }| j                  |j                  | j                  j
                  j                         d d d        y # 1 sw Y   y xY wr:  )r>  r   r"  rg   r   r-   r%   r5  s     r   test_uuid1_is_safezBaseTestUUID.test_uuid1_is_safe5  s]    ))!, 	A		!AQYY		(:(:(?(?@	A 	A 	ArB  c                     | j                  d      5  | j                  j                         }| j                  |j                  | j                  j
                  j                         d d d        y # 1 sw Y   y xY w)Nr!   )r>  r   r"  rg   r   r-   r&   r5  s     r   test_uuid1_is_unsafez!BaseTestUUID.test_uuid1_is_unsafe;  s]    ))"- 	C		!AQYY		(:(:(A(AB	C 	C 	CrB  c                     | j                  d      5  | j                  j                         }| j                  |j                  | j                  j
                  j                         d d d        y # 1 sw Y   y xY wNr:   r@  r5  s     r   test_uuid1_bogus_return_valuez*BaseTestUUID.test_uuid1_bogus_return_valueA  s]    ))!, 	D		!AQYY		(:(:(B(BC	D 	D 	DrB  c                    t         j                  j                  | j                  dd      5  t         j                  j                  | j                  dd       5  t         j                  j                  | j                  dd       5  t         j                  j                  | j                  dd      5  t        j                  dd	      5  t        j                  d
d      5  | j                  j	                         }| j                  || j                  j                  d             d d d        d d d        d d d        d d d        d d d        d d d        t         j                  j                  | j                  dd      5  t         j                  j                  | j                  dd       5  t         j                  j                  | j                  dd       5  t        j                  dd	      5  | j                  j	                  dd      }| j                  || j                  j                  d             d d d        d d d        d d d        d d d        y # 1 sw Y   7xY w# 1 sw Y   <xY w# 1 sw Y   AxY w# 1 sw Y   FxY w# 1 sw Y   KxY w# 1 sw Y   PxY w# 1 sw Y   pxY w# 1 sw Y   txY w# 1 sw Y   xxY w# 1 sw Y   y xY w)Nr2  Fr8  _last_timestampr   l   ZYS )return_valueztime.time_nsl   3E5<+ zrandom.getrandbitsi  z$a7a55b92-01fc-11e9-94c5-54e1acf6da7f)rr   rv   )r   r   r   r   r"  rg   rk   r5  s     r   test_uuid1_timezBaseTestUUID.test_uuid1_timeG  s^   ZZtyy*H%P 	XZZtyy*?F	XZZtyy*;TB	X ZZtyy).Q	X ZZ5HI		X
 ZZ,4@	X 		!AQ		/U VW	X 	X 	X 	X 	X 	X ZZtyy*H%P 	XZZtyy*?F	XZZtyy*;TB	X ZZ5HI	X 		^tDAQ		/U VW	X 	X 	X 	X 	X	X 	X 	X 	X 	X 	X 	X 	X 	X 	X 	X 	X	X 	X 	X 	X 	X 	X 	X 	Xs   ,J,J-J1I6		I)!AI'I)/I6	7J?JJ,K.,KJ62A	J*	;J6KKI&!I))I3.I6	6J ;JJJJ	JJ'*J3/J66J?;KK	KKc                    | j                   }| j                  j                  | j                  j                  d      df| j                  j                  | j                  j                  d      df| j                  j                  | j                  j
                  d      df| j                  j                  | j                  j                  d      dffD ]s  \  }} ||j                  | j                  j                          ||j                  d	        ||| j                  j                  |              |t        |      |       u | j                  j                  | j                  j                  d
      df| j                  j                  | j                  j                  d      df| j                  j                  | j                  j
                  d      df| j                  j                  | j                  j                  d      dffD ]s  \  }} ||j                  | j                  j                          ||j                  d	        ||| j                  j                  |              |t        |      |       u y )N
   python.orgz$6fa459ea-ee8a-3ca4-894e-db77e160355e   http://python.org/z$9fe8e8c4-aaa8-32a9-a55c-4535a88b748d   1.3.6.1z$dd1a1cef-13d5-368a-ad82-eca71acd4cd1   c=caz$658d3002-db6b-3040-a1d1-8ddd7d189a4dr:   
python.orghttp://python.org/1.3.6.1c=ca)rg   r   uuid3NAMESPACE_DNSNAMESPACE_URLNAMESPACE_OIDNAMESPACE_X500rw   ri   rx   rk   rl   r.   r   r   r   s       r   
test_uuid3zBaseTestUUID.test_uuid3X        iioodii&=&=}M<>iioodii&=&=?TU<>iioodii&=&=zJ<>iioodii&>&>H<> 	DAq !))TYY//0!))Q!TYY^^A&'#a&!	 iioodii&=&=|L<>iioodii&=&=?ST<>iioodii&=&=yI<>iioodii&>&>G<> 	DAq !))TYY//0!))Q!TYY^^A&'#a&!	r   c                    | j                   }t        d      D cg c]  }| j                  j                          c}D ]<  } ||j                  | j                  j
                          ||j                  d       > i }t        d      D cg c]  }| j                  j                          c}D ]  }d||<   	  |t        |j                               d       y c c}w c c}w )Nr'  rR   r(  rE   )	rg   r|   r   uuid4rw   ri   rx   r}   r+  r,  s        r   
test_uuid4zBaseTestUUID.test_uuid4y  s       .32Y7$))//#7 	 A!))TYY//0!))Q	 
 -24[9$))//#9 	AE!H	c%**,& 8 :s   !C!C c                    | j                   }| j                  j                  | j                  j                  d      df| j                  j                  | j                  j                  d      df| j                  j                  | j                  j
                  d      df| j                  j                  | j                  j                  d      dffD ]s  \  }} ||j                  | j                  j                          ||j                  d	        ||| j                  j                  |              |t        |      |       u | j                  j                  | j                  j                  d
      df| j                  j                  | j                  j                  d      df| j                  j                  | j                  j
                  d      df| j                  j                  | j                  j                  d      dffD ]s  \  }} ||j                  | j                  j                          ||j                  d	        ||| j                  j                  |              |t        |      |       u y )NrO  z$886313e1-3b8a-5372-9b90-0c9aee199e5drP  z$4c565f0d-3f5a-5890-b41b-20cf47701c5erQ  z$1447fa61-5277-5fef-a9b3-fbc6e44f4af3rR  z$cc957dd1-a972-5349-98cd-874190002798rf   rS  rT  rU  rV  )rg   r   uuid5rX  rY  rZ  r[  rw   ri   rx   rk   rl   r\  s       r   
test_uuid5zBaseTestUUID.test_uuid5  r^  r   c                    t        j                         }t        j                         }|dk(  rzt        j                  |d          | j                  j                         }t        j                  |d   |j                  j                  d             t        j                  d       y t        j                  |d          | j                  t         j                  |d          | j                  j                         j                  }t        j                  |d       t        j                  |d   d      j                  d      }| j                  ||       y )Nr   rE   zlatin-1)exitcoded   )r<  pipeforkcloser   r`  writers   r   _exit
addCleanupr   wait_processreaddecoder4  )r.   fdspidvalueparent_valuechild_values         r   testIssue8621zBaseTestUUID.testIssue8621  s    
 ggiggi!8HHSVIIOO%EHHSVUYY--i89HHQK HHSVOOBHHc!f-99??,00L  q1''#a&#.55i@Kk:r   c                     | j                   j                         }t        j                  |      }| j	                  | |              y r   )r   r`  weakrefrefassertIs)r.   strongweaks      r   test_uuid_weakrefzBaseTestUUID.test_uuid_weakref  s0    "{{6"fdf%r   argv)r   -urW  -n@dnsz
sys.stderr)new_callablec                    | j                  t              5 }| j                  j                          d d d        | j	                  j
                  j                  d       | j                  d|j                                y # 1 sw Y   PxY wNre   z$error: Incorrect number of arguments	r   
SystemExitr   mainrg   	exceptioncoder*  getvaluer.   mock_errcms      r   %test_cli_namespace_required_for_uuid3z2BaseTestUUID.test_cli_namespace_required_for_uuid3  sk     z* 	bIINN	 	**A.<h>O>O>QR	 	   B  B	)r   r  rW  -NrS  c                    | j                  t              5 }| j                  j                          d d d        | j	                  j
                  j                  d       | j                  d|j                                y # 1 sw Y   PxY wr  r  r  s      r    test_cli_name_required_for_uuid3z-BaseTestUUID.test_cli_name_required_for_uuid3  sk     z* 	bIINN	 	**A.<h>O>O>QR		 	r  r   c                    t        j                         }t        j                  |      5  | j                  j                          d d d        |j                         j                         }| j                  j                  |      }| j                  |t        |             | j                  |j                  d       y # 1 sw Y   zxY w)NrR   r   StringIO
contextlibredirect_stdoutr   r  r  striprk   rg   rl   rx   r.   stdoutoutputuuid_outputs       r   %test_cli_uuid4_outputted_with_no_argsz2BaseTestUUID.test_cli_uuid4_outputted_with_no_args  s    ''/ 	IINN	 "((*iinnV, 	[!12,,a0	 	   B>>C)r   r  rW  r  r  r  rS  c                    t        j                         }t        j                  |      5  | j                  j                          d d d        |j                         j                         }| j                  j                  |      }| j                  |t        |             | j                  |j                  d       y # 1 sw Y   zxY wrH  r  r  s       r   5test_cli_uuid3_ouputted_with_valid_namespace_and_namezBBaseTestUUID.test_cli_uuid3_ouputted_with_valid_namespace_and_name       ''/ 	IINN	 "((*iinnV, 	[!12,,a0	 	r  )r   r  rc  r  r  r  rS  c                    t        j                         }t        j                  |      5  | j                  j                          d d d        |j                         j                         }| j                  j                  |      }| j                  |t        |             | j                  |j                  d       y # 1 sw Y   zxY w)Nrf   r  r  s       r   5test_cli_uuid5_ouputted_with_valid_namespace_and_namezBBaseTestUUID.test_cli_uuid5_ouputted_with_valid_namespace_and_name  r  r  ),r"   r#   r$   r   r/   r   r   r   r  r  r%  r.  r   requires_mac_verunittest
skipUnlessr<  r   r6  r  contextmanagerr>  rA  rD  rF  rI  rM  r]  ra  rd  requires_forkrv  r}  r   r   r   r  r   r  r  r  r  r  r  r   r   r   r   r       s   DBx#t]&~JGu7r<.$2P Wb!$XG+->?C @ %C   XG+->?D @D XG+->?A @A
 XG+->?C @C
 XG+->?D @D
X"B'B W; ;*& 
ZZsF$EFTZZ2;;7S 8 GS 
ZZsF$KLTZZ2;;7S 8 MS 
ZZsFRD)
1 *
1 
ZZsFLN
1N
1 
ZZsFLN
1N
1r   r   c                       e Zd ZeZy)TestUUIDWithoutExtModuleNr"   r#   r$   r,   r   r   r   r   r  r        Dr   r  zrequires the C _uuid modulec                       e Zd ZeZy)TestUUIDWithExtModuleN)r"   r#   r$   c_uuidr   r   r   r   r  r    s    Dr   r  c                      e Zd ZeZd Zd Zd Zd Zd Z	d Z
ddZ ej                  ej                  ej                  v d	      d
        Z ej                  ej"                  ej                  v d      d        Z ej                  ej&                  ej                  v d      d        Z ej                  ej*                  ej                  v d      d        Z ej                  ej.                  ej                  v d      d        Zd Zy)BaseTestInternalsc                 :   |s-t         j                  j                  | j                  dd      }n,t         j                  j                  | j                  dd      }|5  |sd}nd}|D ]0  \  }}| j	                  | j                  j                  |      |       2 dD ][  }|r|j                  dd      }| j                  |	      5  | j                  | j                  j                  |             d d d        ] 	 d d d        y # 1 sw Y   qxY w# 1 sw Y   y xY w)
N   :F)
_MAC_DELIM_MAC_OMITS_LEADING_ZEROES   .T))s   52:54:00:9d:0e:67   g:PI )s   12:34:56:78:90:ab   ,H))s   fe.ad.c.1.23.4   #z )r   s   fe80::5054:ff:fe9s   123:2:3:4:5:6:7:8s   52:54:00:9d::67s0   52:54:00:9d:0e52:54:00:9d:0e:6x52-54-00-9d-0e-67)mac)	r   r   r!  r   rg   
_parse_macreplacer  assertIsNone)r.   aixr   testsr  r  s         r   check_parse_macz!BaseTestInternals.check_parse_mac  s2   JJ''		37BG ( IE JJ''		37BF ( HE  "	A "' FX  !5!5c!:HEF A ++dD1C\\c\* A%%dii&:&:3&?@A A#A!"	A "	ABA AC"	A "	As%   A(D+D1
DD
DDc                 &    | j                  d       y )NFr  r   s    r   test_parse_macz BaseTestInternals.test_parse_mac:  s    U#r   c                 &    | j                  d       y )NTr  r   s    r   test_parse_mac_aixz$BaseTestInternals.test_parse_mac_aix=  s    T"r   c                     d}t         j                  j                  | j                  ddt	        |            5  | j                  j                  ddd      }d d d        | j                  d	       y # 1 sw Y   xY w)
Na  Name  Mtu   Network     Address           Ipkts Ierrs    Opkts Oerrs  Coll
en0   1500  link#2      fe.ad.c.1.23.4   1714807956     0 711348489     0     0
                        01:00:5e:00:00:01
en0   1500  192.168.129 x071             1714807956     0 711348489     0     0
                        224.0.0.1
en0   1500  192.168.90  x071             1714807956     0 711348489     0     0
                        224.0.0.1
r  Tr  r  _get_command_stdoutnetstat-ian   Addressr   r   headingr  r   r   r!  r   r   _find_mac_under_headingrg   r.   r   r  s      r   test_find_under_headingz)BaseTestInternals.test_find_under_heading@  s     ZZ  ,0;?5LT5R ! T 	 ))33!" 4 C		 	n-	 	   A33A<c                     d}t         j                  j                  | j                  ddt	        |            5  | j                  j                  ddd      }d d d        | j                  d	       y # 1 sw Y   xY w)
Nat  Name    Mtu Network       Address              Ipkts Ierrs Idrop    Opkts Oerrs  Coll
vtnet  1500 <Link#1>      52:54:00:9d:0e:67    10017     0     0     8174     0     0
vtnet     - fe80::%vtnet0 fe80::5054:ff:fe9        0     -     -        4     -     -
vtnet     - 192.168.122.0 192.168.122.45        8844     -     -     8171     -     -
lo0   16384 <Link#2>      lo0                 260148     0     0   260148     0     0
lo0       - ::1/128       ::1                    193     -     -      193     -     -
                          ff01::1%lo0
                          ff02::2:2eb7:74fa
                          ff02::2:ff2e:b774
                          ff02::1%lo0
                          ff02::1:ff00:1%lo
lo0       - fe80::%lo0/64 fe80::1%lo0              0     -     -        0     -     -
                          ff01::1%lo0
                          ff02::2:2eb7:74fa
                          ff02::2:ff2e:b774
                          ff02::1%lo0
                          ff02::1:ff00:1%lo
lo0       - 127.0.0.0/8   127.0.0.1           259955     -     -   259955     -     -
                          224.0.0.1
r  Fr  r  r  r  r  r  r  r  s      r   test_find_under_heading_ipv6z.BaseTestInternals.test_find_under_heading_ipv6Y  s    , ZZ  ,0;@5LT5R ! T 	 ))33!" 4 C		 	n-	 	r  c                    d}t         j                  j                  | j                  ddt	        |            5  | j                  j                  dddgd 	      }d d d        | j                  d
       y # 1 sw Y   xY w)Nz
fake      Link encap:UNSPEC  hwaddr 00-00
cscotun0  Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
eth0      Link encap:Ethernet  HWaddr 12:34:56:78:90:ab
r  Fr  ifconfigr   s   hwaddrc                     | dz   S )NrE   r   )xs    r   r   z>BaseTestInternals.test_find_mac_near_keyword.<locals>.<lambda>  s
    Q r   )r   r   keywordsget_word_indexr  )r   r   r!  r   r   _find_mac_near_keywordrg   r  s      r   test_find_mac_near_keywordz,BaseTestInternals.test_find_mac_near_keyword~  s     ZZ  ,0;@5LT5R ! T 		 ))22"#.	 3 C			 	n-		 		s   "A66A?Nc                     |r|| j                  d|z          d|z  }t        j                  dk\  rt        |d       | j	                  d|cxk  xr dk  nc d|z         y )	Nz	requires r   re    )endr   r   z%s is not an RFC 4122 node ID)r3  r   verboseprintr   )r.   rr   requiresrs   s       r   
check_nodezBaseTestInternals.check_node  sY    MM+01n??a#3D,G,7#=	?r   z7ifconfig is not used for introspection on this platformc                 \    | j                   j                         }| j                  |d       y )Nr  )r   _ifconfig_getnoder  r.   rr   s     r   test_ifconfig_getnodez'BaseTestInternals.test_ifconfig_getnode  s$     yy**,j)r   z1ip is not used for introspection on this platformc                 \    | j                   j                         }| j                  |d       y )Nip)r   _ip_getnoder  r  s     r   test_ip_getnodez!BaseTestInternals.test_ip_getnode  s$     yy$$&d#r   z2arp is not used for introspection on this platformc                 \    | j                   j                         }| j                  |d       y )Narp)r   _arp_getnoder  r  s     r   test_arp_getnodez"BaseTestInternals.test_arp_getnode  s$     yy%%'e$r   z6lanscan is not used for introspection on this platformc                 \    | j                   j                         }| j                  |d       y )Nlanscan)r   _lanscan_getnoder  r  s     r   test_lanscan_getnodez&BaseTestInternals.test_lanscan_getnode  $     yy))+i(r   z6netstat is not used for introspection on this platformc                 \    | j                   j                         }| j                  |d       y )Nr  )r   _netstat_getnoder  r  s     r   test_netstat_getnodez&BaseTestInternals.test_netstat_getnode  r  r   c                     | j                   j                         }| j                  |dz  d|z         | j                  |       | j                   j                         }| j	                  ||d|z         y )Nl        r   )r   _random_getnoder   r  r4  )r.   rr   r   s      r   test_random_getnodez%BaseTestInternals.test_random_getnode  sa    yy((* 	('D.9		))+E448r   r   )r"   r#   r$   r,   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r   r  r  	  sA   E,A\$#.2#.J.,? X00ENNBAC*C* X**enn<;=$=$ X++u~~=<>%>% X//5>>A@B)B) X//5>>A@B)B)	9r   r  c                       e Zd ZeZy)TestInternalsWithoutExtModuleNr  r   r   r   r  r    r  r   r  c                       e Zd ZeZ ej                  ej                  dk(  d      d        Z	 ej                  ej                  dk(  d      d        Z
y)TestInternalsWithExtModuler/  zrequires Posixc                     t        d      st        d      s| j                  d       	 | j                  j                         }| j                  d       y # t        $ r | j                  d       Y /w xY w)Nr   ctypesz,neither _uuid extension nor ctypes availablezrequires uuid_generate_timeunix)r   r3  r   _unix_getnoder   r  r  s     r   test_unix_getnodez,TestInternalsWithExtModule.test_unix_getnode  sc    '":h+?MMHI	999**,D 	f%  	9MM78	9s   A A32A3ntzrequires Windowsc                 Z    | j                   j                         }| j                  |       y r   )r   _windll_getnoder  r  s     r   test_windll_getnodez.TestInternalsWithExtModule.test_windll_getnode  s     yy((*r   N)r"   r#   r$   r  r   r  r  r<  r   r  r  r   r   r   r  r    s^    DXG+-=>& ?& XD*<= >r   r  __main__)r  testr   test.supportr   r{   r  r
  r)   r   r<  r  r  rx  r   import_fresh_moduler,   r  r   r   r   TestCaser  r  r  r  r  r  r"   r  r   r   r   <module>r     s&     &     	 	  
  
+-
+
+FWI
F	*	*	*6'	C^1 ^1B|X->->  V:;L(*;*;  <{9 {9z$5x7H7H  V:;!2H4E4E  <& zHMMO r   