
    &                          S SK r  " S S5      rg)    Nc                   l    \ rS rSrSrS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rS rSrg)CacheTestMixin   Nc                    U R                  SS9nU R                  S[        U5      5        U R                  SUR                  5        U R                  SUR                  5        U R                  SUR                  S 5      5        U R                  SUR                  S5      5        U R                  SUR                  S5      5        U R                  [        U5      R                  UR                  R                  5      5        g )N   maxsizer    )CacheassertEquallenr	   currsize	getsizeof
assertTruerepr
startswith	__class____name__selfcaches     8platform/gsutil/third_party/cachetools/tests/__init__.pytest_defaultsCacheTestMixin.test_defaults   s    

1
%CJ'EMM*ENN+EOOD12EOOB/0EOOA./U..u/G/GHI    c                 @   U R                  SS9nUR                  SSS.5        U R                  S[        U5      5        U R                  SUS   5        U R                  SUS   5        SUS'   U R                  S[        U5      5        U R                  SUS   5        U R	                  SU;   =(       d    SU;   5        SUS'   U R                  S[        U5      5        U R                  SUS   5        U R	                  SU;   =(       d    SU;   =(       d    SU;   5        g )N   r   r   r   r      r   )r   updater   r   r   r   s     r   test_insertCacheTestMixin.test_insert   s    

1
%q\"CJ'E!H%E!H%aCJ'E!H%U
0a5j1aCJ'E!H%U
>a5j>AJ?r   c                 8   U R                  SS9nUR                  SSS.5        U R                  S[        U5      5        U R                  SUS   5        U R                  SUS   5        UR                  SSS.5        U R                  S[        U5      5        U R                  SUS   5        U R                  SUS   5        UR                  SSS.5        U R                  S[        U5      5        U R                  SUS   5        U R                  SUS   5        g )Nr   r   r   r   ab)r   r    r   r   r   s     r   test_updateCacheTestMixin.test_update#   s    

1
%q\"CJ'E!H%E!H%q\"CJ'E!H%E!H%%&CJ'eAh'eAh'r   c                    U R                  SS9nUR                  SSS.5        U R                  S[        U5      5        U R                  SUS   5        U R                  SUS   5        US	 U R                  S[        U5      5        U R                  SUS   5        U R	                  SU5        US	 U R                  S[        U5      5        U R	                  SU5        U R	                  SU5        U R                  [        5         US	 S S S 5        U R                  S[        U5      5        U R	                  SU5        U R	                  SU5        g ! , (       d  f       NN= fNr   r   r   r   r   )r   r    r   r   assertNotInassertRaisesKeyErrorr   s     r   test_deleteCacheTestMixin.test_delete5   s/   

1
%q\"CJ'E!H%E!H%!HCJ'E!H%E"!HCJ'E"E"x(a )CJ'E"E"	 )(s   E
Ec                    U R                  SS9nUR                  SSS.5        U R                  SUR                  S5      5        U R                  S[	        U5      5        U R                  SUR                  S5      5        U R                  S[	        U5      5        U R                  [        5         UR                  S5        S S S 5        U R                  [        5         UR                  S5        S S S 5        U R                  [        5         UR                  S5        S S S 5        U R                  S UR                  SS 5      5        U R                  S UR                  SS 5      5        U R                  S UR                  SS 5      5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= fr)   )r   r    r   popr   r+   r,   r   s     r   test_popCacheTestMixin.test_popM   s>   

1
%q\"EIIaL)CJ'EIIaL)CJ'x(IIaL )x(IIaL )x(IIaL ) 	uyyD12uyyD12uyyD12 )(((((s$   1F F!F2
F!
F/2
G c                    U R                  SS9nUR                  SSS.5        U R                  UR                  S5      SSS.5        U R	                  S[        U5      5        U R                  UR                  S5      SSS.5        U R	                  S[        U5      5        U R                  [        5         UR                  5         S S S 5        g ! , (       d  f       g = fr)   )	r   r    assertInr0   r   r   r+   r,   popitemr   s     r   test_popitemCacheTestMixin.test_popitema   s    

1
%q\"eiilaL1CJ'eiilaL1CJ'x(MMO )((s   7C
Cc                     S n U R                  SS9R                  5         U R                  UR                  5        U R                  UR                  5        g ! [         a  nUn S nANHS nAff = f)Nr   r   )r   r5   	ExceptionassertIsNone	__cause__r   __suppress_context__)r   	exceptiones      r   test_popitem_exception_context-CacheTestMixin.test_popitem_exception_contextm   sd     		JJqJ!))+ 	)--.	667  	I	s   A 
A."A))A.c                 v	    " S SU R                   5      nU" SS9nU R                  SUR                  5        U R                  SUR                  5        U R                  S[	        U5      5        U R                  SUS   5        U R                  SUS   5        U R                  S[	        U5      5        U R                  SU;   =(       a    SU;   5        U R                  SUS   5        U R                  S[	        U5      5        U R                  SU;   5        U R                  SU;   =(       d    SU;   5        U R                  SU;  =(       d    SU;  5        U R                  SUS   5        U R                  S[	        U5      5        U R                  SU;   5        U R                  SU;   =(       d    SU;   =(       d    SU;   5        U R                  SUR                  S5      5        U R                  S UR                  S	5      5        U R                  S
UR                  S	S
5      5        U R                  S[	        U5      5        U R                  SUR                  S5      5        U R                  [        5         UR                  S	5        S S S 5        U R                  S UR                  S	S 5      5        U R                  S
UR                  S	S
5      5        U R                  S[	        U5      5        UR                  5         SUS'   U R                  SUR                  S5      5        U R                  SUR                  SS5      5        U R                  SUS   5        U R                  SUR                  SS5      5        U R                  SUR                  SS 5      5        U R                  SUR                  S5      5        U R                  SUS   5        U R                  S[	        U5      5        U R                  SU;   =(       a    SU;   5        U R                  S UR                  S5      5        U R                  S[	        U5      5        U R                  SU;   5        U R                  SU;   =(       d    SU;   5        U R                  SU;  =(       d    SU;  5        g ! , (       d  f       GN!= f)Nc                       \ rS rSrS rSrg)1CacheTestMixin.test_missing.<locals>.DefaultCachey   c                     XU'   U$ N r   keys     r   __missing__=CacheTestMixin.test_missing.<locals>.DefaultCache.__missing__z   s    S	
r   rG   Nr   
__module____qualname____firstlineno__rJ   __static_attributes__rG   r   r   DefaultCacherC   y   s    r   rQ   r   r   r   r   r   r         )r   r   r   r	   r   r   getr0   r+   r,   clear
setdefaultr   rQ   r   s      r   test_missingCacheTestMixin.test_missingx   s   	4:: 	
 Q'ENN+EMM*CJ'E!H%E!H%CJ'U
1qEz2E!H%CJ'U
#U
0a5j18!5.9E!H%CJ'U
#U
>a5j>AJ?
 	EIIaL)uyy|,		!U 34CJ'EIIaL)x(IIaL )uyyD12		!U 34CJ'a 0 0 34 0 0A 67a) 0 0E :; 0 0D 9: 0 0 34a)CJ'U
1qEz2u//23CJ'U
#U
0a5j18!5.9+ )(s   =R))
R8c                     " S SU R                   5      nU" SS S9nU R                  SUR                  5        U R                  SUR                  5        U R                  SUS   5        U R                  S[	        U5      5        U R                  SUR                  5        U R                  SU5        U R                  SUS   5        U R                  S[	        U5      5        U R                  SUR                  5        U R                  SU5        U R                  SU5        U R                  SUS   5        U R                  S[	        U5      5        U R                  SUR                  5        U R                  SUS   5        U R                  S[	        U5      5        U R                  SUR                  5        U R                  S	UR                  5       5        g )
Nc                       \ rS rSrS rSrg);CacheTestMixin.test_missing_getsizeof.<locals>.DefaultCache   c                 2     XU'   U$ ! [          a     U$ f = frF   )
ValueErrorrH   s     r   rJ   GCacheTestMixin.test_missing_getsizeof.<locals>.DefaultCache.__missing__   s.     #I 
 " 
s    
rG   NrL   rG   r   r   rQ   r\      s    r   rQ   r   c                     U $ rF   rG   xs    r   <lambda>7CacheTestMixin.test_missing_getsizeof.<locals>.<lambda>   s    Ar   r	   r   r   r   r   )r   r   )r   r   r   r	   r   r4   r*   r5   rW   s      r   test_missing_getsizeof%CacheTestMixin.test_missing_getsizeof   sz   	4:: 	 Q+>ENN+EMM*E!H%CJ'ENN+aE!H%CJ'ENN+E"aE!H%CJ'ENN+E!H%CJ'ENN+1r   c                    U R                  SUR                  5        U R                  SUR                  5        U R                  SUR                  S5      5        U R                  SUR                  S5      5        U R                  SUR                  S5      5        UR	                  SSS.5        U R                  S[        U5      5        U R                  SUR                  5        U R                  SUS   5        U R                  SUS   5        SUS'   U R                  S[        U5      5        U R                  SUR                  5        U R                  SUS   5        U R                  SU5        UR	                  SSS.5        U R                  S[        U5      5        U R                  SUR                  5        U R                  SUS   5        U R                  SUS   5        SUS'   U R                  S[        U5      5        U R                  SUR                  5        U R                  SUS   5        U R                  SU5        U R                  SU5        U R                  [        5         SUS'   S S S 5        U R                  S[        U5      5        U R                  SUR                  5        U R                  SUS   5        U R                  [        5         SUS'   S S S 5        U R                  S[        U5      5        U R                  SUR                  5        U R                  SUS   5        g ! , (       d  f       N= f! , (       d  f       Nl= f)Nr   r   r   r   r   r   )	r   r   r	   r   r    r   r*   r+   r_   r   s     r   _test_getsizeofCacheTestMixin._test_getsizeof   s   ENN+EMM*EOOA./EOOA./EOOA./q\"CJ'ENN+E!H%E!H%aCJ'ENN+E!H%E"q\"CJ'ENN+E!H%E!H%aCJ'ENN+E!H%E"E"z*E!H +CJ'ENN+E!H%z*E!H +CJ'ENN+E!H% +* +*s   3L="M=
M
Mc                 D    U R                  U R                  SS S95        g )Nr   c                     U $ rF   rG   rb   s    r   rd   5CacheTestMixin.test_getsizeof_param.<locals>.<lambda>  s    qr   rf   )rj   r   )r   s    r   test_getsizeof_param#CacheTestMixin.test_getsizeof_param   s    TZZ[ZIJr   c                 X     " S SU R                   5      nU R                  U" SS95        g )Nc                       \ rS rSrS rSrg)5CacheTestMixin.test_getsizeof_subclass.<locals>.Cachei  c                     U$ rF   rG   )r   values     r   r   ?CacheTestMixin.test_getsizeof_subclass.<locals>.Cache.getsizeof  s    r   rG   N)r   rM   rN   rO   r   rP   rG   r   r   r   rs     s    r   r   r   r   )r   rj   )r   r   s     r   test_getsizeof_subclass&CacheTestMixin.test_getsizeof_subclass  s'    	DJJ 	 	U1-.r   c                    SS K nU R                  SS9nUR                  SSS.5        UR                  UR	                  U5      5      nU R                  X#5        U R                  S[        U5      5        U R                  SUS   5        U R                  SUS   5        SUS'   U R                  S[        U5      5        U R                  SUS   5        U R                  SU;   =(       d    SU;   5        SUS'   U R                  S[        U5      5        U R                  SUS   5        U R                  SU;   =(       d    SU;   =(       d    SU;   5        U R                  X1R                  UR	                  U5      5      5        g )Nr   r   r   r   r   r   r   )pickler   r    loadsdumpsr   r   r   )r   rz   sourcer   s       r   test_pickleCacheTestMixin.test_pickle
  sC   A&!l#V\\&12'CJ'E!H%E!H%aCJ'E!H%U
0a5j1aCJ'E!H%U
>a5j>AJ?V\\%-@ ABr   c                 F   SS K nSS KnSSUR                  5       S-  4 H  nU R                  US9nUR	                  S [        U5       5       5        UR                  UR                  U5      5      nU R                  U[        U5      5        U R                  XE5        M     g )Nr   r   r   r   c              3   (   #    U  H  oU4v   M
     g 7frF   rG   ).0is     r   	<genexpr>5CacheTestMixin.test_pickle_maxsize.<locals>.<genexpr>*  s     3(Qa&(s   )
rz   sysgetrecursionlimitr   r    ranger{   r|   r   r   )r   rz   r   nr}   r   s         r   test_pickle_maxsize"CacheTestMixin.test_pickle_maxsize#  s     Q--/!34AZZZ*FMM3%(33LLf!56EQE
+V+ 5r   rG   )r   rM   rN   rO   r   r   r!   r&   r-   r1   r6   r?   rX   rg   rj   ro   rw   r~   r   rP   rG   r   r   r   r      sT    EJ@$($#03(
	89:v2B*&XK/C2
,r   r   )unittestr   rG   r   r   <module>r      s    i, i,r   