
    7bh                     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# t        $ r Y yw xY w)NTF)
__import__ModuleNotFoundError)names    8/opt/python-3.12.12/usr/lib/python3.12/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rD      z$6ba7b811-9dad-11d1-80b4-00c04fd430c8z&{6ba7b811-9dad-11d1-80b4-00c04fd430c8} 6ba7b8119dad11d180b400c04fd430c8s   kр O0s   k O0)ikrA   rB   rC   rD   rE   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krA   rB   rC   rD   rE   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krA   rB   rC   rD   rE   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  rB      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  rN   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   }   rW         l   {{ l	   {{?~ z-urn:uuid:fffefdfc-fffe-fffe-fffe-fffefdfcfbfal   }i?  z$ffffffff-ffff-ffff-ffff-ffffffffffffz&{ffffffff-ffff-ffff-ffff-ffffffffffff} ffffffffffffffffffffffffffffffffs   )l      r[   rX   rX       l	    z-urn:uuid:ffffffff-ffff-ffff-ffff-ffffffffffffl   ?  bytesbytes_lefieldsint      )assertEqualr   RESERVED_NCSRFC_4122RESERVED_FUTUREUUIDstrre   r_   ra   rc   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curlyrt   r_   ra   rc   integerru   rv   rw   rx   ry   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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I4N 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   rl   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Jr   c                  :     j                   j                  d      S )N!123456781234567812345678123456789r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>   s    (KLr   c                  :     j                   j                  d      S )N 123456781234567812345678z2345678r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>   s    (JKr   c                  <     j                   j                  d      S )Nr   r^   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>   s    e4r   c                  <     j                   j                  d      S )N               r^   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>       g6r   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    7r   c                  <     j                   j                  d      S )Nr   r`   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>       9r   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)rF   rb   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>   s    t4r   c                  <     j                   j                  d      S )N)rF   rf   r;   rS   rg   rb   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>   s    ?r   c                  <     j                   j                  d      S )N)rF   rf   r;   rS   rg         rb   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>   s    /DEr   c                  <     j                   j                  d      S )N)r"   r   r   r   r   r   rb   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>       /BCr   c                  <     j                   j                  d      S )N)l        r   r   r   r   r   rb   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>   s    /KLr   c                  <     j                   j                  d      S )N)r   r"   r   r   r   r   rb   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>  r   r   c                  <     j                   j                  d      S )N)r      r   r   r   r   rb   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>      /GHr   c                  <     j                   j                  d      S )N)r   r   r"   r   r   r   rb   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   rb   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   rb   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>  r   r   c                  <     j                   j                  d      S )N)r   r   r      r   r   rb   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>      /EFr   c                  <     j                   j                  d      S )N)r   r   r   r   r"   r   rb   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   rb   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"   rb   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>	  r   r   c                  <     j                   j                  d      S )N)r   r   r   r   r             rb   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>
  s    /OPr   c                  >     j                   j                  dd      S )Nr2   r   ry   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>      ;r   c                  >     j                   j                  dd      S )Nr2   r   r   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>  r   r   c                  <     j                   j                  d      S )Nr"   rd   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>  s    B/r   c                  B     j                   j                  ddz        S )NrF   rC   rd   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>  s    AsF3r   )r2   r3   r4   r   )rt   r^   r`   rb   rd   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2r   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5r   rt   r_   ra   re   rc   r   c                  >     j                   j                  fi  S r   r   )r   r   r/   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>,  s    		q0ID0Ir   rF   c                  <     j                   j                  di  S )Nr   r   )r   r/   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>.  s    		0F0Fr   c                      t        d       S )Nrt   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 )Nra   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>4      :q1r   c                      t        d       S )Nrc   r   )r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>5  s    8Q/r   c                      t        d       S )Nre   r   )r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>6  r   r   c                      t         dd      S )Nrn   r   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>7  r   r   c                      t         dd      S )Nro   r   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>8  r   r   c                      t         dd      S Nrp   r   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>9      #4a8r   c                      t         dd      S r   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>:  r   r   c                      t         dd      S )Nrq   r   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda>;  s    #91=r   c                      t         dd      S )Nrr   r   r   r   s   r   r   z.BaseTestUUID.test_exceptions.<locals>.<lambda><  s    ?A6r   c                      t         dd      S )Nrs   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   rl   dictr~   )r/   badvaluebadtypehhbbbbleiiffr   r   r   r   r   r   s   `       @@@@@@r   test_exceptionszBaseTestUUID.test_exceptions   s   =; 	+,./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 
|$BWaL>*:q/!23D!UAJ<0#%1"7B#'R$(;b(@#AD"4yA~ '(I J"4yA~ '(F G #8 1 4 + % 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
assertTruerh   )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   rh   is_safeactualexpectedr/   s     r   checkz1BaseTestUUID.test_pickle_roundtrip.<locals>.checkL  -    VX.V^^X-=-=>r   r    d82579ce6642a0de7ddf490a7aec7aa5r   rF   )protocol)r   	swap_itemsysmodulesr   r.   rl   copydeepcopyr}   pickleHIGHEST_PROTOCOLsubTestloadsdumps)r/   r  r   r   protos   `    r   test_pickle_roundtripz"BaseTestUUID.test_pickle_roundtripK  s    	? s{{FDII>99--IINN#E+2 # 4diilA&dmmA&*"6#:#:Q#>?Eu5fll6<<5+ABAF 65 @ . ?> 65 ?>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   rl   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>( fll7+Q/	 )
 .fll7+V4 ./fll7+X6 0 ?>>s   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    7r   )_node_GETTERSr   r   r   )rs   z"uuid1 was given an invalid node ID)	r   patchmultipler   r   r   uuid1r   fail)r/   too_large_getterrs   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
   rF     r   l   ,Hr\   ?   r6   r=   r]   )rh   r}   r   r#  rx   rj   ry   assertInr   r.   r&   r'   r(   r~   keysrs   rq   rr   r/   r   r   r   uuidss        r   
test_uuid1zBaseTestUUID.test_uuid1  sD      .32Y7Y$))//#Y7A!))TYY//0!))QMM!))dii&8&8&=&=&*ii&8&8&?&?&*ii&8&8&@&@&B C 8 -24[9[$))//#[9A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(  rg   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*.
        r0  r1  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   r4  r   _load_system_functionsr9  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#  rh   r   r.   r(   r6  s     r   test_uuid1_unknownzBaseTestUUID.test_uuid1_unknown-  sR     ))$/		!AQYY		(:(:(B(BC 0//   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#  rh   r   r.   r&   r6  s     r   test_uuid1_is_safezBaseTestUUID.test_uuid1_is_safe5  sP    ))!,		!AQYY		(:(:(?(?@ -,,rC  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#  rh   r   r.   r'   r6  s     r   test_uuid1_is_unsafez!BaseTestUUID.test_uuid1_is_unsafe;  sP    ))"-		!AQYY		(:(:(A(AB .--rC  c                     | j                  d      5  | j                  j                         }| j                  |j                  | j                  j
                  j                         d d d        y # 1 sw Y   y xY wNr;   rA  r6  s     r   test_uuid1_bogus_return_valuez*BaseTestUUID.test_uuid1_bogus_return_valueA  sP    ))!,		!AQYY		(:(:(B(BC -,,rC  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)Nr3  Fr9  _last_timestampr   l   ZYS )return_valueztime.time_nsl   3E5<+ zrandom.getrandbitsi  z$a7a55b92-01fc-11e9-94c5-54e1acf6da7f)rs   rw   )r   r!  r   r   r#  rh   rl   r6  s     r   test_uuid1_timezBaseTestUUID.test_uuid1_timeG  s   ZZtyy*H%PZZtyy*?FZZtyy*;TBZZtyy).QZZ5HIZZ,4@		!AQ		/U VW A J R C G Q ZZtyy*H%PZZtyy*?FZZtyy*;TBZZ5HI		^tDAQ		/U VW J C G QP	 A@ JI RQ CB GF QP JI CB GF QPs   ,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)rh   r   uuid3NAMESPACE_DNSNAMESPACE_URLNAMESPACE_OIDNAMESPACE_X500rx   rj   ry   rl   rm   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(  rS   r)  rF   )	rh   r}   r   uuid4rx   rj   ry   r~   r,  r-  s        r   
test_uuid4zBaseTestUUID.test_uuid4y  s       .32Y7Y$))//#Y7A!))TYY//0!))Q 8
 -24[9[$))//#[9A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 )NrP  z$886313e1-3b8a-5372-9b90-0c9aee199e5drQ  z$4c565f0d-3f5a-5890-b41b-20cf47701c5erR  z$1447fa61-5277-5fef-a9b3-fbc6e44f4af3rS  z$cc957dd1-a972-5349-98cd-874190002798rg   rT  rU  rV  rW  )rh   r   uuid5rY  rZ  r[  r\  rx   rj   ry   rl   rm   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   rF   zlatin-1)exitcoded   )r=  pipeforkcloser   ra  writert   r   _exit
addCleanupr   wait_processreaddecoder5  )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   ra  weakrefrefassertIs)r/   strongweaks      r   test_uuid_weakrefzBaseTestUUID.test_uuid_weakref  s0    "{{6"fdf%r   argv)r   -urX  -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Nrf   z$error: Incorrect number of arguments	r   
SystemExitr   mainrh   	exceptioncoder+  getvaluer/   mock_errcms      r   %test_cli_namespace_required_for_uuid3z2BaseTestUUID.test_cli_namespace_required_for_uuid3  sd     z*bIINN + 	**A.<h>O>O>QR +*   B  B	)r   r  rX  -NrT  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  sd     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)NrS   r   StringIO
contextlibredirect_stdoutr   r  r  striprl   rh   rm   ry   r/   stdoutoutputuuid_outputs       r   %test_cli_uuid4_outputted_with_no_argsz2BaseTestUUID.test_cli_uuid4_outputted_with_no_args  s    ''/IINN 0 "((*iinnV, 	[!12,,a0 0/   B>>C)r   r  rX  r  r  r  rT  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rI  r  r  s       r   5test_cli_uuid3_ouputted_with_valid_namespace_and_namezBBaseTestUUID.test_cli_uuid3_ouputted_with_valid_namespace_and_name       ''/IINN 0 "((*iinnV, 	[!12,,a0 0/r  )r   r  rd  r  r  r  rT  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)Nrg   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   r0   r   r   r   r  r  r&  r/  r   requires_mac_verunittest
skipUnlessr=  r   r7  r  contextmanagerr?  rB  rE  rG  rJ  rN  r^  rb  re  requires_forkrw  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   rh   
_parse_macreplacer  assertIsNone)r/   aixr!  testsr  r  s         r   check_parse_macz!BaseTestInternals.check_parse_mac  s   JJ''		37BG ( IE JJ''		37BF ( HE  "'X  !5!5c!:HE "' ++dD1C\\c\*%%dii&:&:3&?@ +*#! UB +*C Us%   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_headingrh   r/   r   r  s      r   test_find_under_headingz)BaseTestInternals.test_find_under_heading@  s     ZZ  ,0;?5LT5R ! T ))33!" 4 C	T 	n-T T   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	T 	n-T T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 )NrF   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_keywordrh   r  s      r   test_find_mac_near_keywordz,BaseTestInternals.test_find_mac_near_keyword~  s     ZZ  ,0;@5LT5R ! T ))22"#.	 3 C	T 	n-T T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   rf    )endr   r   z%s is not an RFC 4122 node ID)r4  r   verboseprintr   )r/   rs   requiresrt   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/   rs   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  r5  )r/   rs   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)TestInternalsWithExtModuler0  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   r4  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	  ry  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   