+
    Bi                       ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	H
t
 ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIt^ RIt^ RIt^ RIt]P(                  '       g   ]P*                  ! R4      h ! R R	4      t ! R
 R]4      t ! R R]]P0                  4      t ! R R]]P0                  4      t ! R R]4      t ! R R]4      t ! R R]]P0                  4      t ! R R]]P0                  4      t ! R R]]P0                  4      t ! R R]]P0                  4      t  ! R R4      t! ! R R]PD                  4      t# ! R  R!]P0                  4      t$ ! R" R#]]P0                  4      t% ! R$ R%]%]P0                  4      t& ! R& R'4      t' ! R( R)]']%4      t( ! R* R+]%]P0                  4      t) ! R, R-]%]P0                  4      t* ! R. R/]']%4      t+ ! R0 R1]]P0                  4      t, ! R2 R3]4      t- ! R4 R5]-]P0                  4      t. ! R6 R7]-]P0                  4      t/R8t0R9t1 ! R: R;]P0                  4      t2R<t3]3Pi                  R=4      t5. RBOt6RCt7 ! R> R?]P0                  4      t8R@ t9]:RA8X  d   ]Pv                  ! 4        R# R# )D    N)support)import_helper)	os_helper)refleak_helper)socket_helperztest requires gethostname()c                      a  ] tR t^t o ]P
                  ]P                  ]P                  ]P                  ]P                  ]P                  3tR tR tRtV tR# )TestBasec                   V P                  V\        P                  P                  4       V P                  V\        P                  4       \
         F%  w  r#V P                  W1P                  V4      4       K'  	  V P                  VP                  4       4       V P                  \        VP                  4       4      \        \        4      4       \        \        4       F  w  rEVP                  V4      pV P                  V\        P                  P                  4       V P                  V\        P                  4       V P                  VP                  4       V4       K  	  R # N)assertIsInstanceemailmessageMessagemailbox_sample_headersassertInget_all
assertTrueis_multipartassertEquallenget_payload_sample_payloads	enumerateassertNotIsInstance)selfmsgkeyvalueipayloadparts   &&     (/usr/lib/python3.14/test/test_mailbox.py_check_sampleTestBase._check_sample   s    c5==#8#89c7??3)JCMM%S!12 *((*+S__./5E1FG#$45JA??1%D!!$(=(=>$$T7??;T--/9	 6    c                    \         P                  P                  V4      '       d   \        P                  ! V4       R # \         P                  P                  V4      '       d   \        P                  ! V4       R # R # r   )ospathisdirr   rmtreeexistsunlink)r   targets   &&r#   _delete_recursivelyTestBase._delete_recursively-   sI    77==  V$WW^^F##V$ $r&    N)__name__
__module____qualname____firstlineno__r   r   MaildirMessagemboxMessage	MHMessageBabylMessageMMDFMessageall_mailbox_typesr$   r/   __static_attributes____classdictcell____classdict__s   @r#   r	   r	      sN      '*@*@ ,,g.?.? --w/B/BD:% %r&   r	   c                     a  ] tR t^5t o RtRtRtR tR tR t	]
P                  ! R4      tR tR tR	 tR
 t]
P                  ! R4      P#                  R4      tR tR tR tR tR tR tR tR tR tR5R ltR tR tR tR t R t!R t"R t#R t$R t%R  t&R! t'R" t(R# t)R$ t*R5R% lt+R& t,R5R' lt-R( t.R5R) lt/R* t0R5R+ lt1R, t2R- t3R. t4R/ t5R0 t6R1 t7R2 t8R3 t9R4t:V t;R# )6TestMailboxNzFrom: foo

%s
c                    \         P                  V n        V P                  V P                  4       V P	                  V P                  4      V n        R # r   )r   TESTFN_pathr/   _factory_boxr   s   &r#   setUpTestMailbox.setUp<   s5    %%
  ,MM$**-	r&   c                p    V P                   P                  4        V P                  V P                  4       R # r   )rF   closer/   rD   rG   s   &r#   tearDownTestMailbox.tearDownA   s"    		  ,r&   c                   . pVP                  V P                  P                  V P                  ^ ,          4      4       V P	                  \        V P                  4      ^4       VP                  V P                  P                  \        P                  ! \        4      4      4       V P	                  \        V P                  4      ^4       VP                  V P                  P                  \        P                  ! \        4      4      4       V P	                  \        V P                  4      ^4       VP                  V P                  P                  \        P                  ! \        4      4      4       V P	                  \        V P                  4      ^4       VP                  V P                  P                  \        4      4       V P	                  \        V P                  4      ^4       VP                  V P                  P                  \        4      4       V P	                  \        V P                  4      ^4       V P                  \        4      ;_uu_ 4        VP                  V P                  P                  \        P                   ! \        P                  ! \        4      RR7      4      4       RRR4       V P	                  \        V P                  4      ^4       V P	                  V P                  P#                  V^ ,          4      V P                  ^ ,          4       R F+  pV P%                  V P                  W,          ,          4       K-  	  R#   + '       g   i     L; i)r   utf-8encodingN)                  )appendrF   add	_templater   r   r   r   _sample_messager   message_from_stringioBytesIO_bytes_sample_messageassertWarnsDeprecationWarningTextIOWrapper
get_stringr$   )r   keysr    s   &  r#   test_addTestMailbox.test_addE   s   DIIMM$..1"456TYY+DIIMM'///"BCDTYY+DIIMM%";";O"LMNTYY+DIIMM"**-B"CDETYY+DIIMM/23TYY+DIIMM"789TYY+011KK		  ,A!BWUW X 2 	TYY+--d1g68JK#Atyy12 $ 21s   AMM'	u{               From: foo
            Subject: Falinaptár házhozszállítással. Már rendeltél?

            0
            c                @   V P                   P                  V P                  P                  R 4      4      pV P	                  \        V P                   4      ^4       V P	                  V P                   P                  V4      V P                  P                  R 4      4       R# )latin-1N)rF   rY   _nonascii_msgencoder   r   	get_bytesr   r   s   & r#   "test_add_invalid_8bit_bytes_header.TestMailbox.test_add_invalid_8bit_bytes_headerc   sp    iimmD..55i@ATYY+,,S1%%i0	2r&   c                    V P                   P                  4       ^,          pV P                  P                  VP	                  R4      4      pV P                  V P                  P                  V4      R4       R# )rR   rh   zZSubject: =?unknown-8bit?b?RmFsaW5hcHThciBo4Xpob3pzeuFsbO104XNzYWwuIE3hciByZW5kZWx06Ww/?=

N)ri   
splitlinesrF   rY   rj   r   rc   )r   subjr   s   &  r#   &test_invalid_nonascii_header_as_string2TestMailbox.test_invalid_nonascii_header_as_stringi   sZ    !!,,.q1iimmDKK	23--c2-	.r&   c                b   V P                  \        R 4      ;_uu_ 4        V P                  P                  V P                  4       RRR4       V P                  P                  4        V P                  \        V P                  4      ^ 4       V P                  4        R#   + '       g   i     La; iz
ASCII-onlyN)	assertRaisesRegex
ValueErrorrF   rY   ri   flushr   r   assertMailboxEmptyrG   s   &r#   &test_add_nonascii_string_header_raises2TestMailbox.test_add_nonascii_string_header_raisesp   sk    ##J==IIMM$,,- >		TYY+!	 >=s   &BB.	c                  aa  ! R  R\         4      oRoVV3R lp\        P                  ! V \        P                  P
                  RV4       V P                  SS4      ;_uu_ 4        V P                  P                  \        P                  ! R4      4       RRR4       V P                  \        V P                  4      ^ 4       V P                  P                  4        V P                  4        R#   + '       g   i     La; i)c                       ] tR t^xtRtR# )JTestMailbox.test_add_that_raises_leaves_mailbox_empty.<locals>.CustomErrorr1   Nr2   r3   r4   r5   r<   r1   r&   r#   CustomErrorr~   x   s    cr&   r   za fake errorc                     < S! S4      hr   r1   )argskwr   exc_msgs   *,r#   raiserETestMailbox.test_add_that_raises_leaves_mailbox_empty.<locals>.raiser{   s    g&&r&   flattenu   From: AlphösoN)	Exceptionr   patchr   	generatorBytesGeneratorrv   rF   rY   r\   r   r   rK   ry   )r   r   r   r   s   & @@r#   )test_add_that_raises_leaves_mailbox_empty5TestMailbox.test_add_that_raises_leaves_mailbox_emptyw   s    ))) 	'dEOO::IvN##K99IIMM%334DEF :TYY+		!	 :9s   &0C//C?	u0          From: foo@bar.com
        To: báz
        Subject: Maintenant je vous présente mon collègue, le pouf célèbre
        	Jean de Baddie
        Mime-Version: 1.0
        Content-Type: text/plain; charset="utf-8"
        Content-Transfer-Encoding: 8bit

        Да, они летят.
        rO   c           
     F   V P                   P                  V P                  4      pV P                  V P                   P	                  V4      V P                  4       V P                   P                  V4      ;_uu_ 4       pV P                  VP                  4       V P                  P                  R \        P                  P                  4       4      4       RRR4       V P                  V P                   V,          P                  4       R4       R#   + '       g   i     LC; i)   
Nu   Да, они летят.
)rF   rY   _non_latin_bin_msgr   rk   get_filereadreplacer(   lineseprj   r   r   r   fs   &  r#   test_add_8bit_bodyTestMailbox.test_add_8bit_body   s    iimmD334,,S100	2YY$$QVVX!44<<U "

 1 1 356 % 	33354	6	 %$s   >ADD 	c                   \         P                  ! R 4      ;_uu_ 4       pVP                  \        4       VP	                  ^ 4       V P
                  P                  V4      pRRR4       V P                  V P
                  P                  X4      P                  R4      \        P                  R4      4       R#   + '       g   i     L_; iwb+Nr   )
tempfileTemporaryFilewriter_   seekrF   rY   r   rk   splitr   r   r   s   &  r#   test_add_binary_file TestMailbox.test_add_binary_file   s    ##E**aGG)*FF1I))--"C + 	,,S177>!''.	0	 +*s   AB88C	c                   \         P                  ! R 4      ;_uu_ 4       pVP                  V P                  4       VP	                  ^ 4       V P
                  P                  V4      pRRR4       V P                  V P
                  P                  X4      P                  R4      V P                  P                  R4      4       R#   + '       g   i     Le; ir   )
r   r   r   r   r   rF   rY   r   rk   r   r   s   &  r#   test_add_binary_nonascii_file)TestMailbox.test_add_binary_nonascii_file   s    ##E**aGGD++,FF1I))--"C + 	,,S177>##))%0	2	 +*s   ACC	c           	        \         P                  ! R RR7      ;_uu_ 4       pVP                  \        4       VP	                  ^ 4       V P                  \        4      ;_uu_ 4        V P                  P                  V4      pRRR4       RRR4       V P                  V P                  P                  X4      P                  R4      \        P                  R4      4       R#   + '       g   i     Lg; i  + '       g   i     Lr; i)w+rO   rP   Nr   )r   r   r   r[   r   r`   ra   rF   rY   r   rk   r   r_   r   s   &  r#   test_add_text_file_warns$TestMailbox.test_add_text_file_warns   s    ##D7;;qGGO$FF1I!!"455iimmA& 6 <
 	,,S177>!''.	0 65 <;s$   AC3%C 	C3 C0+C33D	c                p   V P                  \        4      ;_uu_ 4        V P                  P                  \        P
                  ! V P                  R ,          4      4      pRRR4       V P                  V P                  P                  X4      V P                  R ,          4       R#   + '       g   i     LN; i)0N)	r`   ra   rF   rY   r]   StringIOrZ   r   rc   rl   s   & r#   test_add_StringIO_warns#TestMailbox.test_add_StringIO_warns   sn    011))--DNNS,@ ABC 2--c2DNNS4HI 21s   AB%%B5	c           	        V P                  \        4      ;_uu_ 4        V P                  \        R 4      ;_uu_ 4        V P                  P                  \        P                  ! V P                  4      4       RRR4       RRR4       V P                  \        V P                  4      ^ 4       V P                  P                  4        V P                  4        R#   + '       g   i     Li; i  + '       g   i     Lt; iru   )r`   ra   rv   rw   rF   rY   r]   r   ri   r   r   rK   ry   rG   s   &r#   !test_add_nonascii_StringIO_raises-TestMailbox.test_add_nonascii_StringIO_raises   s    011''
LAA		bkk$*<*<=> B 2 	TYY+		!	 BA 21s"   C+:C	7C+C(#C++C;	c                P    V P                  V P                  P                  4       R # r   )_test_remove_or_delitemrF   removerG   s   &r#   test_removeTestMailbox.test_remove   s    $$TYY%5%56r&   c                P    V P                  V P                  P                  4       R # r   )r   rF   __delitem__rG   s   &r#   test_delitemTestMailbox.test_delitem   s    $$TYY%:%:;r&   c                  a aaaa S P                   P                  S P                  ^ ,          4      oS P                   P                  S P                  ^,          4      oS P                  \	        S P                   4      ^4       S! S4       S P                  \	        S P                   4      ^4       S P                  \        VV 3R l4       S P                  \        VV3R l4       S P                  S P                   P                  S4      S P                  ^,          4       S P                   P                  S P                  ^,          4      oS P                  \	        S P                   4      ^4       S! S4       S P                  \	        S P                   4      ^4       S P                  \        VV 3R l4       S P                  \        VV3R l4       S P                  S P                   P                  S4      S P                  ^,          4       S! S4       S P                  \	        S P                   4      ^ 4       S P                  \        VV 3R l4       S P                  \        VV3R l4       R# )r   c                  *   < SP                   S ,          # r   rF   key0r   s   r#   <lambda>5TestMailbox._test_remove_or_delitem.<locals>.<lambda>       DIIdOr&   c                     < S! S 4      # r   r1   )r   methods   r#   r   r      	    F4Lr&   c                  *   < SP                   S ,          # r   r   )key2r   s   r#   r   r      r   r&   c                     < S! S 4      # r   r1   )r   r   s   r#   r   r      r   r&   c                  *   < SP                   S ,          # r   r   )key1r   s   r#   r   r      r   r&   c                     < S! S 4      # r   r1   )r   r   s   r#   r   r      r   r&   N)rF   rY   rZ   r   r   assertRaisesKeyErrorrc   )r   r   r   r   r   s   ff@@@r#   r   #TestMailbox._test_remove_or_delitem   s   yy}}T^^a/0yy}}T^^a/0TYY+tTYY+($;<($89--d3T^^a5GHyy}}T^^a/0TYY+tTYY+($;<($89--d3T^^a5GHtTYY+($;<($89r&   c                p  a a S P                   P                  S P                  ^ ,          4      oS P                   P                  S P                  ^,          4      pS P                  \	        S P                   4      ^4       S P                   P                  S4       S P                  \	        S P                   4      ^4       S P                  \        VV 3R l4       S P                   P                  S4       S P                  \	        S P                   4      ^4       S P                  \        VV 3R l4       R# )r   c                  *   < SP                   S ,          # r   r   r   s   r#   r   *TestMailbox.test_discard.<locals>.<lambda>   r   r&   c                  *   < SP                   S ,          # r   r   r   s   r#   r   r      r   r&   N)rF   rY   rZ   r   r   discardr   r   )r   repetitionsr   r   s   f& @r#   test_discardTestMailbox.test_discard   s    yy}}T^^a/0yy}}T^^a/0TYY+		$TYY+($;<		$TYY+($;<r&   c                &   V P                   P                  V P                  ^ ,          4      pV P                   P                  V4      pV P	                  VR,          R4       V P	                  VP                  4       R4       V P                  V P                   P                  R4      4       V P                  V P                   P                  RR4      R4       V P                   P                  4        V P                  V P                  4      V n         V P                   P                  V P                  ^,          4      pV P                   P                  V4      pV P	                  VR,          R4       V P	                  VP                  4       R4       R# )r   fromfoo0
F1
N)rF   rY   rZ   getr   r   assertIsNoneassertIsrK   rE   rD   )r   r   r   r   s   &   r#   test_getTestMailbox.test_get   s   yy}}T^^a/0iimmD!Ve,*E2$))--./diimmE5159		MM$**-	yy}}T^^a/0iimmD!Ve,*E2r&   c                  a a S P                   P                  S P                  ^ ,          4      oS P                   S,          pS P                  VR,          R4       S P                  VP	                  4       R4       S P                  \        V 3R l4       S P                   P                  S4       S P                  \        VV 3R l4       R# )r   r   r   r   c                  *   < S P                   R ,          # r   r   rG   s   r#   r   *TestMailbox.test_getitem.<locals>.<lambda>       DIIe,<r&   c                  *   < SP                   S ,          # r   r   r   s   r#   r   r     r   r&   N)rF   rY   rZ   r   r   r   r   r   )r   r   r   s   f @r#   test_getitemTestMailbox.test_getitem   s    yy}}T^^a/0iioVe,*E2($<=		$($;<r&   c                   V P                   P                  V P                  ^ ,          4      pV P                   P                  \        4      pV P                   P	                  V4      pV P                  V\        P                  4       V P                  VR,          R4       V P                  VP                  4       R4       V P                  V P                   P	                  V4      4       R# )r   r   r   r   N)rF   rY   rZ   r[   get_messager   r   r   r   r   r$   )r   r   r   msg0s   &   r#   test_get_messageTestMailbox.test_get_message  s    yy}}T^^a/0yy}}_-yy$$T*dGOO4fu-))+U34990067r&   c                   V P                   P                  V P                  ^ ,          4      pV P                   P                  \        4      pV P	                  V P                   P                  V4      V P                  ^ ,          P                  R4      4       V P	                  V P                   P                  V4      \        4       R# )r   asciiNrF   rY   rZ   r[   r   rk   rj   r_   r   r   r   s   &  r#   test_get_bytesTestMailbox.test_get_bytes  s    yy}}T^^a/0yy}}_-,,T2^^a''0	2,,T24IJr&   c                   V P                   P                  V P                  ^ ,          4      pV P                   P                  \        4      pV P	                  V P                   P                  V4      V P                  ^ ,          4       V P	                  V P                   P                  V4      P                  R4      \        P                  R4      4       R# )r   
NrF   rY   rZ   r[   r   rc   r   r   s   &  r#   test_get_stringTestMailbox.test_get_string  s    yy}}T^^a/0yy}}_---d3T^^a5GH--d399$?(..t4	6r&   c                   V P                   P                  V P                  ^ ,          4      pV P                   P                  \        4      pV P                   P	                  V4      ;_uu_ 4       pVP                  4       pRRR4       V P                   P	                  V4      ;_uu_ 4       pVP                  4       pRRR4       V P                  XP                  R4      P                  \        P                  R4      V P                  ^ ,          4       V P                  XP                  R4      P                  \        P                  R4      \        4       R#   + '       g   i     L; i  + '       g   i     L; i)r   Nr   r   )rF   rY   rZ   r[   r   r   r   decoder   r(   r   )r   r   r   filedata0data1s   &     r#   test_get_fileTestMailbox.test_get_file  s    yy}}T^^a/0yy}}_-YY%%IIKE &YY%%IIKE &g.66rzz4H!+	-g.66rzz4H(	* &%%%s   /E+E,E)	,E<	c                    V P                   P                  \        4      pV P                   P                  V4      pVP	                  4        VP	                  4        R # r   )rF   rY   r[   r   rK   r   s   &  r#   !test_get_file_can_be_closed_twice-TestMailbox.test_get_file_can_be_closed_twice+  s:    iimmO,IIs#				r&   c                V    V P                  V P                  P                  R RR7       R# TFdo_keys	do_valuesN)_check_iterationrF   iterkeysrG   s   &r#   test_iterkeysTestMailbox.test_iterkeys2  s!    dii00$%Pr&   c                V    V P                  V P                  P                  R RR7       R# r  )r	  rF   rd   rG   s   &r#   	test_keysTestMailbox.test_keys6  s    diinndeLr&   c                V    V P                  V P                  P                  R RR7       R# FTr  N)r	  rF   
itervaluesrG   s   &r#   test_itervaluesTestMailbox.test_itervalues:  s&    dii22E(, 	 	.r&   c                V    V P                  V P                  P                  R RR7       R# r  )r	  rF   __iter__rG   s   &r#   	test_iterTestMailbox.test_iter?  s&    dii00%(, 	 	.r&   c                V    V P                  V P                  P                  R RR7       R# r  )r	  rF   valuesrG   s   &r#   test_valuesTestMailbox.test_valuesD  s!    dii..Nr&   c                V    V P                  V P                  P                  R R R7       R# Tr  N)r	  rF   	iteritemsrG   s   &r#   test_iteritemsTestMailbox.test_iteritemsH  s&    dii114(, 	 	.r&   c                V    V P                  V P                  P                  R R R7       R# r  )r	  rF   itemsrG   s   &r#   
test_itemsTestMailbox.test_itemsM  s    diioottLr&   c                   V! 4        F  pV P                  R 4       K  	  . . rv\        V4       F`  pVP                  V P                  P	                  V P
                  V,          4      4       VP                  V P
                  V,          4       Kb  	  V'       d   V'       g   \        V! 4       4      p	MVV'       d   V'       g   \        V! 4       4      p
M5. . rV! 4        F'  w  rV	P                  V4       V
P                  V4       K)  	  V'       dI   V P                  \        V4      \        X	4      4       V P                  \        V4      \        V	4      4       V'       dt   ^ pX
 FN  pV P                  VR,          R4       V P                  \        VP                  4       4      V4       V^,          pKP  	  V P                  \        V4      V4       R# R# )z	Not emptyr   r   N)failrangerX   rF   rY   rZ   listr   r   set
assertLessintr   )r   r   r  r  r   r   rd   r  r    returned_keysreturned_valuesr   counts   &&&&&        r#   r	  TestMailbox._check_iterationQ  sW   XEIIk" 2f{#AKK		dnnq&89:MM$..1,- $ 9 NMw"68nO-/?$h
$$S)&&u- ' SYM(:;SYM(:;E(  v6E$5$5$7 8+F
 ) S[%0 r&   c                   V P                  R V P                  4       V P                  P                  V P                  ^ ,          4      pV P	                  WP                  4       V P                  R V P                  4       V P                  P                  V P                  ^,          4      pV P	                  W P                  4       V P	                  WP                  4       V P                  R V P                  4       V P                  P                  V4       V P                  WP                  4       V P	                  W P                  4       V P                  R V P                  4       V P                  P                  V4       V P                  W P                  4       V P                  WP                  4       V P                  R V P                  4       R# )r   N)assertNotInrF   rY   rZ   r   r   r   s   &  r#   test_containsTestMailbox.test_containsl  s6   		*yy}}T^^a/0dII&		*yy}}T^^a/0dII&dII&		*		yy)dII&		*		yy)yy)		*r&   c                f   . p\        V4       F  pV P                  \        V P                  4      V4       VP	                  V P                  P                  V P                  V,          4      4       V P                  \        V P                  4      V^,           4       K  	  \        V4       F  pV P                  \        V P                  4      W,
          4       V P                  P                  W#,          4       V P                  \        V P                  4      W,
          ^,
          4       K  	  R# )rR   N)r(  r   r   rF   rX   rY   rZ   r   )r   r   rd   r    s   &&  r#   test_lenTestMailbox.test_len  s    {#AS^Q/KK		dnnq&89:S^QU3 $ {#AS^[_=IITW%S^[_q-@A $r&   c                  a  S P                   P                  S P                  R ,          4      pS P                  S P                   P	                  V4      S P                  R ,          4       S P                   P                  S P                  R,          4      pS P                  S P                   P	                  V4      S P                  R,          4       S P                  R,          S P                   V&   S P                  S P                   P	                  V4      S P                  R,          4       S P                  R,          S P                   V&   S P                  S P                   P	                  V4      S P                  R,          4       \
        S P                   V&   S P                  S P                   V,          4       S P                   V,          S P                   V&   S P                  S P                   V,          4       S P                  R ,          S P                   V&   S P                  S P                   P	                  V4      S P                  R ,          4       S P                  S P                   V,          4       S P                  \        V 3R l4       S P                  \        V 3R l4       S P                  \        S P                   4      ^4       R# )
original 0
original 1	changed 0	changed 1c                  <   < S P                   P                  R R4      # )r   bar)rF   __setitem__rG   s   r#   r   +TestMailbox.test_set_item.<locals>.<lambda>  s    $))"7"7u"Er&   c                  *   < S P                   R ,          # r   r   rG   s   r#   r   r@    r   r&   N)
rF   rY   rZ   r   rc   r[   r$   r   r   r   r   s   f  r#   test_set_itemTestMailbox.test_set_item  s   yy}}T^^l:;--d3,6	8yy}}T^^l:;--d3,6	8..;6		$--d3+5	7..;6		$--d3+5	7)		$499T?+))D/		$499T?+..<7		$--d3^^l2	4499T?+(E	G($<=TYY+r&   c                
  a a . p\        V4       F/  pS P                  P                  S P                  V,          4       K1  	  \	        V4       FB  w  poS P                  S P                  P                  S4      S P                  V,          4       KD  	  S P                  P                  4        S P                  \        S P                  4      ^ 4       \	        V4       F!  w  poS P                  \        VV 3R l4       K#  	  R# )r   c                  :   < SP                   P                  S 4      # r   )rF   rc   r   r   s   r#   r   (TestMailbox.test_clear.<locals>.<lambda>  s    		0D0DS0Ir&   N)r(  rF   rY   rZ   r   r   rc   clearr   r   r   )r   
iterationsrd   r    r   s   f&  @r#   
test_clearTestMailbox.test_clear  s    z"AIIMM$..1,- #oFAsTYY11#68JK &		TYY+oFAsh(IJ &r&   c                ^   V P                   P                  V P                  ^ ,          4      pV P                  WP                   4       V P                   P                  V P                  ^,          4      pV P                  W P                   4       V P	                  V P                   P                  V4      P                  4       R4       V P                  WP                   4       V P                  W P                   4       V P                   P                  V P                  ^,          4      pV P                  W0P                   4       V P	                  V P                   P                  V4      P                  4       R4       V P                  W0P                   4       V P                  W P                   4       V P	                  V P                   P                  V4      P                  4       R4       V P                  W P                   4       V P	                  \        V P                   4      ^ 4       R# )r   r   z2
r   N)	rF   rY   rZ   r   r   popr   r2  r   r   r   r   r   s   &   r#   test_popTestMailbox.test_pop  sc   yy}}T^^a/0dII&yy}}T^^a/0dII&t,88:EByy)dII&yy}}T^^a/0dII&t,88:EByy)dII&t,88:EByy)TYY+r&   c                v  a a . p\        ^
4       F>  pVP                  S P                  P                  S P                  V,          4      4       K@  	  . p\        ^
4       F  pS P                  P                  4       w  opS P                  SV4       S P                  SV4       VP                  S4       S P                  \        VP                  4       4      VP                  S4      4       K  	  S P                  \        S P                  4      ^ 4       V F  oS P                  \        VV 3R l4       K   	  R# )
   c                  *   < SP                   S ,          # r   r   rF  s   r#   r   *TestMailbox.test_popitem.<locals>.<lambda>  s    		#r&   N)r(  rX   rF   rY   rZ   popitemr   r2  r   r,  r   indexr   r   r   )r   rI  rd   r    seenr   r   s   f&    @r#   test_popitemTestMailbox.test_popitem  s    rAKK		dnnq&89: rAyy((*HCMM#t$S$'KKS!23TZZ_E  	TYY+Ch(>? r&   c                @  a a S P                   P                  S P                  R ,          4      oS P                   P                  S P                  R,          4      pS P                   P                  S P                  R,          4      pS P                   P                  SS P                  R,          V\        /4       S P                  \        S P                   4      ^4       S P                  S P                   P                  S4      S P                  R,          4       S P                  S P                   P                  V4      S P                  R,          4       S P                  S P                   V,          4       S P                   P                  VS P                  R,          3VS P                  R,          3SS P                  R ,          3.4       S P                  \        S P                   4      ^4       S P                  S P                   P                  S4      S P                  R ,          4       S P                  S P                   P                  V4      S P                  R,          4       S P                  S P                   P                  V4      S P                  R,          4       S P                  \        VV 3R l4       S P                  \        S P                   4      ^4       S P                  S P                   P                  S4      S P                  R,          4       S P                  S P                   P                  V4      S P                  R,          4       S P                  S P                   P                  V4      S P                  R,          4       R# )r9  r:  z
original 2r;  z	changed 2r<  c                  d   < SP                   P                  R RS SP                  R,          /4      # )r   r>  r;  )rF   updaterZ   r   s   r#   r   )TestMailbox.test_update.<locals>.<lambda>  s-    $))"2"2E5*.0L4N #Or&   N)rF   rY   rZ   r\  r[   r   r   rc   r$   r   r   )r   r   r   r   s   f  @r#   test_updateTestMailbox.test_update  s   yy}}T^^l:;yy}}T^^l:;yy}}T^^l:;		$ <1 	2TYY+--d3^^k1	3--d3^^l2	4499T?+		4+!=>4>>K784>>L89; 	< 	TYY+--d3^^l2	4--d3^^k1	3--d3^^k1	3(O	P 	TYY+--d3^^k1	3--d3^^k1	3--d3^^k1	3r&   c                R    V P                  V P                  P                  R 4       R# TN)_test_flush_or_closerF   rx   rG   s   &r#   
test_flushTestMailbox.test_flush  s    !!$))//48r&   c                   V P                   P                  V P                  ^ ,          4       V P                   P                  V P                  ^,          4       V P                   P                  4        V P                   P	                  4        V P                   P                  4        V P                   P	                  4        V P                   P                  4        R# r   N)rF   rY   rZ   rx   rU  rG   s   &r#   test_popitem_and_flush_twice(TestMailbox.test_popitem_and_flush_twice  s~    		dnnq()		dnnq()										r&   c                   V P                  \        P                  P                  V P	                  4       4      4       V P
                  P                  4        V P                  \        P                  P                  V P	                  4       4      4       V P
                  P                  4        V P                  \        P                  P                  V P	                  4       4      4       R # r   )	assertFalser(   r)   r,   _get_lock_pathrF   lockr   unlockrG   s   &r#   test_lock_unlockTestMailbox.test_lock_unlock  s    (;(;(=>?		t':':'<=>		(;(;(=>?r&   c                R    V P                  V P                  P                  R 4       R# FN)rb  rF   rK   rG   s   &r#   
test_closeTestMailbox.test_close  s    !!$))//59r&   c                   \        ^4       Uu. uF  q0P                  V,          NK  	  ppV P                  P                  V^ ,          4       V P                  P                  V^,          4       V P                  P                  V^,          4       V P                  pV! 4        V'       d   V P                  P	                  4        V P                  V P                  4      V n        V P                  P                  4       pV P                  \        V4      ^4       V F.  pV P                  V P                  P                  V4      V4       K0  	  VP	                  4        R# u upi rT   N)r(  rZ   rF   rY   rK   rE   rD   rd   r   r   r   rc   )r   r   should_call_closer    contentsoldboxrd   r   s   &&&     r#   rb   TestMailbox._test_flush_or_close  s    05a91NNQ&&9		hqk"		hqk"		hqk"IIOOMM$**-	yy~~TA&CMM$))..s3X>  :s   E!c           	       a a \         P                  ! \        4      \        \        P                  ! \
        4      3 F  p\        P                  ! 4       oS P                  P                  VS4       S P                  SP                  4       \
        P                  R \        P                  P                  4       4      4       K  	  \        P                  ! 4       oS P                  \        VV 3R l4       R# )r   c                  <   < SP                   P                  R S 4      # r   )rF   _dump_message)outputr   s   r#   r   /TestMailbox.test_dump_message.<locals>.<lambda>+  s    $))"9"9$"Gr&   N)r   r\   r[   r]   r^   r_   rF   r|  r   getvaluer   r(   r   rj   r   	TypeError)r   inputr}  s   f @r#   test_dump_messageTestMailbox.test_dump_message!  s    //@%rzz2G'HJEZZ\FII##E62V__.%--eRZZ5F5F5HIK	J )G	Ir&   c                (    V P                   R ,           # )z.lockrD   rG   s   &r#   rk  TestMailbox._get_lock_path-  s    zzG##r&   )rF   rD   rR  )<r2   r3   r4   r5   maxDiffrE   rZ   rH   rL   re   textwrapdedentri   rm   rr   rz   r   rj   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	  r3  r6  rB  rJ  rO  rX  r^  rc  rg  rn  rr  rb  r  rk  r<   r=   r>   s   @r#   rA   rA   5   sC    GH#I.
-3. OO % M2."" " 
* 
 VG_ 	6020J
"7<:,
=3=8K6*QM.
.
O.
M16+&
B,6
K,$@  3D9	@: 
I$ $r&   rA   c                   &   a  ] tR tRt o R tRtV tR# )TestMailboxSuperclassi2  c                  a \         P                  ! R 4      oV P                  \        V3R l4       V P                  \        V3R l4       V P                  \        V3R l4       V P                  \        V3R l4       V P                  \        V3R l4       V P                  \        V3R l4       V P                  \        V3R l4       V P                  \        V3R l4       V P                  \        V3R	 l4       V P                  \        V3R
 l4       V P                  \        V3R l4       V P                  \        V3R l4       V P                  \        V3R l4       V P                  \        V3R l4       V P                  \        V3R l4       V P                  \        V3R l4       V P                  \        V3R l4       V P                  \        V3R l4       V P                  \        V3R l4       V P                  \        V3R l4       V P                  \        V3R l4       V P                  \        V3R l4       V P                  \        V3R l4       V P                  \        V3R l4       V P                  \        V3R l4       V P                  \        V3R l4       V P                  \        V3R l4       V P                  \        V3R l4       V P                  \        V3R l4       R# )r)   c                  &   < S P                  R 4      #  )rY   boxs   r#   r   ;TestMailboxSuperclass.test_notimplemented.<locals>.<lambda>7      swwr{r&   c                  &   < S P                  R 4      # r  )r   r  s   r#   r   r  8  s    szz"~r&   c                  &   < S P                  R 4      # r  )r   r  s   r#   r   r  9      sr7Jr&   c                  &   < S P                  R 4      # r  )r   r  s   r#   r   r  :  s    s{{2r&   c                  (   < S P                  R R 4      # r  )r?  r  s   r#   r   r  ;  s    sr27Nr&   c                  $   < S P                  4       # r   )r
  r  s   r#   r   r  <  s    s||~r&   c                  $   < S P                  4       # r   )rd   r  s   r#   r   r  =      sxxzr&   c                  @   < S P                  4       P                  4       # r   )r  __next__r  s   r#   r   r  >  s    s~~7G7P7P7Rr&   c                  @   < S P                  4       P                  4       # r   )r  r  r  s   r#   r   r  ?  s    s||~7N7N7Pr&   c                  $   < S P                  4       # r   )r  r  s   r#   r   r  @      szz|r&   c                  @   < S P                  4       P                  4       # r   )r  r  r  s   r#   r   r  A  s    s}}7O7O7Qr&   c                  $   < S P                  4       # r   )r#  r  s   r#   r   r  B      syy{r&   c                  &   < S P                  R 4      # r  )r   r  s   r#   r   r  C  r  r&   c                  &   < S P                  R 4      # r  )__getitem__r  s   r#   r   r  D  r  r&   c                  &   < S P                  R 4      # r  )r   r  s   r#   r   r  E  r  r&   c                  &   < S P                  R 4      # r  )rc   r  s   r#   r   r  F  s    s~~b7Ir&   c                  &   < S P                  R 4      # r  )rk   r  s   r#   r   r  G  s    s}}R7Hr&   c                  &   < S P                  R 4      # r  )r   r  s   r#   r   r  H  s    s||B7Gr&   c                     < R S 9   # r  r1   r  s   r#   r   r  I  s	    rSyr&   c                  &   < S P                  R 4      # r  )__contains__r  s   r#   r   r  J  s    s7G7G7Kr&   c                  $   < S P                  4       # r   )__len__r  s   r#   r   r  K      s{{}r&   c                  $   < S P                  4       # r   )rH  r  s   r#   r   r  L  r  r&   c                  &   < S P                  R 4      # r  )rM  r  s   r#   r   r  M  r  r&   c                  $   < S P                  4       # r   )rU  r  s   r#   r   r  N  r  r&   c                  &   < S P                  R4      # )r  ))r  r  )r\  r  s   r#   r   r  O  s    szz+7Nr&   c                  $   < S P                  4       # r   )rx   r  s   r#   r   r  P  r  r&   c                  $   < S P                  4       # r   )rl  r  s   r#   r   r  Q  r  r&   c                  $   < S P                  4       # r   )rm  r  s   r#   r   r  R  r  r&   c                  $   < S P                  4       # r   )rK   r  s   r#   r   r  S  r  r&   N)r   Mailboxr   NotImplementedError)r   r  s   &@r#   test_notimplemented)TestMailboxSuperclass.test_notimplemented4  s   oof%-/BC-/EF-/JK-/FG-/NO-/EF-/AB-/RS-/PQ-/CD-/QR-/BC-/BC-/JK-/JK-/IJ-/HI-/GH-/@A-/KL-/DE-/BC-/BC-/DE-/NO-/BC-/AB-/CD-/BCr&   r1   N)r2   r3   r4   r5   r  r<   r=   r>   s   @r#   r  r  2  s     D Dr&   r  c                   Z  a  ] tR tRt o R%R ltR tR tR tR tR t	R	 t
R
 tR tR tR%R ltR tR tR tR tR&R ltR tR tR tR tR tR tR tR tR tR tR tR t] PB                  ! ]"! ]#R4      R 4      R! 4       t$] PB                  ! ]"! ]#R4      R 4      R" 4       t%R# t&R$t'V t(R# )'TestMaildiriV  Nc                .    \         P                  ! W4      # r   )r   Maildirr   r)   factorys   &&&r#   r   TestMaildir.<lambda>X  s    0Nr&   c                    \         P                  V 4       \        P                  R 8X  g   \        P
                  R8X  d   RV P                  n        R# R# )ntcygwin!N)rA   rH   r(   namesysplatformrF   colonrG   s   &r#   rH   TestMaildir.setUpZ  s6    $GGtO!9!DIIO ":r&   c                    V P                  \        P                  ! \        P                  P	                  V P
                  R 4      4      . 4       R# )tmpN)r   r(   listdirr)   joinrD   rG   s   &r#   ry   TestMaildir.assertMailboxEmpty_  s.    BGGLLU$CDbIr&   c                   \         P                  ! V P                  ^ ,          4      pVP                  R4       VP	                  R4       V P
                  P                  V4      pV P                  \        P                  P                  \        P                  P                  V P                  RV: V P
                  P                  : R24      4      4       R# )r   curr   N)r   r6   rZ   
set_subdirset_inforF   rY   r   r(   r)   r,   r  rD   r  r   r   r   s   &  r#   test_add_MMTestMaildir.test_add_MMb  s    $$T^^a%78uUiimmC rww||DJJ25tyyHH (I J 	Kr&   c                   \         P                  ! V P                  ^ ,          4      pVP                  R4       VP	                  R4       V P
                  P                  V4      pV P
                  P                  V4      pV P                  V\         P                  4       V P                  VP                  4       R4       V P                  VP                  4       R4       R# )r   r  RFFRN)r   r6   rZ   r  	set_flagsrF   rY   r   r   r   
get_subdir	get_flags)r   r   r   msg_returneds   &   r#   test_get_MMTestMaildir.test_get_MMk  s    $$T^^a%78udiimmC yy,,S1lG,B,BC002E://148r&   c                   \         P                  ! V P                  ^ ,          4      pVP                  R4       V P                  P                  V4      pV P                  P                  V4      pV P                  VP                  4       R4       V P                  VP                  4       R4       \         P                  ! V P                  ^,          4      pW@P                  V&   V P                  P                  V4      pV P                  VP                  4       R4       V P                  VP                  4       R4       V P                  VP                  4       R4       \         P                  ! V P                  ^,          4      pVP                  R4       WPP                  V&   V P                  ^,          V P                  V&   V P                  P                  V4      pV P                  VP                  4       R4       V P                  VP                  4       R4       V P                  VP                  4       R4       R	# )
r   TPnewPTr  r   z2,SSz3
N)r   r6   rZ   r  rF   rY   r   r   r  r  r   r  )r   r   r   r  msg1msg2s   &     r#   test_set_MMTestMaildir.test_set_MMv  s   %%dnnq&89tiimmD!yy,,S1002E://148%%dnnq&89		#yy,,S1002E://126113U;%%dnnq&89e		#!+		#yy,,S1002E://137113U;r&   c                   \         P                  ! V P                  ^ ,          4      pVP                  R4       VP	                  R4       V P
                  P                  V4      p ! R R\         P                  4      p\         P                  ! V P                  VR7      pV P
                  P                  Vn	        VP                  V4      pV P                  WS4       R# )r   r  r  c                       ] tR tRtRtR# )8TestMaildir.test_consistent_factory.<locals>.FakeMessagei  r1   Nr   r1   r&   r#   FakeMessager    s    r&   r  r  N)r   r6   rZ   r  r  rF   rY   r  rD   r  r   r   )r   r   r   r  r  r  s   &     r#   test_consistent_factory#TestMaildir.test_consistent_factory  s    $$T^^a%78udiimmC 	'00 	oodjj+>IIOO	s#d0r&   c                *   V P                  4        \        P                  ! V P                  4      V n        V P                  4        V P                  V P                  4       V P                  V P                  R R7      V n        V P                  4        R # )Nr  )rL   r   r  rD   rF   _check_basicsr/   rE   rG   s   &r#   test_initialize_newTestMaildir.test_initialize_new  sa    OODJJ/	  ,MM$**dM;	r&   c           	     X   V P                  4        R F^  p\        P                  ! \        P                  P	                  \        P                  P                  V P                  V4      4      4       K`  	  \        P                  ! V P                  4      V n	        V P                  4        R# )r  Nr  r  r  r  )rL   r(   mkdirr)   normpathr  rD   r   r  rF   r  )r   subdirs   & r#   test_initialize_existing$TestMaildir.test_initialize_existing  sc    -FHHRWW%%bggll4::v&FGH .OODJJ/	r&   c           	     B   V P                  4        R F^  p\        P                  ! \        P                  P	                  \        P                  P                  V P                  V4      4      4       K`  	  R	 Fc  p\        P                  P                  V P                  VRV,           4      p\        VR4      ;_uu_ 4       pVP                  R4       RRR4       Ke  	  \        P                  ! V P                  4      V n        V P                  RV P                  4       V P                  RV P                  4       V P                  RV P                  4       V P                  \        V P                  P                  4       4      . 4       R#   + '       g   i     EK'  ; i)
r  z.foowb   @Nz.footmpz.foonewz.foocurr  )r  r  r  )rL   r(   r  r)   r  r  rD   openr   r   r  rF   r2  r   r)  r
  )r   r  fnamer   s   &   r#   test_filename_leading_dot%TestMaildir.test_filename_leading_dot  s   -FHHRWW%%bggll4::v&FGH .)FGGLLVVf_EEeT""a #" * OODJJ/	DII.DII.DII.dii0023R8 #""s    FFc                   V P                  V P                  P                  \        P                  P                  V P                  4      4       V P                  V P                  P                  V4       R F`  p\        P                  P                  V P                  V4      pV P                  \        P                  P                  V4      RV: 24       Kb  	  R# )r  zNot a directory: Nr  )
r   rF   rD   r(   r)   abspathrE   r  r   r*   )r   r  r  r)   s   &&  r#   r  TestMaildir._check_basics  s    "''//$***EF++W5-F77<<

F3DOOBGGMM$/3DTH1MN .r&   c                   V P                   P                  R 4       V P                   P                  R4       V P                   P                  R4       V P                  \        V P                   P	                  4       4      ^4       V P                  \        V P                   P	                  4       4      \        R4      4       R# onetwothreeN)r
  r  r  rF   
add_folderr   r   list_foldersr*  rG   s   &r#   test_list_foldersTestMaildir.test_list_folders      		U#		U#		W%TYY3356:TYY335601	3r&   c                &   V P                   P                  R 4       V P                   P                  R 4      pVP                  V P                  R,          4       V P                  \        P                  P                  \        P                  P                  V P                  R4      4      4       V P                   P                  R 4      pV P                  VP                  VP                  4       ^ ,          4      V P                  R,          4       R# )foo.barr>  z.foo.barN)rF   r  
get_folderrY   rZ   r   r(   r)   r*   r  rD   r   rc   rd   )r   folder0folder1s   &  r#   test_get_folderTestMaildir.test_get_folder  s    		Y'))&&y1DNNU*+bggll4::z&JKL))&&y1++GLLN1,=>%/	1r&   c                |   V P                   P                  R 4       V P                   P                  R4       V P                  \        V P                   P	                  4       4      ^4       V P                  \        V P                   P	                  4       4      \        R4      4       V P                   P                  R 4       V P                  \        V P                   P	                  4       4      ^4       V P                  \        V P                   P	                  4       4      \        R4      4       V P                   P                  R4       V P                  \        V P                   P	                  4       4      ^4       V P                  \        V P                   P	                  4       4      \        R4      4       V P                   P                  R4       V P                  \        V P                   P	                  4       4      ^4       V P                  \        V P                   P	                  4       4      \        R4      4       V P                   P                  R4       V P                  \        V P                   P	                  4       4      ^ 4       V P                  V P                   P	                  4       . 4       R# r
  r  r  N)r
  r  )r  )r  r  rF   r  r   r   r  r*  remove_folderrG   s   &r#   test_add_and_remove_folders'TestMaildir.test_add_and_remove_folders     		U#		U#TYY3356:TYY3356N8KL		&TYY3356:TYY3356HF		W%TYY3356:TYY3356<L8MN		(TYY3356:TYY3356HF		&TYY3356://126r&   c                N   \         P                  P                  V P                  R R4      p\         P                  P                  V P                  R R4      p\	        VRRR7      ;_uu_ 4       pVP                  R4       RRR4       \	        VRRR7      ;_uu_ 4       pVP                  R4       RRR4       V P                  P                  4        V P                  \         P                  P                  V4      4       V P                  \         P                  P                  V4      4       \         P                  ! V4      p\         P                  ! V\        P                  ! 4       R,
          ^,
          VP                  34       V P                  P                  4        V P                  \         P                  P                  V4      4       V P                  \         P                  P                  V4      4       R#   + '       g   i     EL; i  + '       g   i     ELm; i)	r  r   r>  wrO   rP   @Ni@ )r(   r)   r  rD   r  r   rF   cleanr   r,   statutimetimest_mtimerj  )r   foo_pathbar_pathr   foo_stats   &    r#   
test_cleanTestMaildir.test_clean  sL   77<<

E5977<<

E59(C'22aGGCL 3(C'22aGGCL 3		x01x01778$
DIIK&014$--/ 	0		12x01 322222s   -G?H?H	H$	c           
     *   \         P                  ! 4       pR V9   d   VP                  R R4      pRV9   d   VP                  RR4      p\        P                  ! 4       p\
        P                  ! R4      pRp\        V4       EF  pV P                  P                  4       p\        P                  P                  VP                  4      w  rV P                  V\        P                  P                  \        P                  P                  V P                   R4      4      RV,          4       VP#                  V	4      p
V P%                  V
RV	,          4       V
P'                  4       pVEej   V P)                  \+        V^ ,          4      \+        V^ ,          4      R	V^ ,          : R
V^ ,          : R24       \+        V^ ,          4      \+        V^ ,          4      8X  dK   V P)                  \+        V^,          4      \+        V^,          4      RV^,          : R
V^,          : R24       V P                  \+        V^,          4      VRV^,          : RV: R24       V P                  \+        V^,          4      \+        V^,          4      ^,           RV^,          : R
V^,          : R24       V P                  V^,          VRV^,          : RV: R24       TpVP-                  \.        4       VP1                  ^ 4       V P                  VP3                  4       \.        4       VP5                  4        EK  	  \7        \        P8                  ! \        P                  P                  V P                   R4      4      4      pV P                  WRV: RV: R24       R# )/z\057:z\072zF(?P<time>\d+)\.M(?P<M>\d{1,6})P(?P<P>\d+)Q(?P<Q>\d+)\.(?P<host>[^:/]*)Nr  zFile in wrong location: '%s'zInvalid file name: '%s'zNon-monotonic seconds: 'z
' before ''zNon-monotonic milliseconds: 'zProcess ID mismatch: 'z' should be 'zNon-sequential counter: 'zHost name mismatch: 'zWrong file count: ')socketgethostnamer   r(   getpidrecompiler(  rF   _create_tmpr)   r   r  r   r  r  rD   matchassertIsNotNonegroupsassertGreaterEqualr,  r   r_   r   r   rK   r   r  )r   r   hostnamepidpatternprevious_groupsxtmp_fileheadtailr8  r:  
file_counts   &&           r#   test_create_tmpTestMaildir.test_create_tmp  s   %%'(?''W5H(?''W5Hiik** > ?{#Ayy,,.Hx}}5JDT277??277<<

@E4G $H;dBD MM$'E  (AD(HI\\^F*''F1IOA<N8O-a00&))=> vay>S);%<<++Cq	NCPQ@R<S!0!3!3VAYY!@A   VAY$Qii./   VAY_Q5G1H11L-a00&))=>   H$Qii34 %ONN01MM!X]]_.CDNN= $> BGGLLU$CDE
[ +/	0r&   c                   V P                  V P                  P                  / 4       V P                  P                  V P                  ^ ,          4      pV P                  P                  V P                  ^,          4      pV P                  V P                  P                  / 4       V P                  P                  4        V P                  V P                  P                  V\        P                  P                  RV4      V\        P                  P                  RV4      /4       V P                  P                  V P                  ^,          4      pV P                  V P                  P                  V\        P                  P                  RV4      V\        P                  P                  RV4      /4       V P                  P                  4        V P                  V P                  P                  V\        P                  P                  RV4      V\        P                  P                  RV4      V\        P                  P                  RV4      /4       R# )r   r  N)	r   rF   _tocrY   rZ   _refreshr(   r)   r  rN  s   &   r#   test_refreshTestMaildir.test_refresh*  s   ,yy}}T^^a/0yy}}T^^a/0,		$UD0I*.UD0I*K 	Lyy}}T^^a/0$UD0I*.UD0I*K 	L		$UD0I*.UD0I*.UD0I*K 	Lr&   c                &   V P                   P                  V P                  ^ ,          4      pV P                   P                  V P                  ^,          4      pV P                  V P                  4      V n         V P                  V P                   P                  / 4       RV P                   n        V P                   P                  4        V P                  \        V P                   P                  P                  4       4      \        W.4      4       R# )r   N)rF   rY   rZ   rE   rD   r   rH  _skewfactorrI  sortedrd   r   s   &  r#    test_refresh_after_safety_period,TestMaildir.test_refresh_after_safety_period;  s     yy}}T^^a/0yy}}T^^a/0MM$**-	, !#						 3 3 56|8LMr&   c                  a a S P                  \        V 3R  l4       S P                  P                  S P                  ^ ,          4      oS P                  S P                  P                  S4      \        P                  P                  RS4      4       \        P                  ! \        P                  P                  S P                  RS4      4       S P                  S P                  P                  S\        P                  P                  RS4      /4       S P                  P                  4        S P                  \        VV 3R l4       S P                  S P                  P                  / 4       R# )c                  :   < S P                   P                  R 4      # r   rF   _lookuprG   s   r#   r   )TestMaildir.test_lookup.<locals>.<lambda>P  s    DII,=,=e,Dr&   r  c                  :   < SP                   P                  S 4      # r   rT  r   s   r#   r   rV  X  s    DII,=,=d,Cr&   N)r   r   rF   rY   rZ   r   rU  r(   r)   r  r   rD   rH  rx   )r   r   s   f@r#   test_lookupTestMaildir.test_lookupN  s    ($DEyy}}T^^a/0**40"'',,ud2KL
		"'',,tzz5$78$UD0I)JK 			($CD,r&   c                n    V P                   P                  4        V P                   P                  4        R # r   )rF   rl  rm  rG   s   &r#   rn  TestMaildir.test_lock_unlock[  s     				r&   c                t   \         P                  ! V P                  ^ ,          4      pV P                  P	                  V4      pV P                  V P                  P                  V4      R4       VP                  R4       WP                  V&   V P                  V P                  P                  V4      R4       R# )r   r  OurTestInfoN)r   r6   rZ   rF   rY   r   get_infor  r  s   &  r#   test_get_infoTestMaildir.test_get_info`  s    $$T^^a%78iimmC ++C0"5]#		#++C0-@r&   c                   a a \         P                  ! S P                  ^ ,          4      pS P                  P	                  V4      oVV 3R lpV! RR4       V! RR4       V! RR4       V! RR4       V! RR4       R# )r   c                 t  < \         P                  P                  SP                  P                  SP                  P                  S4      4      pSP                  P                  S4      P                  SP                  P                  4      ^ ,          pV'       d%   VSP                  P                  V,           ,          p\         P                  P                  SP                  P                  V4      pSP                  SP                  P                  S4      V 4       V '       g@   SP                  SP                  P                  S4      SP                  P                  4       SP                  \         P                  P                  V4      4       W8w  d/   SP                  \         P                  P                  V4      4       SP                  P                  SV4       V'       g@   SP                  SP                  P                  S4      SP                  P                  4       W8w  d/   SP                  \         P                  P                  V4      4       SP                  \         P                  P                  V4      4       SP                  SP                  P                  S4      V4       R# rf  )r(   r)   r  rF   rD   rU  r   r  r   r^  r2  r   r,   rj  r  )oldinfonewinfooldfilename
newsubpathnewfilenamer   r   s   &&   r#   
check_info-TestMaildir.test_set_info.<locals>.check_infon  s   '',,tyy		8I8I#8NOK**3/55diiooFqIJdiioo77
'',,tyy
CKTYY//4g>  !2!23!7IOOBGGNN;78!  !<=IIsG,  !2!23!7I!  !<=OOBGGNN;78TYY//4g>r&   r  info1info2N)r   r6   rZ   rF   rY   )r   r   rh  r   s   f  @r#   test_set_infoTestMaildir.test_set_infoi  si     $$T^^a%78iimmC 	?. 	2w7G$7G$7B2rr&   c                t   \         P                  ! V P                  ^ ,          4      pV P                  P	                  V4      pV P                  V P                  P                  V4      R4       VP                  R4       WP                  V&   V P                  V P                  P                  V4      R4       R# )r   r  TNr   r6   rZ   rF   rY   r   r  r  r  s   &  r#   test_get_flagsTestMaildir.test_get_flags  s    $$T^^a%78iimmC ,,S126c		#,,S137r&   c                n   \         P                  ! V P                  ^ ,          4      pV P                  P	                  V4      pV P                  V P                  P                  V4      R4       V P                  P                  VR4       V P                  V P                  P                  V4      R4       R# )r   r  r  Nrp  r  s   &  r#   test_set_flagsTestMaildir.test_set_flags  s    $$T^^a%78iimmC ,,S126		C%,,S137r&   c                   \         P                  ! V P                  ^ ,          4      pV P                  P	                  V4      pV P                  V P                  P                  V4      R4       V P                  P                  VR4       V P                  V P                  P                  V4      R4       V P                  P                  VR4       V P                  V P                  P                  V4      R4       V P                  P                  VR4       V P                  V P                  P                  V4      R4       R# )r   r  BACABCN)r   r6   rZ   rF   rY   r   r  add_flagr  s   &  r#   test_add_flagTestMaildir.test_add_flag  s    $$T^^a%78iimmC ,,S126		3$,,S137		3$,,S137		3%,,S159r&   c                   \         P                  ! V P                  ^ ,          4      pV P                  P	                  V4      pV P                  P                  VR4       V P                  V P                  P                  V4      R4       V P                  P                  VR4       V P                  V P                  P                  V4      R4       V P                  P                  VR4       V P                  V P                  P                  V4      R4       V P                  P                  VR4       V P                  V P                  P                  V4      R4       R# )r   abcbacr  N)	r   r6   rZ   rF   rY   r  r   r  remove_flagr  s   &  r#   test_remove_flagTestMaildir.test_remove_flag  s    $$T^^a%78iimmC 		C',,S159		c3',,S148		c3',,S148		c4(,,S126r&   c                    R  pV P                  V P                  VR7      pVP                  R4      pV P                  VP                   V4       VP	                  R4      pV P                  VP                   V4       R# )c                     R # r   r1   ss   &r#   dummy_factory.TestMaildir.test_folder.<locals>.dummy_factory      r&   r  r  N)rE   rD   r  r   r  )r   r  r  folderfolder1_aliass   &    r#   test_folderTestMaildir.test_folder  s_    	mmDJJm>	*foo}5y1m,,m<r&   c                4   \        ^
4       F6  pV P                  P                  \        P                  ! \
        4      4       K8  	  \        P                  ! \        P                  P                  V P                  RR4      4       V P                   F  pK  	  R# )rR  r  z	stray-dirN)r(  rF   rY   r   r   r[   r(   r  r)   r  rD   )r   r    r   s   &  r#   test_directory_in_folder$TestMaildir.test_directory_in_folder  sa     rAIIMM'///:;  	djj%=> 99C r&   umasktest needs os.umask()c                   \         P                  ! V P                  ^ ,          4      p\        P                  ! ^ 4      p V P
                  P                  V4      p\        P                  ! V4       \        P                  P                  V P                  V P
                  P                  V4      4      p\        P                  ! V4      P                  pV P                  V^I,          4       R#   \        P                  ! T4       i ; irf  )r   r6   rZ   r(   r  rF   rY   r)   r  rD   rU  r%  st_moderj  )r   r   
orig_umaskr   r)   modes   &     r#   test_file_permissions!TestMaildir.test_file_permissions  s     $$T^^a%78XXa[
	!))--$CHHZ ww||DJJ		(9(9#(>?wwt}$$& HHZ s   C- -Dc                   \         P                  ! ^ 4      p V P                  P                  R4      p\         P                  ! V4       \         P                  P                  VP                  R4      p\         P                  ! V4      pVP                  pV P                  V^I,          4       R#   \         P                  ! T4       i ; i)r   	subfoldermaildirfolderN)
r(   r  rF   r  r)   r  rD   r%  r  rj  )r   r  r  r)   stpermss   &     r#   test_folder_file_perms"TestMaildir.test_folder_file_perms  s     XXa[
	!		,,[9IHHZ ww||IOO_=WWT]

%%-) HHZ s   B/ /Cc                  a a S P                   P                  4        R Fn  p\        P                  ! \        P                  P                  S P                   P                  V4      \        P                  ! 4       ^,
          3^,          4       Kp  	  RS P                   n        S P                   P                  oVV 3R lpS P                   P                  4        S P                  V! 4       4       \        P                  P                  S P                  R R4      p\        P                  ! V4       \        P                  ! V4       S P                   P                  4        S P                  V! 4       4       R# )r  c                  4   < SP                   P                  S J# r   )rF   rH  )orig_tocr   s   r#   	refreshed*TestMaildir.test_reread.<locals>.refreshed  s    99>>11r&   z
stray-fileN)r  r  rM  )rF   rI  r(   r&  r)   r  rD   r'  rN  rH  rj  r   create_empty_filer-   r   )r   r  r  filenamer  s   f   @r#   test_rereadTestMaildir.test_reread  s    		 %FHHRWW\\$))//6:iik!m%a') % !#		
 99>>	2 			%
 77<<

E<@##H-
		(			$r&   r   r   r  ))r2   r3   r4   r5   rE   rH   ry   r  r  r  r  r  r  r  r  r  r  r  r,  rE  rJ  rP  rX  rn  r_  rl  rq  rt  r{  r  r  r  unittest
skipUnlesshasattrr(   r  r  r  r<   r=   r>   s   @r#   r  r  V  s     NH"
JK	9<.19O317&2$-0^L"N&-
A$L88	:
7
= W-/FG
' H
' W-/FG* H*&% &%r&   r  c                   p   a  ] tR tRt o RtR tR t]P                  ! ]	! ]
R4      R4      R 4       tRtV tR	# )
_TestSingleFilei  z&Common tests for single-file mailboxesc                   \         P                  ! V P                  4      P                  pV P                  P                  V P                  ^ ,          4       V P                  P                  4        \         P                  ! V P                  4      P                  pV P                  W4       V P                  P                  4        V P                  V P                  4      V n        V P                  \        V P                  4      ^4       R# rf  )r(   r%  rD   st_inorF   rY   rZ   rx   r   rK   rE   r   )r   inode_beforeinode_afters   &  r#   test_add_doesnt_rewrite'_TestSingleFile.test_add_doesnt_rewrite  s     wwtzz*11		dnnq()		ggdjj)003 			MM$**-	TYY+r&   c                8   \         P                  ! V P                  4      P                  R ,          p\         P                  ! V P                  V4       V P
                  P                  V P                  ^ ,          4       V P
                  P                  V P                  ^,          4      pV P
                  P                  V4       V P
                  P                  4        V P                  \         P                  ! V P                  4      P                  V4       R# )  N)r(   r%  rD   r  chmodrF   rY   rZ   r   rx   r   )r   r  r    s   &  r#   test_permissions_after_flush,_TestSingleFile.test_permissions_after_flush+  s     wwtzz"**U2
T"		dnnq()IIMM$..1,-				,44d;r&   chownzrequires os.chownc                   \         P                  ! R 4      p\         P                  ! R4      p\        P                  ! V P                  4      pVP                  4        F,  pVP                  VP                  8w  g   K   VP                  p M	  V P                  R4       VP                  4        F,  pVP                  VP                  8w  g   K   VP                  p M	  V P                  R4        \        P                  ! V P                  XX4       VP                  R,          p\        P                  ! V P                  V4       V P                   P#                  V P$                  ^ ,          4       V P                   P#                  V P$                  ^,          4      pV P                   P'                  V4       V P                   P)                  4        \        P                  ! V P                  4      pV P+                  VP                  X4       V P+                  VP                  X4       V P+                  VP                  V4       R#   \         d    T P                  R4        ELVi ; i)pwdgrpztest needs more than one userztest needs more than one groupztest needs root privileger  N)r   import_moduler(   r%  rD   getpwallpw_uidst_uidskipTestgetgrallgr_gidst_gidr  OSErrorr  r  rF   rY   rZ   r   rx   r   )	r   r  r  r  e	other_uid	other_gidr  r    s	   &        r#   test_ownership_after_flush*_TestSingleFile.test_ownership_after_flush<  s    ))%0))%0WWTZZ Axx299$HH	  
 MM9:Axx299$HH	  
 MM:;	7HHTZZI6 zzE!
T"		dnnq()IIMM$..1,-				WWTZZ I.I.T*  	7MM56	7s   0"I	 	I)(I)r   N)r2   r3   r4   r5   __doc__r  r  r  r  r  r(   r  r<   r=   r>   s   @r#   r  r    s<     0,(<" W-/BC&+ D&+r&   r  c                      a a ] tR tRt oV 3R ltR tR tR tR tR t	R t
R	 tR
 t]P                  ! 4       ]P                   ! ]! ]R4      R4      R 4       4       tR tRtVtV ;t# )_TestMboxMMDFif  c                >  < \         SV `  4        V P                  P                  4        V P	                  V P
                  4       \        P                  ! \        P                  ! V P
                  4      R ,           4       F  p\        P                  ! V4       K  	  R# z.*N
superrL   rF   rK   r/   rD   globescaper   r-   r   lock_remnant	__class__s   & r#   rL   _TestMboxMMDF.tearDownh  b    		  , IIdkk$**&=&DEL\* Fr&   c                    \        V P                  R 4      ;_uu_ 4       pV P                  VP                  4       . 4       RRR4       R#   + '       g   i     R# ; irbNr  rD   r   	readlinesr   r   s   & r#   ry    _TestMboxMMDF.assertMailboxEmptyo  :    $**d##qQ[[]B/ $###   !A

A	c                   R pV P                   P                  WP                  ^ ,          ,           4      pV P                   P                  V\        ,           4      pV P	                  V P                   P                  VRR7      V P                  ^ ,          P                  R4      4       V P	                  V P                   P                  VRR7      \        4       V P	                  V P                   P                  VRR7      WP                  ^ ,          ,           P                  R4      4       V P	                  V P                   P                  VRR7      VP                  R4      \        ,           4       R# )From foo@bar blah
Ffrom_r   TNr   r   unixfromr   r   s   &   r#   test_get_bytes_from!_TestMboxMMDF.test_get_bytes_froms  s   (yy}}X(::;yy}}X78,,T,?^^a''0	2,,T,?!	#,,T,>**227;	=,,T,>OOG$'<<	>r&   c                   R pV P                   P                  WP                  ^ ,          ,           4      pV P                   P                  V\        ,           4      pV P	                  V P                   P                  VRR7      V P                  ^ ,          4       V P	                  V P                   P                  VRR7      P                  R4      \        P                  R4      4       V P	                  V P                   P                  VRR7      WP                  ^ ,          ,           4       V P	                  V P                   P                  VRR7      P                  R4      V\        ,           P                  R4      4       R# )r  Fr  r   TNr   r  s   &   r#   test_get_string_from"_TestMboxMMDF.test_get_string_from  s   (yy}}X(::;yy}}X78--d%-@!+	---d%-@FFtL(..t4	6--d$-?!NNQ$66	8--d$-?EEdK"_4;;DA	Cr&   c                b   V P                   P                  R 4      pV P                  V P                   V,          P                  4       R4       V P                  V P                   V,          P	                  4       R4       V P                  V P                   V,          P                  4       R4       R# )From foo@bar blah
From: foo

0
foo@bar blahFrom foo@bar blahr   NrF   rY   r   get_fromget_unixfromr   rl   s   & r#   test_add_from_string"_TestMboxMMDF.test_add_from_string  sy    iimmAB3002NC34468KL3335u=r&   c                b   V P                   P                  R 4      pV P                  V P                   V,          P                  4       R4       V P                  V P                   V,          P	                  4       R4       V P                  V P                   V,          P                  4       R4       R# )s   From foo@bar blah
From: foo

0
r  r  r   Nr  rl   s   & r#   test_add_from_bytes!_TestMboxMMDF.test_add_from_bytes  sy    iimmBC3002NC34468KL3335u=r&   c                    \         P                  \         P                  3 F&  pV! R 4      pV P                  P	                  V4      pK(  	  R# )r  N)r   r7   r:   rF   rY   )r   class_r   r   s   &   r#   test_add_mbox_or_mmdf_message+_TestMboxMMDF.test_add_mbox_or_mmdf_message  s;    **G,?,?@F>?C))--$C Ar&   c                   \        ^4       Uu. uF  qP                  V,          NK  	  ppV F  pV P                  P                  V4       K   	  V P                  P	                  4        \
        P                  P                  V P                  4      pV P                  V P                  4      V n        V P                  \        V P                  4      ^4       V P                  P                  4        F.  pV P                  V P                  P                  V4      V4       K0  	  V P                  P	                  4        V P                  V\
        P                  P                  V P                  4      4       R# u upi ru  )r(  rZ   rF   rY   rK   r(   r)   getmtimerD   rE   r   r   r
  r   rc   )r   r    r  r   mtimer   s   &     r#   test_open_close_open"_TestMboxMMDF.test_open_close_open  s    .3Ah7h..1$$h7EIIMM%  		  ,MM$**-	TYY+99%%'CMM$))..s3V< (		 0 0 <= 8s   E8c                   V P                   P                  \        4       \        ^4       F/  pV P                   P                  V P                  V,          4       K1  	  V P                   P                  \        4       V P                   P
                  P                  4        V P                   P
                  P                  ^ 4       V P                   P
                  P                  4       pV P                   P                  4        \        V P                  R4      ;_uu_ 4       pV P                  W#P                  4       4       RRR4       V P                  V P                  4      V n         R#   + '       g   i     L2; i)rT   r  N)rF   rY   r[   r(  rZ   _filerx   r   r   rK   r  rD   r   rE   )r   r    rw  r   s   &   r#   test_add_and_close _TestMboxMMDF.test_add_and_close  s    		o&qAIIMM$..1,- 		o&				Q99??'')		$**d##qXvvx0 $MM$**-	 $#s   " E,,E<	
socketpairzTest needs socketpair().c                   \         P                  ! 4       w  rV P                  VP                  4       V P                  VP                  4       \        P
                  ! 4       pV^ 8X  dn    V P                  P                  4        VP                  R4       VP                  ^4       V P                  P                  4        \        P                  ! ^ 4       VP                  ^4        V P                  \        P                  V P                  P                  4       VP                  R4       \        P                   ! V^ R7       V P                  P                  4        V P                  P                  4        R#   \        P                  ! ^ 4       i ; i  TP                  R4       \        P                   ! T^ R7       i ; i)r      c   p)exitcodeN)r2  r  
addCleanuprK   r(   forkrF   rl  sendrecvrm  _exitr   r   ExternalClashErrorr   wait_process)r   cpr=  s   &   r#   test_lock_conflict _TestMboxMMDF.test_lock_conflict  s'   
   "  ggi!8			 t q			  " 	
q		2g88"iinn. FF4L  q1				  FF4L  q1s   +AE< )4F <F+Gc                   R pV P                   P                  V4      pV P                   P                  4        V P                   P                  4        V P	                  V P
                  4      V n         V P                   P                  4        V P                   P                  V4      pV P                   P                  4        V P                  V P                   P                  4       V P                   P                  4        R# )zSubject: sub

body
N)	rF   rY   rx   rK   rE   rD   rl  r   _locked)r   r   r   r   s   &   r#   test_relock_TestMboxMMDF.test_relock  s     'yy}}S!				MM$**-			yy}}S!				))*		r&   r   )r2   r3   r4   r5   rL   ry   r  r  r  r  r  r  r  r   requires_forkr  r  r  r2  r  r  r<   r=   __classcell__r  r?   s   @@r#   r  r  f  sy     +0>C>>%>. 68RS! T !F r&   r  c                   v   a  ] tR tRt o R
R lt]P                  ! ]! ]R4      R4      R 4       t	R t
R tR	tV tR# )TestMboxi  Nc                .    \         P                  ! W4      # r   )r   mboxr  s   &&&r#   r   TestMbox.<lambda>      T0Kr&   r  r  c                J    \         P                  ! ^?4      pV P                  P                  4        \         P                  ! V P
                  4       \        P                  ! V P
                  RR7      V n        V P                  P                  R4       V P                  P                  4        \         P                  ! V4       \         P                  ! V P
                  4      pVP                  pV P                  V^I,          4       R#   \         P                  ! X4       i ; i)?   T)creater  N)r(   r  rF   rK   r-   rD   r   r!  rY   r%  r  rj  )r   	old_umaskr  r  s   &   r#   test_file_permsTestMbox.test_file_perms  s    
	 IIIOOIIdjj!TZZ=DIIIMM"IIOOHHYWWTZZ 

%%-)	 HHYs   B,D
 
D"c                   \         P                  P                  4       pR VR&   VP                  R4       V P                  P                  V4      pV P                  P                  V4      pV P                  VP                  4       R4       R# )zjohn@example.comFromzNo newline at the endzNo newline at the end
N)	r   r   r   set_payloadrF   rY   r   r   r   )r   r   r    s   &  r#   test_terminating_newline!TestMbox.test_terminating_newline  sl    --''),34IIMM'" ))--",,.0IJr&   c                   V P                   P                  R 4       \        V P                  RR7      ;_uu_ 4       pVP	                  4       pV P                  VR4       RRR4       V P                   P                  R4       \        V P                  RR7      ;_uu_ 4       pVP	                  4       pV P                  VR4       RRR4       R#   + '       g   i     Lw; i  + '       g   i     R# ; i)zFrom: foo

0rO   rP   z0

NzFrom: foo

0
)rF   rY   r  rD   r   assertEndsWith)r   r   datas   &  r#   test_message_separatorTestMbox.test_message_separator  s    		&'$**w//1668Dg. 0 			()$**w//1668Dg. 0/ 0/
 0//s   #C #C C	 C1	r   r   )r2   r3   r4   r5   rE   r  r  r  r(   r(  r-  r2  r<   r=   r>   s   @r#   r  r    sB     KHW-/FG* H*$K
/ 
/r&   r  c                        ] tR tRtRR ltRtR# )TestMMDFi"  Nc                .    \         P                  ! W4      # r   )r   MMDFr  s   &&&r#   r   TestMMDF.<lambda>$  r#  r&   r1   r   )r2   r3   r4   r5   rE   r<   r1   r&   r#   r5  r5  "  s    KHr&   r5  c                   l   a  ] tR tRt o RR ltR tR tR tR tR t	R	 t
R
 tR tR tR tR tRtV tR# )TestMHi'  Nc                .    \         P                  ! W4      # r   )r   MHr  s   &&&r#   r   TestMH.<lambda>)  s    

40Ir&   c                h    V P                  \        P                  ! V P                  4      R .4       R# ).mh_sequencesN)r   r(   r  rD   rG   s   &r#   ry   TestMH.assertMailboxEmpty+  s"    DJJ//1BCr&   c                   V P                   P                  R 4       V P                   P                  R4       V P                   P                  R4       V P                  \        V P                   P	                  4       4      ^4       V P                  \        V P                   P	                  4       4      \        R4      4       R# r	  r  rG   s   &r#   r  TestMH.test_list_folders.  r  r&   c                .   R  pV P                  V P                  V4      V n        V P                  P                  R4      pV P                  P	                  R4      pVP                  V P                  R,          4       V P                  \        P                  P                  \        P                  P                  V P                  R4      4      4       V P                  P	                  R4      pV P                  VP                  VP                  4       ^ ,          4      V P                  R,          4       V P                  VP                   V P                  P                   4       V P                  VP                   V P                  P                   4       R# )c                     R # r   r1   r  s   &r#   r  -TestMH.test_get_folder.<locals>.dummy_factory9  r  r&   r  r>  N)rE   rD   rF   r  r  rY   rZ   r   r(   r)   r*   r  r   rc   rd   r   )r   r  
new_folderr  r  s   &    r#   r  TestMH.test_get_folder7  s
   	MM$**m<	YY)))4
))&&y1DNNU*+bggll4::y&IJK))&&y1++GLLN1,=>%/	1
 	j))499+=+=>g&&		(:(:;r&   c                |   V P                   P                  R 4       V P                   P                  R4       V P                  \        V P                   P	                  4       4      ^4       V P                  \        V P                   P	                  4       4      \        R4      4       V P                   P                  R 4       V P                  \        V P                   P	                  4       4      ^4       V P                  \        V P                   P	                  4       4      \        R4      4       V P                   P                  R4       V P                  \        V P                   P	                  4       4      ^4       V P                  \        V P                   P	                  4       4      \        R4      4       V P                   P                  R4       V P                  \        V P                   P	                  4       4      ^4       V P                  \        V P                   P	                  4       4      \        R4      4       V P                   P                  R4       V P                  \        V P                   P	                  4       4      ^ 4       V P                  V P                   P	                  4       . 4       R# r  r  rG   s   &r#   r  "TestMH.test_add_and_remove_foldersJ  r   r&   c                <   V P                  V P                  P                  4       / 4       \        P                  ! V P
                  ^ ,          4      pVP                  R4       V P                  P                  V4      pV P                  V P                  P                  4       RV./4       \        P                  ! V P
                  ^,          4      pVP                  . RO4       V P                  P                  V4      pV P                  V P                  P                  4       RW$.RV.RV./4       VP                  R.4       WP                  V&   V P                  V P                  P                  4       RV.RV.RV.RV./4       V P                  P                  V4       V P                  V P                  P                  4       RV./4       V P                  P                  RV./4       V P                  V P                  P                  4       RV./4       R# )r   r   r>  repliedflaggedN)r>  rK  r   )
r   rF   get_sequencesr   r8   rZ   add_sequencerY   set_sequencesr   r   r   r   r  r   s   &    r#   test_sequencesTestMH.test_sequences]  s   002B7  !!34% yy}}T"002UD6NC  !!3445yy}}T"002TL%	4&I	KI;'		$002TFE4&)TF(	) 			002Yv4FG		v/002UD6NCr&   c                   \         P                  P                  V P                  R 4      p\         P                  ! V4       V P                  V4      pV P                  \         P                  ! V4      . 4       V P                  VP                  4       / 4       V P                  \         P                  ! V4      . 4       VP                  / 4       V P                  \         P                  ! V4      R.4       R# r  r?  N)
r(   r)   r  rD   r  rE   r   r  rM  rO  r   r)   r  s   &  r#   test_no_dot_mh_sequences_file$TestMH.test_no_dot_mh_sequences_filet  s    ww||DJJ	2
mmD!D)2.**,b1D)2."D)O+<=r&   c                   \         P                  P                  V P                  R 4      p\         P                  ! V4       V P                  V4      pV P                  \         P                  ! V4      . 4       VP                  4        VP                  4        V P                  \         P                  ! V4      R.4       R# rT  )
r(   r)   r  rD   r  rE   r   r  rl  rm  rU  s   &  r#   )test_lock_unlock_no_dot_mh_sequences_file0TestMH.test_lock_unlock_no_dot_mh_sequences_file~  sz    ww||DJJ	2
mmD!D)2.


D)O+<=r&   c                    \         P                  ! V P                  ^ ,          4      pVP                  R4       V P                  P                  V4      pV P                  P                  V4      pR# )r   r   N)r   r8   rZ   rN  rF   rY   r   )r   r   r   refmsg0s   &   r#   test_issue2625TestMH.test_issue2625  sO      !!34% yy}}T"))''-r&   c                (   \         P                  ! V P                  ^ ,          4      pV P                  P	                  V4      pV P                  P                  4        V P                  P                  V4       V P                  P                  4        R# rf  )r   r8   rZ   rF   rY   rl  r   rm  )r   r   r   s   &  r#   test_issue7627TestMH.test_issue7627  s]      !!34yy}}T"						r&   c                4   \         P                  ! V P                  ^ ,          4      p\         P                  ! V P                  ^,          4      p\         P                  ! V P                  ^,          4      p\         P                  ! V P                  ^,          4      pVP                  RR.4       VP                  R.4       VP                  RR.4       VP                  . RO4       V P                  P                  V4      pV P                  P                  V4      pV P                  P                  V4      pV P                  P                  V4      pV P                  V P                  P                  4       RWVWx.RV.RV.RV.RV./4       V P                  P                  V4       V P                  V P                  P                  4       RWVV.RV.RV.RV./4       V P                  P                  4        V P                  V P                  P                  4       . RO4       TpV^,           pV^,           pV P                  V P                  P                  4       R. ROR^.R^.R^./4       V P                  P                  V4      pV P                  P                  V4      pV P                  P                  V4      pV P                  P                  V4      pV P                  P                  V4       V P                  P                  V4       V P                  P                  4        V P                  P                  4        V P                  P                  4        V P                  V P                  P                  4       R. R	OR^.R^.R^./4       R# )
r   r   unseenrL  r>  rK  N)r   r>  rK  )rR   rS   rT   )rR   rS   rT   rU   rV   )r   r8   rZ   rO  rF   rY   r   rM  r   packrd   rl  rm  )	r   r   r  r  msg3r   r   r   key3s	   &        r#   	test_packTestMH.test_pack  s     !!34  !!34  !!34  !!34E8,-E7#E9-.45yy}}T"yy}}T"yy}}T"yy}}T"002Tt18TFtfiH	I 			002Tt,hvudV(	) 			)95axax002IxUA3	1#N	P yy}}T"yy}}T"yy}}T"yy}}T"										002OsE1#y!>	?r&   c                V    \         P                  P                  V P                  R 4      # )z.mh_sequences.lock)r(   r)   r  rD   rG   s   &r#   rk  TestMH._get_lock_path  s    ww||DJJ(<==r&   r   r   )r2   r3   r4   r5   rE   ry   r  r  r  rQ  rV  rY  r]  r`  rg  rk  r<   r=   r>   s   @r#   r:  r:  '  sI     IHD3<&7&D.>>.*?X> >r&   r:  c                   H   a a ] tR tRt oRR ltR tV 3R ltR tRtVt	V ;t
# )	TestBabyli  c                .    \         P                  ! W4      # r   )r   Babylr  s   &&&r#   r   TestBabyl.<lambda>  s    d0Lr&   c                    \        V P                  R 4      ;_uu_ 4       pV P                  VP                  4       . 4       RRR4       R#   + '       g   i     R# ; ir  r  r  s   & r#   ry   TestBabyl.assertMailboxEmpty  r  r  c                >  < \         SV `  4        V P                  P                  4        V P	                  V P
                  4       \        P                  ! \        P                  ! V P
                  4      R ,           4       F  p\        P                  ! V4       K  	  R# r  r  r  s   & r#   rL   TestBabyl.tearDown  r  r&   c                   V P                  V P                  P                  4       . 4       \        P                  ! V P
                  ^ ,          4      pVP                  R4       V P                  P                  V4      pV P                  V P                  P                  4       R.4       \        P                  ! V P
                  ^,          4      pVP                  . RO4       V P                  P                  V4      pV P                  \        V P                  P                  4       4      \        RR.4      4       VP                  RR.4       WP                  V&   V P                  \        V P                  P                  4       4      \        . RO4      4       V P                  P                  V4       V P                  \        V P                  P                  4       4      \        R.4      4       R# )r   r   r>  blahfiledN)r>  answeredr   )r   r>  ru  )r   rF   
get_labelsr   r9   rZ   	add_labelrY   
set_labelsr*  r   rP  s   &    r#   test_labelsTestBabyl.test_labels  sY   --/4##DNNQ$67uyy}}T"--/%9##DNNQ$6723yy}}T"TYY1134c5%.6IJ)*		$TYY1134/0	2		TYY1134c6(mDr&   r1   r   )r2   r3   r4   r5   rE   ry   rL   r{  r<   r=   r  r  s   @@r#   rl  rl    s      LH0+E Er&   rl  c                   ,   a  ] tR tRt o R tR tRtV tR# )FakeFileLikeObjecti  c                    R V n         R# rq  closedrG   s   &r#   __init__FakeFileLikeObject.__init__  s	    r&   c                    R V n         R# ra  r  rG   s   &r#   rK   FakeFileLikeObject.close  s	    r&   r  N)r2   r3   r4   r5   r  rK   r<   r=   r>   s   @r#   r~  r~    s      r&   r~  c                   ,   a  ] tR tRt o R tR tRtV tR# )FakeMailBoxi  c                    \         P                  P                  V R R 4       \        ^
4       Uu. uF  p\	        4       NK  	  upV n        R# u upi )r  c                     R # r   r1   )r   s   &r#   r   &FakeMailBox.__init__.<locals>.<lambda>  s    r&   N)r   r  r  r(  r~  files)r   r    s   & r#   r  FakeMailBox.__init__  s:      r+<=49"I>Iq(*I>
>s   Ac                (    V P                   V,          # r   r  rl   s   &&r#   r   FakeMailBox.get_file  s    zz#r&   r  N)r2   r3   r4   r5   r  r   r<   r=   r>   s   @r#   r  r    s     ? r&   r  c                   &   a  ] tR tRt o R tRtV tR# )TestFakeMailBoxi  c                F   \        4       p\        ^
4       F/  pV P                  VP                  V,          P                  4       K1  	  \        ^
4       F  pW,           K  	  \        ^
4       F/  pV P                  VP                  V,          P                  4       K1  	  R# )rR  N)r  r(  rj  r  r  r   )r   r  r    s   &  r#   test_closing_fdTestFakeMailBox.test_closing_fd  sp    mrASYYq\001 rAFF rAOOCIIaL//0 r&   r1   N)r2   r3   r4   r5   r  r<   r=   r>   s   @r#   r  r    s     1 1r&   r  c                      a  ] tR tRt o ]P
                  tR tR tR t	R t
R tR tR tR	 tR
 tR tR tR tRtV tR# )TestMessagei  c                0    \         P                  V n        R # r   )r   rC   rD   rG   s   &r#   rH   TestMessage.setUp	  s    %%
r&   c                <    V P                  V P                  4       R # r   )r/   rD   rG   s   &r#   rL   TestMessage.tearDown  s      ,r&   c                    \         P                  ! \        4      pV P                  V4      pV P	                  V4       V P                  V4       R # r   )r   r\   r[   rE   _post_initialize_hookr$   r   eMMr   s   &  r#   test_initialize_with_eMM$TestMessage.test_initialize_with_eMM  s<    ''8mmC ""3'3r&   c                t    V P                  \        4      pV P                  V4       V P                  V4       R # r   )rE   r[   r  r$   r   r   s   & r#   test_initialize_with_string'TestMessage.test_initialize_with_string  s,    mmO,""3'3r&   c                2   \        V P                  R RR7      ;_uu_ 4       pVP                  \        4       VP	                  ^ 4       V P                  V4      pV P                  V4       V P                  V4       RRR4       R#   + '       g   i     R# ; i)r   rO   rP   N)r  rD   r   r[   r   rE   r  r$   r   r   r   s   &  r#   test_initialize_with_file%TestMessage.test_initialize_with_file  sg    $**dW55GGO$FF1I--"C&&s+s# 6555s   ABB	c                .   \        V P                  R 4      ;_uu_ 4       pVP                  \        4       VP	                  ^ 4       V P                  V4      pV P                  V4       V P                  V4       RRR4       R#   + '       g   i     R# ; ir   N)r  rD   r   r_   r   rE   r  r$   r  s   &  r#    test_initialize_with_binary_file,TestMessage.test_initialize_with_binary_file%  sf    $**e$$GG)*FF1I--"C&&s+s# %$$$s   ABB	c                   V P                  4       pV P                  V4       V P                  V\        P                  P
                  4       V P                  V\        P
                  4       V P                  WP                   4       V P                  VP                  4       . 4       V P                  VP                  4       4       V P                  VP                  4       4       R # r   )rE   r  r   r   r   r   r   r   rd   rj  r   r   r   r  s   & r#   test_initialize_with_nothing(TestMessage.test_initialize_with_nothing.  s    mmo""3'c5==#8#89c7??3c==1R())+,#//+,r&   c                <   a  S P                  \        V 3R  l4       R# )c                  6   < S P                  \        4       4      # r   )rE   objectrG   s   r#   r   9TestMessage.test_initialize_incorrectly.<locals>.<lambda>;  s    T]]68-Dr&   N)r   r  rG   s   fr#   test_initialize_incorrectly'TestMessage.test_initialize_incorrectly9  s    )%DEr&   c                    \         P                  ! \        4      pV P                  \        4      pVP                   F.  pV P                  W2P                  R P                  V4      4       K0  	  R# )z{} attribute does not existN)r   r\   r[   rE   __dict__r   format)r   r  r   attrs   &   r#   test_all_eMM_attributes_exist)TestMessage.test_all_eMM_attributes_exist=  sN    ''8mmO,LLDMM$-44T:< !r&   c                    \         P                  ! \        4      pV P                  4       pVP	                  V4       V P                  V4       R # r   )r   r\   r[   rE   _become_messager$   r  s   &  r#   test_become_messageTestMessage.test_become_messageE  s9    ''8mmoC 3r&   c                   aa V P                  4       oV P                   F  pV! 4       oSP                  S4       K  	  \        P                  P                  4       oV P                  \        VV3R  l4       R# )c                  &   < S P                  S4      # r   )_explain_to)r   	other_msgs   r#   r   -TestMessage.test_explain_to.<locals>.<lambda>T  s    S__Y-Gr&   N)rE   r;   r  r   r   r   r   r  )r   r  r   r  s   & @@r#   test_explain_toTestMessage.test_explain_toL  sX     mmo,,FIOOI& - MM))+	)%GHr&   c                    R # r   r1   r  s   &&r#   r  !TestMessage._post_initialize_hookV  s    r&   r  N)r2   r3   r4   r5   r   r   rE   rH   rL   r  r  r  r  r  r  r  r  r  r  r<   r=   r>   s   @r#   r  r    sQ     H&-  $$	-F< I r&   r  c                   \   a  ] tR tRt o ]P
                  tR tR tR t	R t
R tR tRtV tR	# )
TestMaildirMessagei[  c                v    V P                  VP                  R 4       V P                  VP                  R4       R# )r  r  N)r   _subdir_infor  s   &&r#   r  (TestMaildirMessage._post_initialize_hook_  s*    e,B'r&   c                8  a \         P                  ! \        4      oV P                  SP	                  4       R 4       SP                  R4       V P                  SP	                  4       R4       SP                  R 4       V P                  SP	                  4       R 4       V P                  \        V3R l4       V P                  SP	                  4       R 4       SP                  R 4       V P                  SP	                  4       R 4       V P                  S4       R# )r  r  c                  &   < S P                  R 4      # )r  )r  r   s   r#   r   0TestMaildirMessage.test_subdir.<locals>.<lambda>k  s    cnnU.Cr&   N)	r   r6   r[   r   r  r  r   rw   r$   r  s   &@r#   test_subdirTestMaildirMessage.test_subdirc  s    $$_5)51u)51u)51*&CD)51u)513r&   c                   \         P                  ! \        4      pV P                  VP	                  4       R 4       V P                  VP                  4       R4       VP                  R4       V P                  VP                  4       R4       V P                  VP	                  4       R4       VP                  R4       V P                  VP	                  4       R4       VP                  R4       V P                  VP	                  4       R4       VP                  R4       V P                  VP	                  4       R4       V P                  VP                  4       R4       V P                  V4       R	# )
r  r  FSDTPDPSTFTDFPSTTDRPFSN)
r   r6   r[   r   r  r  r  rz  r  r$   r  s   & r#   
test_flagsTestMaildirMessage.test_flagsq  s   $$_5"-)51c)51#.f&1T'2$/)513r&   c                "   \         P                  ! \        4      pV P                  \	        VP                  4       \        P                  ! 4       ,
          4      ^<4       VP                  R4       V P                  VP                  4       R4       R# )<           N)	r   r6   r[   r+  absget_dater'  set_dater   r  s   & r#   	test_dateTestMaildirMessage.test_date  sX    $$_5CLLNTYY[892>S-r&   c                4  a \         P                  ! \        4      oV P                  SP	                  4       R 4       SP                  R4       V P                  SP	                  4       R4       V P                  \        V3R l4       V P                  S4       R# )r  z	1,foo=barc                  &   < S P                  R 4      # r   )r  r  s   r#   r   .TestMaildirMessage.test_info.<locals>.<lambda>  s    S\\$-?r&   N)	r   r6   r[   r   r^  r  r   r  r$   r  s   &@r#   	test_infoTestMaildirMessage.test_info  sj    $$_5,[!5)%?@3r&   c                $   \         P                  ! \        4      pV P                  VP	                  4       R 4       VP                  R4       V P                  VP                  4       R4       V P                  VP	                  4       R4       VP                  R4       V P                  VP                  4       R 4       V P                  VP	                  4       R4       VP                  R4       V P                  VP                  4       R 4       V P                  VP	                  4       R4       VP                  R4       V P                  VP                  4       R4       V P                  VP	                  4       R4       V P                  V4       R# )	r  SFr  z2,FSz1,RPTDz2,DN)r   r6   r[   r   r^  r  r  r  r  rz  r$   r  s   & r#   test_info_and_flags&TestMaildirMessage.test_info_and_flags  s   $$_5,d$/0T"-."-.S#./3r&   r1   N)r2   r3   r4   r5   r   r6   rE   r  r  r  r  r  r  r<   r=   r>   s   @r#   r  r  [  s3     %%H(  ".    r&   r  c                   Z   a  ] tR tRt o ]P
                  tR tR tR t	R t
R	R ltRtV tR# )
_TestMboxMMDFMessagei  c                (    V P                  V4       R # r   )_check_fromr  s   &&r#   r  *_TestMboxMMDFMessage._post_initialize_hook  s    r&   c                   \         P                  ! \        4      pVP                  R 4       \         P                  ! V4      pV P                  VP                  4       R4       V P                  VP                  4       R 4       R# )r  r  N)r   r   r[   set_unixfromr7   r   r  r  r  s   & r#   test_initialize_with_unixfrom2_TestMboxMMDFMessage.test_initialize_with_unixfrom  s_    ooo.,-!!#&8))+-@Ar&   c                l   \         P                  ! \        4      pV P                  V4       V P	                  VP                  4       4       VP                  R 4       V P                  VP                  4       R 4       V P	                  VP                  4       4       VP                  RR4       V P                  VR4       V P	                  VP                  4       4       VP                  R\        P                  ! 4       4       V P                  VR4       V P	                  VP                  4       4       R# )zfoo barfoo@barTz	blah@tempN)r   r7   r[   r  r   r  set_fromr   r  r'  	localtimer  s   & r#   	test_from_TestMboxMMDFMessage.test_from  s    !!/2#**,-Y3#**,-Y%i(#**,-[$.."23k*#**,-r&   c                $   \         P                  ! \        4      pV P                  VP	                  4       R 4       VP                  R4       V P                  VP	                  4       R4       VP                  R4       V P                  VP	                  4       R4       VP                  R4       V P                  VP	                  4       R4       VP                  R4       V P                  VP	                  4       R4       V P                  V4       R# )	r  r  XODRRODXFARODFAXFDXARON)	r   r7   r[   r   r  r  rz  r  r$   r  s   & r#   r  _TestMboxMMDFMessage.test_flags  s    !!/2"-c#.f&1T(3$/3r&   Nc                    Vf   RpV P                  \        P                  ! VR,           VP                  4       4      4       R # )NzMAILER-DAEMONz. \w{3} \w{3} [\d ]\d [\d ]\d:\d{2}:\d{2} \d{4})r9  r5  r8  r  )r   r   senders   &&&r#   r   _TestMboxMMDFMessage._check_from  s7    >$FRXXJJ  	!r&   r1   r   )r2   r3   r4   r5   r   _mboxMMDFMessagerE   r  r  r  r  r  r<   r=   r>   s   @r#   r  r    s/     ''HB. ! !r&   r  c                   .    ] tR tRt]P
                  tRtR# )TestMboxMessagei  r1   N)r2   r3   r4   r5   r   r7   rE   r<   r1   r&   r#   r  r        ""Hr&   r  c                   D   a  ] tR tRt o ]P
                  tR tR tRt	V t
R# )TestMHMessagei  c                >    V P                  VP                  . 4       R # r   )r   
_sequencesr  s   &&r#   r  #TestMHMessage._post_initialize_hook  s    ,r&   c                   \         P                  ! \        4      pV P                  VP	                  4       . 4       VP                  R .4       V P                  VP	                  4       R .4       VP                  . 4       V P                  VP	                  4       . 4       VP                  R4       V P                  VP	                  4       R.4       VP                  R4       V P                  VP	                  4       RR.4       VP                  R4       V P                  VP	                  4       RR.4       VP                  R4       V P                  VP	                  4       R.4       VP                  R 4       V P                  VP	                  4       RR .4       VP                  R4       V P                  VP	                  4       RR .4       VP                  R R.4       V P                  VP	                  4       R R.4       R# )foobarrc  rL  rK  N)r   r8   r[   r   rM  rO  rN  remove_sequencer  s   & r#   rQ  TestMHMessage.test_sequences  s   0**,b18*%**,xj9"**,b1"**,xj9#**,x.CD#**,x.CDH%**,yk:"**,y(.CDI&**,y(.CD8Y/0**,x.CDr&   r1   N)r2   r3   r4   r5   r   r8   rE   r  rQ  r<   r=   r>   s   @r#   r  r    s!       H-E Er&   r  c                   J   a  ] tR tRt o ]P
                  tR tR tR t	Rt
V tR# )TestBabylMessagei  c                >    V P                  VP                  . 4       R # r   )r   _labelsr  s   &&r#   r  &TestBabylMessage._post_initialize_hook  s    b)r&   c                   \         P                  ! \        4      pV P                  VP	                  4       . 4       VP                  R .4       V P                  VP	                  4       R .4       VP                  . 4       V P                  VP	                  4       . 4       VP                  R4       V P                  VP	                  4       R.4       VP                  R4       V P                  VP	                  4       RR.4       VP                  R4       V P                  VP	                  4       RR.4       VP                  R4       V P                  VP	                  4       R.4       VP                  R 4       V P                  VP	                  4       RR .4       VP                  R4       V P                  VP	                  4       RR .4       VP                  R R.4       V P                  VP	                  4       R R.4       R# )r  rv  resentrc  rw  N)r   r9   r[   r   rx  rz  ry  remove_labelr  s   & r#   r{  TestBabylMessage.test_labels  s   ""?3)2.z")H:6r)2.g)G95h)GX+>?h)GX+>?!)H:6h)Hh+?@")Hh+?@*-.)Hj+ABr&   c                   \         P                  ! \        4      pVP                  4       pV P	                  VP                  4       . 4       V P                  VP                  4       4       R VR&   RVR&   V P	                  VP                  4       P                  4       . 4       VP                  V4       VP                  4       pV P	                  VP                  4       RR.4       V P	                  VR,          R 4       V P	                  VR,          R4       V P                  VP                  4       4       VP                  4        V P	                  VP                  4       RR.4       V P                  VP                  4       4       VP                  4       pV P	                  VP                  4       . RO4       R F!  pV P	                  W#,          W,          4       K#  	  R# )z
FooBar 1.0
User-AgentBlahz
X-WhateverN)r#  Dater+  ToSubject)
r   r9   r[   get_visibler   rd   r   r   set_visibleupdate_visible)r   r   visibleheaders   &   r#   test_visibleTestBabylMessage.test_visible  sw   ""?3//#,'--/0 , &*//126 //#,)EF.=.7'--/0,)EF'--/0//# *5 	6EFW_ck: Fr&   r1   N)r2   r3   r4   r5   r   r9   rE   r  r{  r-  r<   r=   r>   s   @r#   r  r    s%     ##H*C.; ;r&   r  c                   .    ] tR tRt]P
                  tRtR# )TestMMDFMessagei5  r1   N)r2   r3   r4   r5   r   r:   rE   r<   r1   r&   r#   r0  r0  5  r  r&   r0  c                      a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tRtV tR# )TestMessageConversioni:  c                    V P                    F6  p\        P                  ! \        4      pV! V4      pV P	                  V4       K8  	  R # r   )r;   r   r   r[   r$   )r   r  	msg_plainr   s   &   r#   test_plain_to_x%TestMessageConversion.test_plain_to_x<  s8    ,,F8I#Cs# -r&   c                    V P                    F6  pV! \        4      p\        P                  ! V4      pV P	                  V4       K8  	  R # r   )r;   r[   r   r   r$   )r   r  r   r4  s   &   r#   test_x_to_plain%TestMessageConversion.test_x_to_plainC  s8    ,,F)C,Iy) -r&   c                f    V P                    F   pV! \        4      pV P                  V4       K"  	  R # r   )r;   r_   r$   )r   r  r   s   &  r#   test_x_from_bytes'TestMessageConversion.test_x_from_bytesJ  s+    ,,F./Cs# -r&   c                b   a V P                    F  oV P                  \        V3R  l4       K  	  R# )c                     < S ! R 4      # Fr1   )r  s   r#   r   9TestMessageConversion.test_x_to_invalid.<locals>.<lambda>S  s	    r&   N)r;   r   r  )r   r  s   &@r#   test_x_to_invalid'TestMessageConversion.test_x_to_invalidP  s$    ,,Fi)>? -r&   c                   V P                    Uu/ uF  pW! \        4      P                  bK  	  ppV P                    F  pV P                    Fx  pW4J d   K
  V! \        4      pV! V4      pW#,           Uu. uF  pWrV,          9  g   K  VNK  	  ppV F.  p	V P                  WP                  R P	                  W44      4       K0  	  Kz  	  K  	  R# u upi u upi )zwhile converting {} to {}N)r;   r[   r  r2  r  )
r   r  	referenceclass1class2sourcer.   atype_specificr  s
   &         r#   3test_type_specific_attributes_removed_on_conversionITestMessageConversion.test_type_specific_attributes_removed_on_conversionU  s    &*&<&<>&<F VO4===&< 	 >,,F00#0,5,= !B,=q&'/@&@ "#,= !B)D$$T??3::6JL * 1 ->!Bs   C3CCc                   \         P                  ! \        4      pVP                  R 4       VP	                  R4       VP                  4       p\         P                  ! V4      pV P                  V4       V P                  VP                  4       R 4       V P                  VP                  4       R4       V P                  VP                  4       V4       R# )DFPRSTr  N)
r   r6   r[   r  r  r  r$   r   r  r  )r   msg_maildirdater   s   &   r#   test_maildir_to_maildir-TestMessageConversion.test_maildir_to_maildird  s    ,,_=h'u%##%$$[13(3)51.r&   c                   Rp\         P                  \         P                  3 EF  p\         P                  ! \        4      pVP                  R4       V F  w  rEVP                  V4       V! V4      pV P                  VP                  4       V4       V P                  VP                  4       R\        P                  ! \        P                  ! R4      4      ,          4       V P                  VP                  4       4       K  	  VP                  R4       V P                  V! V4      P                  4       R4       EK  	  R# )r  r  zMAILER-DAEMON %sr  RODFAN))r  r  r  r  )Pr  )RA)r  rV  )ro  r  )rM  RDFA)r   r7   r:   r6   r[   r  r  r   r  r  r'  asctimegmtimer   r  r  )r   pairsr  rN  settingresultr   s   &      r#   test_maildir_to_mboxmmdf.TestMessageConversion.test_maildir_to_mboxmmdfp  s    1**G,?,?@F!00AK  %#(%%g.[)  &9  1C!\\$++c*:;2< =!!#"2"2"45 $) ""5)VK0::<gF Ar&   c           	        \         P                  ! \        4      pR R.3RRR.3RR.3RRR.3R. 3RR.3R	RR.33pV FJ  w  r4VP                  V4       V P	                  \         P
                  ! V4      P                  4       V4       KL  	  R
# )r  rc  r  rL  rU  rV  rK  r  ro  rM  N)r   r6   r[   r  r   r8   rM  r   rN  r[  r\  r]  s   &    r#   test_maildir_to_mh(TestMessageConversion.test_maildir_to_mh  s    ,,_=z"S8Y*?$@z"S8Y*?$@3)z"X	9/E$FH  %OG!!'*W..{;IIK#%  %r&   c           	        \         P                  ! \        4      pR R.3RR.3RRR.3RRR.3R. 3RRR	.3R
. RO33pV FJ  w  r4VP                  V4       V P	                  \         P
                  ! V4      P                  4       V4       KL  	  R# )r  rc  r  rU  	forwardedrV  rw  r  ro  deletedrM  N)rf  rw  re  )r   r6   r[   r  r   r9   rx  ra  s   &    r#   test_maildir_to_babyl+TestMessageConversion.test_maildir_to_babyl  s    ,,_=z"S8*$5+./#*7M1NrS8Y"78@AC  %OG!!'*W11+>IIK#%  %r&   c                *   \         P                  \         P                  3 F  pV! \        4      pVP	                  R \
        P                  ! R4      4       RpV Fl  w  rEVP                  V4       \         P                  ! V4      pV P                  VP                  4       V4       V P                  VP                  4       R4       Kn  	  VP                  R4       V P                  \         P                  ! V4      P                  4       R4       K  	  R# )r  r  Or  N))rV  r  )rj  r  )r  ro  rT  )rW  rV  )rS  FRST)r   r7   r:   r[   r  r'  rZ  r  r6   r   r  r  r  )r   r  msg_mboxMMDFr[  r\  r]  r   s   &      r#   test_mboxmmdf_to_maildir.TestMessageConversion.test_mboxmmdf_to_maildir  s    **G,?,?@F!/2L!!)T[[-=>(E#(&&w/,,\:  &9  5	 $)
 ""3'W33LALLN"$ Ar&   c                
   \         P                  \         P                  3 F  pV! \        4      pVP	                  R 4       VP                  R4       V P                  VP                  4       4       \         P                  \         P                  3 Fj  pV! V4      pV P                  VP                  4       R 4       V P                  VP                  4       R4       V P                  VP                  4       4       Kl  	  K  	  R# )rS  r  N)r   r7   r:   r[   r  r  r   r  r   r  r  )r   r  rl  class2_r  s   &    r#   test_mboxmmdf_to_mboxmmdf/TestMessageConversion.test_mboxmmdf_to_mboxmmdf  s    **G,?,?@F!/2L""7+!!),l779:#//1D1DE|,  !17;  )<!!$"3"3"56	 F Ar&   c           	     D   \         P                  \         P                  3 F{  pV! \        4      pR . 3RR.3RR.3RRR.3RRR.3RRR.33pV FJ  w  rEVP	                  V4       V P                  \         P                  ! V4      P                  4       V4       KL  	  K}  	  R	# )
rV  rj  rc  r  r  rL  rW  rK  rS  N)r   r7   r:   r[   r  r   r8   rM  )r   r  rl  r[  r\  r]  s   &     r#   test_mboxmmdf_to_mh)TestMessageConversion.test_mboxmmdf_to_mh  s    **G,?,?@F!/2L2Yxj 1C(3DHi01Hi01	9568E $)&&w/  !2!2<!@!N!N!P!') $) Ar&   c           	     D   \         P                  \         P                  3 F{  pV! \        4      pR . 3RR.3RRR.3RR.3RRR.3RRR.33pV FJ  w  rEVP	                  V4       V P                  \         P                  ! V4      P                  4       V4       KL  	  K}  	  R	# )
rV  rj  rc  r  rf  r  rW  rw  rS  N)r   r7   r:   r[   r  r   r9   rx  )r   r  r   r[  r\  r]  s   &     r#   test_mboxmmdf_to_babyl,TestMessageConversion.test_mboxmmdf_to_babyl  s    **G,?,?@F)C2Yxj 1Hi01C(3DHj12	:679E $)g&  !5!5c!:!E!E!GP $) Ar&   c                   RpV F  w  r#\         P                  ! \        4      pVP                  V4       V P	                  \         P
                  ! V4      P                  4       V4       V P	                  \         P
                  ! V4      P                  4       R4       K  	  \         P                  ! \        4      pVP                  R 4       VP                  R4       VP                  R4       V P	                  \         P
                  ! V4      P                  4       R4       V P	                  \         P
                  ! V4      P                  4       R4       R# )rc  rK  rL  r  r  N)rc  r  )rK  RS)rL  r  )r   r8   r[   rN  r   r6   r  r  r   r[  r\  r]  r   s   &    r#   test_mh_to_maildir(TestMessageConversion.test_mh_to_maildir  s    F$OG##O4CW%W33C8BBDfMW33C8CCEuM	  %
 0"##//4>>@$G//4??A5Ir&   c                D   RpV F}  w  r#\         P                  ! \        4      pVP                  V4       \         P                  \         P
                  3 F)  pV P                  V! V4      P                  4       V4       K+  	  K  	  \         P                  ! \        4      pVP                  R 4       VP                  R4       VP                  R4       \         P                  \         P
                  3 F)  pV P                  V! V4      P                  4       R4       K+  	  R# )rc  rK  rL  OFAN)rc  rj  )rK  ROA)rL  ROF)r   r8   r[   rN  r7   r:   r   r  )r   r[  r\  r]  r   r  s   &     r#   test_mh_to_mboxmmdf)TestMessageConversion.test_mh_to_mboxmmdf  s    I$OG##O4CW%"..0C0CD  !6!6!8&A E  %
 0"##**G,?,?@FVC[224e< Ar&   c                   \         P                  ! \        4      pVP                  R 4       VP                  R4       VP                  R4       V P	                  \         P                  ! V4      P                  4       . RO4       R# )rc  rK  rL  N)rc  rK  rL  )r   r8   r[   rN  r   rM  r  s   & r#   test_mh_to_mh#TestMessageConversion.test_mh_to_mh  sc    0"##**3/==?9	;r&   c                   R R .3RR.3R. 33pV Fd  w  r#\         P                  ! \        4      pVP                  V4       V P	                  \         P
                  ! V4      P                  4       V4       Kf  	  \         P                  ! \        4      pVP                  R 4       VP                  R4       VP                  R4       V P	                  \         P
                  ! V4      P                  4       R R.4       R# )rc  rK  rw  rL  N)r   r8   r[   rN  r   r9   rx  r|  s   &    r#   test_mh_to_babyl&TestMessageConversion.test_mh_to_babyl  s    XJ')j\)BR"$OG##O4CW%W11#6AACVL  % 0"##--c2==?"J/	1r&   c                ~   RpV F  w  r#\         P                  ! \        4      pVP                  V4       V P	                  \         P
                  ! V4      P                  4       V4       V P	                  \         P
                  ! V4      P                  4       R4       K  	  \         P                  ! \        4      pR F  pVP                  V4       K  	  V P	                  \         P
                  ! V4      P                  4       R4       V P	                  \         P
                  ! V4      P                  4       R4       R# )rc  r  PRTN)rz  )rf  ST)rv  r  )rw  r{  )re  PS)editedr  )r  r  rc  rf  rv  rw  re  r  r  )r   r9   r[   ry  r   r6   r  r  r   r[  r\  r]  r   labels   &     r#   test_babyl_to_maildir+TestMessageConversion.test_babyl_to_maildir  s    #  %OG&&7CMM'"W33C8BBDfMW33C8CCEuM	  %
 ""?3*EMM% * 	//4>>@%H//4??A5Ir&   c                   RpV F}  w  r#\         P                  \         P                  3 FT  p\         P                  ! \        4      pVP                  V4       V P                  V! V4      P                  4       V4       KV  	  K  	  \         P                  ! \        4      pR F  pVP                  V4       K  	  \         P                  \         P                  3 F)  pV P                  V! V4      P                  4       R4       K+  	  R# )rc  ODAN)r  )rf  ROD)rv  r  )rw  r  )re  r  )r  r  )r  r  r  )r   r7   r:   r9   r[   ry  r   r  )r   r[  r\  r]  r  r   r  s   &      r#   test_babyl_to_mboxmmdf,TestMessageConversion.test_babyl_to_mboxmmdf  s    #  %OG"..0C0CD**?;g&  !6!6!8&A E  %
 ""?3*EMM% * **G,?,?@FVC[224e< Ar&   c                   R R .3R. 3R. 3RR.3R. 3R. 3R. 33pV Fd  w  r#\         P                  ! \        4      pVP                  V4       V P	                  \         P
                  ! V4      P                  4       V4       Kf  	  \         P                  ! \        4      pR	 F  pVP                  V4       K  	  V P	                  \         P
                  ! V4      P                  4       R R.4       R# )
rc  rf  rv  rw  rK  re  r  r  Nr  )r   r9   r[   ry  r   r8   rM  r  s   &     r#   test_babyl_to_mh&TestMessageConversion.test_babyl_to_mh&  s    XJ')R7B-yk*[",="~B!  %OG&&7CMM'"W..s3AACVL  % ""?3*EMM% * 	**3/==?"I.	0r&   c                T   \         P                  ! \        4      pVP                  4        R F  pVP	                  V4       K  	  \         P                  ! V4      pV P                  VP                  4       . RO4       V P                  VP                  4       P                  4       VP                  4       P                  4       4       VP                  4       P                  4        F?  pV P                  VP                  4       V,          VP                  4       V,          4       KA  	  R# )rc  Nr  )	r   r9   r[   r*  ry  r   rx  r(  rd   )r   r   r  r  r   s   &    r#   test_babyl_to_babyl)TestMessageConversion.test_babyl_to_babyl6  s    ""?3*EMM% * ##C(* -7 	8 	*//143C3C3E3J3J3LM??$))+CS__.s3T5E5E5G5LM ,r&   r1   N)r2   r3   r4   r5   r5  r8  r;  rA  rJ  rP  r^  rb  rg  rm  rq  rt  rw  r}  r  r  r  r  r  r  r  r<   r=   r>   s   @r#   r2  r2  :  s{     $*$@
L
/G"	%
%$ 7)
QJ=;1J"="0 N Nr&   r2  c                   D   a  ] tR tRt o R tR tR tR tR tR t	Rt
V tR	# )
TestProxyFileBaseiF  c                   VP                  ^ 4       V P                  VP                  4       R4       VP                  ^4       V P                  VP                  4       R4       VP                  ^ 4       V P                  VP                  ^4      R4       VP                  ^4       V P                  VP                  R4      R4       VP                  ^4       V P                  VP                  R4      R4       R# )r      bars   ars   ba     rN)r   r   r   r   proxys   &&r#   
_test_readTestProxyFileBase._test_readH  s    

1v.

1u-

1A.

1B/

1D)40r&   c                   \         P                  P                  4       pVP                  ^ 4       V P	                  VP                  4       RV,           4       V P	                  VP                  4       RV,           4       V P	                  VP                  4       RV,           4       V P	                  VP                  4       R4       VP                  ^4       V P	                  VP                  4       RV,           4       VP                  ^^\        \         P                  4      ,          ,           4       V P	                  VP                  4       RV,           4       VP                  ^^\        \         P                  4      ,          ,           4       V P	                  VP                  ^4      R4       V P	                  VP                  R	4      RV,           4       R# )
r      foor     fred   bob   os   frs   edNi)r(   r   rj   r   r   readliner   r   r  r   s   && r#   _test_readline TestProxyFileBase._test_readlineU  s>   **##%

1)6G+;<)6G+;<)7W+<=)62

1)4'>:

1q3rzz?**+)7W+<=

1q3rzz?**+*E2,ego>r&   c                   \         P                  P                  4       pVP                  ^ 4       V P	                  VP                  4       RV,           RV,           RV,           R.4       VP                  ^ 4       V P	                  VP                  ^4      RV,           .4       VP                  ^\        V4      ,           4       V P	                  VP                  ^\        V4      ,           4      RV,           RV,           .4       VP                  ^4       V P	                  VP                  R4      VRV,           RV,           R.4       R# )r   r  r  r  r  r  N)r(   r   rj   r   r   r  r   r  s   && r#   _test_readlines!TestProxyFileBase._test_readlinese  s   **##%

1*Vg-=+1G+;+2W+<f-F 	G 	

1+fw.>-?@

1s7|#$S\)9:w&'(9:	<

1.&7:J/6/@&1J 	Kr&   c                   \         P                  P                  4       pVP                  ^ 4       \	        V4      pV P                  \        V4      RV,           4       V P                  \        V4      RV,           4       V P                  \        V4      RV,           4       V P                  \        V4      R4       V P                  \        \        V4       R# )r   r  r  r  r  N)	r(   r   rj   r   iterr   nextr   StopIteration)r   r  r   iterators   &&  r#   _test_iteration!TestProxyFileBase._test_iterationu  s    **##%

1;h')9:h')9:h7):;h0-x8r&   c                    \         P                  P                  4       pVP                  ^4       V P	                  VP                  4       ^4       V P	                  VP                  \        V4      4      V4       VP                  ^^4       V P	                  VP                  ^\        V4      ,           4      RV,           4       VP                  R\        V4      ,
          ^4       V P	                  VP                  ^4      R4       VP                  ^^ 4       V P	                  VP                  4       RV,           R,           V,           4       VP                  ^d4       V P                  VP                  4       4       R# )rT   r  r  r  NrM  )	r(   r   rj   r   r   tellr   r   rj  r  s   && r#   _test_seek_and_tell%TestProxyFileBase._test_seek_and_tell  s   **##%

1q)CL17;

1aAG$45tg~F

2G$a(A/

1atg~'>'HI

3&r&   c                    V P                  VP                  4       VP                  4        V P                  VP                  4       VP                  4        V P                  VP                  4       R # r   )rj  r  rK   r   r  s   &&r#   _test_closeTestProxyFileBase._test_close  sF    &%%r&   r1   N)r2   r3   r4   r5   r  r  r  r  r  r  r<   r=   r>   s   @r#   r  r  F  s)     1? K 	9'& &r&   r  c                   V   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tRtV tR# )TestProxyFilei  c                f    \         P                  V n        \        V P                  R 4      V n        R# r  r   rC   rD   r  r  rG   s   &r#   rH   TestProxyFile.setUp  !    %%
$**e,
r&   c                p    V P                   P                  4        V P                  V P                  4       R # r   r  rK   r/   rD   rG   s   &r#   rL   TestProxyFile.tearDown  $    

  ,r&   c                   V P                   P                  R 4       V P                   P                  4       p\        P                  ! V P                   4      pV P                  VP                  4       V4       V P                  V P                   P                  4       V4       \        P                  ! V P                   ^ 4      pV P                  VP                  4       ^ 4       V P                  V P                   P                  4       V4       R# )r  N)r  r   r  r   
_ProxyFiler   )r   posproxy0proxy1s   &   r#   test_initializeTestProxyFile.test_initialize  s    

 jjoo##DJJ/,*C0##DJJ2**C0r&   c                    V P                   P                  R 4       V P                  \        P                  ! V P                   4      4       R# )r  N)r  r   r  r   r  rG   s   &r#   	test_readTestProxyFile.test_read  s/    

 **4::67r&   c                   V P                   P                  \        R \        P                  : R\        P                  : R\        P                  : R2R4      4       V P                  \        P                  ! V P                   4      4       R# r   r>  fredbobr   N)r  r   bytesr(   r   r  r   r  rG   s   &r#   test_readlineTestProxyFile.test_readline  sU    



BJJ24** >?FH 	IG..tzz:;r&   c                   V P                   P                  \        R \        P                  : R\        P                  : R\        P                  : R2R4      4       V P                  \        P                  ! V P                   4      4       R# r  )r  r   r  r(   r   r  r   r  rG   s   &r#   test_readlinesTestProxyFile.test_readlines  U    



BJJ24** >?FH 	IW//

;<r&   c                   V P                   P                  \        R \        P                  : R\        P                  : R\        P                  : R2R4      4       V P                  \        P                  ! V P                   4      4       R# r  )r  r   r  r(   r   r  r   r  rG   s   &r#   test_iterationTestProxyFile.test_iteration  r  r&   c                    V P                   P                  \        R \        P                  : R\        P                  : 2R4      4       V P                  \        P                  ! V P                   4      4       R# r   r>  r   N)r  r   r  r(   r   r  r   r  rG   s   &r#   test_seek_and_tell TestProxyFile.test_seek_and_tell  sE    

rzz2::FPQ  !3!3DJJ!?@r&   c                    V P                   P                  \        R \        P                  : R\        P                  : 2R4      4       V P                  \        P                  ! V P                   4      4       R# r  )r  r   r  r(   r   r  r   r  rG   s   &r#   rr  TestProxyFile.test_close  sE    

rzz2::FPQ++DJJ78r&   r  rD   Nr2   r3   r4   r5   rH   rL   r  r  r  r  r  r  rr  r<   r=   r>   s   @r#   r  r    s8     --	18<
=
=
A9 9r&   r  c                   V   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tRtV tR# )TestPartialFilei  c                f    \         P                  V n        \        V P                  R 4      V n        R# r  r  rG   s   &r#   rH   TestPartialFile.setUp  r  r&   c                p    V P                   P                  4        V P                  V P                  4       R # r   r  rG   s   &r#   rL   TestPartialFile.tearDown  r  r&   c                   V P                   P                  \        R \        P                  ,           R,           R4      4       V P                   P                  4       p\        P                  ! V P                   ^^4      pV P                  VP                  4       ^ 4       V P                  V P                   P                  4       V4       R# r  )	r  r   r  r(   r   r  r   _PartialFiler   )r   r  r  s   &  r#   r  TestPartialFile.test_initialize  s    

urzz1E97CDjjoo$$TZZA6q)*C0r&   c                    V P                   P                  \        R R4      4       V P                  \        P
                  ! V P                   ^^4      4       R# )z	***bar***r   N)r  r   r  r  r   r  rG   s   &r#   r  TestPartialFile.test_read  s:    

{G45,,TZZA>?r&   c                j   V P                   P                  \        R \        P                  : R\        P                  : R\        P                  : R2R4      4       V P                  \        P                  ! V P                   ^^^\        \        P                  4      ,          ,           4      4       R# )z!!!!!foor>  r  zbob!!!!!r   N)	r  r   r  r(   r   r  r   r  r   rG   s   &r#   r  TestPartialFile.test_readline  sr    

**bjj"** >?FH 	IG00Q13a#bjj/6I1IK 	Lr&   c                j   V P                   P                  \        R \        P                  : R\        P                  : R\        P                  : R2R4      4       V P                  \        P                  ! V P                   ^ ^^\        \        P                  4      ,          ,           4      4       R# )r   r>  r  zbob?????r   N)	r  r   r  r(   r   r  r   r  r   rG   s   &r#   r  TestPartialFile.test_readlines  r    

**bjj"** >?FH 	IW11$**a24q3rzz?7J2JL 	Mr&   c                j   V P                   P                  \        R \        P                  : R\        P                  : R\        P                  : R2R4      4       V P                  \        P                  ! V P                   ^^^\        \        P                  4      ,          ,           4      4       R# )____foor>  r  zbob####r   N)	r  r   r  r(   r   r  r   r  r   rG   s   &r#   r  TestPartialFile.test_iteration  r  r&   c                F   V P                   P                  \        R \        P                  : R\        P                  : R2R4      4       V P                  \        P                  ! V P                   ^^	^\        \        P                  4      ,          ,           4      4       R# )z(((foor>  z$$$r   N)	r  r   r  r(   r   r  r   r  r   rG   s   &r#   r  "TestPartialFile.test_seek_and_tell  sb    

RZZLgVW  !5!5djj!67!c"**o:M6M"O 	Pr&   c                F   V P                   P                  \        R \        P                  : R\        P                  : R2R4      4       V P                  \        P                  ! V P                   ^^^\        \        P                  4      ,          ,           4      4       R# )z&foor>  ^r   N)	r  r   r  r(   r   r  r   r  r   rG   s   &r#   rr  TestPartialFile.test_close  sb    

RZZH'RS--djj!./!c"**o2E.EG 	Hr&   r  Nr  r>   s   @r#   r  r    s>     --1@LMMP
H Hr&   r  z6From some.body@dummy.domain  Sat Jul 24 13:43:35 2004
z]From: some.body@dummy.domain
To: me@my.domain
Subject: Simple Test

This is a dummy message.
c                   N   a  ] tR tRt o R tR tRR ltR tR tR t	R t
R	tV tR
# )MaildirTestCasei	  c                >   \         P                  V n        \        P                  P                  V P                  4      '       d"   \         P                  ! V P                  4       MO\        P                  P                  V P                  4      '       d!   \         P                  ! V P                  4       \        P                  ! V P                  4       \        P                  ! \        P                  P                  V P                  R 4      4       \        P                  ! \        P                  P                  V P                  R4      4       \        P                  ! \        P                  P                  V P                  R4      4       ^V n        . V n        R# r  r  r  N)r   rC   _dirr(   r)   r*   r+   isfiler-   r  r  _counter	_msgfilesrG   s   &r#   rH   MaildirTestCase.setUp
	  s    $$	77==##TYY'WW^^DII&&TYY'

dii/0
dii/0
dii/0r&   c                   \        \        \        P                  V P                  4      4       \
        P                  ! \        P                  P                  V P                  R 4      4       \
        P                  ! \        P                  P                  V P                  R4      4       \
        P                  ! \        P                  P                  V P                  R4      4       \
        P                  ! V P                  4       R# r  )
r)  mapr(   r-   r  r   rmdirr)   r  r  rG   s   &r#   rL   MaildirTestCase.tearDown	  s    SDNN+,TYY67TYY67TYY67		"r&   c                   \        \        P                  ! 4       R ,          4      pV P                  pV ;P                  ^,          un        RP                  \	        V4      \	        V4      RR34      p\
        P                  P                  V P                  RV4      p\
        P                  P                  V P                  W4      p\        VRRR7      ;_uu_ 4       pV P                  P                  V4       V'       d   VP                  \        4       VP                  \        4       RRR4        \
        P                  ! Wg4       T P                  P                  T4       T#   + '       g   i     LD; i  \        \         3 dK    \        TR4      ;_uu_ 4       pTP                  \        4       RRR4        Kv    + '       g   i      L; ii ; i)	i@B .
myhostnamemydomainr  r"  rO   rP   N)r,  r'  r  r  strr(   r)   r  r  r  rX   r   FROM_DUMMY_MESSAGElinkAttributeErrorPermissionError)	r   dirr!  tr=  r  tmpnamenewnamefps	   &&&      r#   createMessageMaildirTestCase.createMessage	  s3   		g%&mm88SVSX|ZHI'',,tyy%:'',,tyy#8'311RNN!!'*HH]#	 2
	(GGG% 	g& 21 0 	(gs##r' $###	(s7   AE'4E: 'E7	:%GG 5G GGGc                    \         P                  ! \        P                  4      V n        V P                  V P                  P                  4       4       V P                  V P                  P                  4       4       R# )zTest an empty maildir mailboxN)r   r  r   rC   r!  r   r  rG   s   &r#   test_empty_maildir"MaildirTestCase.test_empty_maildir3	  sN     OOI$4$45	 	$))..*+$))..*+r&   c                p   V P                  R 4       \        P                  ! \        P                  4      V n        V P                  V P
                  P                  4       4       V P                  V P
                  P                  4       4       V P                  V P
                  P                  4       4       R# )r  N	r$  r   r  r   rC   r!  r9  r  r   rG   s   &r#   test_nonempty_maildir_cur)MaildirTestCase.test_nonempty_maildir_cur=	  q    5!OOI$4$45	TYY^^-.$))..*+$))..*+r&   c                p   V P                  R 4       \        P                  ! \        P                  4      V n        V P                  V P
                  P                  4       4       V P                  V P
                  P                  4       4       V P                  V P
                  P                  4       4       R# )r  Nr*  rG   s   &r#   test_nonempty_maildir_new)MaildirTestCase.test_nonempty_maildir_newE	  r-  r&   c                   V P                  R 4       V P                  R4       \        P                  ! \        P                  4      V n        V P                  V P
                  P                  4       4       V P                  V P
                  P                  4       4       V P                  V P
                  P                  4       4       V P                  V P
                  P                  4       4       R# )r  r  Nr*  rG   s   &r#   test_nonempty_maildir_both*MaildirTestCase.test_nonempty_maildir_bothM	  s    5!5!OOI$4$45	TYY^^-.TYY^^-.$))..*+$))..*+r&   )r  r  r  r!  Nr?  )r2   r3   r4   r5   rH   rL   r$  r'  r+  r/  r2  r<   r=   r>   s   @r#   r	  r	  	  s-     #(,,,, ,r&   r	  aK  Return-Path: <gkj@gregorykjohnson.com>
X-Original-To: gkj+person@localhost
Delivered-To: gkj+person@localhost
Received: from localhost (localhost [127.0.0.1])
        by andy.gregorykjohnson.com (Postfix) with ESMTP id 356ED9DD17
        for <gkj+person@localhost>; Wed, 13 Jul 2005 17:23:16 -0400 (EDT)
Delivered-To: gkj@sundance.gregorykjohnson.com
Received: from localhost [127.0.0.1]
        by localhost with POP3 (fetchmail-6.2.5)
        for gkj+person@localhost (single-drop); Wed, 13 Jul 2005 17:23:16 -0400 (EDT)
Received: from andy.gregorykjohnson.com (andy.gregorykjohnson.com [64.32.235.228])
        by sundance.gregorykjohnson.com (Postfix) with ESMTP id 5B056316746
        for <gkj@gregorykjohnson.com>; Wed, 13 Jul 2005 17:23:11 -0400 (EDT)
Received: by andy.gregorykjohnson.com (Postfix, from userid 1000)
        id 490CD9DD17; Wed, 13 Jul 2005 17:23:11 -0400 (EDT)
Date: Wed, 13 Jul 2005 17:23:11 -0400
From: "Gregory K. Johnson" <gkj@gregorykjohnson.com>
To: gkj@gregorykjohnson.com
Subject: Sample message
Message-ID: <20050713212311.GC4701@andy.gregorykjohnson.com>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="NMuMz9nt05w80d4+"
Content-Disposition: inline
User-Agent: Mutt/1.5.9i


--NMuMz9nt05w80d4+
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

This is a sample message.

--
Gregory K. Johnson

--NMuMz9nt05w80d4+
Content-Type: application/octet-stream
Content-Disposition: attachment; filename="text.gz"
Content-Transfer-Encoding: base64

H4sICM2D1UIAA3RleHQAC8nILFYAokSFktSKEoW0zJxUPa7wzJIMhZLyfIWczLzUYj0uAHTs
3FYlAAAA

--NMuMz9nt05w80d4+--
r   c                   &   a  ] tR tRt o R tRtV tR# )MiscTestCasei	  c                D    \         P                  ! V \        R R0R7       R# )r   fcntl)not_exportedN)r   check__all__r   rG   s   &r#   test__all__MiscTestCase.test__all__	  s    T7+4g*>	@r&   r1   N)r2   r3   r4   r5   r:  r<   r=   r>   s   @r#   r5  r5  	  s     @ @r&   r5  c                      \         P                  ! 4        \        P                  ! 4       '       d   \        P
                  ! 4        R # R # r   )r   reap_childrenr   hunting_for_refleaksr  _clear_internal_cachesr1   r&   r#   tearDownModuler@  	  s.    **,,""$ -r&   __main__))zReturn-Pathz<gkj@gregorykjohnson.com>)zX-Original-Togkj+person@localhost)Delivered-TorB  )Receivedzfrom localhost (localhost [127.0.0.1])
        by andy.gregorykjohnson.com (Postfix) with ESMTP id 356ED9DD17
        for <gkj+person@localhost>; Wed, 13 Jul 2005 17:23:16 -0400 (EDT))rC  z gkj@sundance.gregorykjohnson.com)rD  zfrom localhost [127.0.0.1]
        by localhost with POP3 (fetchmail-6.2.5)
        for gkj+person@localhost (single-drop); Wed, 13 Jul 2005 17:23:16 -0400 (EDT))rD  zfrom andy.gregorykjohnson.com (andy.gregorykjohnson.com [64.32.235.228])
        by sundance.gregorykjohnson.com (Postfix) with ESMTP id 5B056316746
        for <gkj@gregorykjohnson.com>; Wed, 13 Jul 2005 17:23:11 -0400 (EDT))rD  ztby andy.gregorykjohnson.com (Postfix, from userid 1000)
        id 490CD9DD17; Wed, 13 Jul 2005 17:23:11 -0400 (EDT))r%  zWed, 13 Jul 2005 17:23:11 -0400)r+  z."Gregory K. Johnson" <gkj@gregorykjohnson.com>)r&  zgkj@gregorykjohnson.com)r'  zSample message)zMime-Versionz1.0)zContent-Typez,multipart/mixed; boundary="NMuMz9nt05w80d4+")zContent-Dispositioninline)r#  zMutt/1.5.9i)z1This is a sample message.

--
Gregory K. Johnson
zRH4sICM2D1UIAA3RleHQAC8nILFYAokSFktSKEoW0zJxUPa7wzJIMhZLyfIWczLzUYj0uAHTs
3FYlAAAA
)<r(   r  r'  r2  r   email.messager5  r]   r   testr   test.supportr   r   r   r   r  r  r   r  has_gethostnameSkipTestr	   rA   TestCaser  r  r  r  r  r5  r:  rl  r~  r  r  r  r  r  r  r  r  r  r0  r2  r  r  r  r  r  r	  r[   rj   r_   r   r   r5  r@  r2   mainr1   r&   r#   <module>rM     s   	 
     	 	   & " ' &     $$$


9
::% %8z$( z$z!DHh&7&7 !DH{%+x00 {%|O+k O+dKO K\+/}h// +/\L}h// L
Z>[(++ Z>zE!2!2 ED '// 	1h'' 	1S(H-- SlG h&7&7 G T2! 2!j#*K #
EK!2!2 E>4;{H$5$5 4;n#*K #
INHh&7&7 INXP& P&f.9%x'8'8 .9b0H'):): 0Hj 	BM,h'' M,d-^ (..w7 4 @8$$ @% zMMO r&   