
    h
5                        S SK r S SKrS SKrS SKrS SKrS\R
                  S'   Sr\" \R                  5      S/S-  -   r	\
" S5      r\" S\-  5      rSS	 jrS
 rS rS rS rS rS rS r\S:X  a  \" 5         \" 5         \" 5         gg)    NTrecursez_test_file.txt
(   zinvalid buffer sizez)[Errno 2] No such file or directory: '%s'c                    [        [        S5      n[        U 5       H,  nUR                  [        R
                  " [        5      5        M.     UR                  5         [        [        S5      nUR                  5       nUR                  5         U$ )Nwr)	openfnamerangewriterandomchoice
rand_charscloseread)numberficontentss       N/home/james-whalen/.local/lib/python3.13/site-packages/dill/tests/test_file.pywrite_randomnessr      s_    UCA6]	j)* GGIUCAvvxHGGIO    c                  @    [        [        S5      R                  5         g )Nr   )r	   r
   r    r   r   
trunc_filer   %   s    r   c                      U " U6   g! [        U5       a2    [        R                  " 5       S   R                  UR                  :H  s $ f = f)NF   )typesysexc_infoargs)opr!   excs      r   throwsr$   )   sH    
D	  9 2||~a %%112s    >A	A	c                      [         R                  R                  [        5      (       a  [         R                  " [        5        g g )N)ospathexistsr
   remover   r   r   teardown_moduler*   2   s&    	ww~~e
		% r   c                 B-   SS K nU(       a  UR                  5       S:X  a  g [        5         [        [        S5      n[
        R                  " [
        R                  " XAS95      nUR                  UR                  :X  d   eUR                  5       UR                  5       :X  d   eUR                  5       UR                  5       :X  d   eUR                  5         UR                  5         [        [        S5      nUR                  S5        [
        R                  " XAS9nUR                  nUR                  5       nUR                  5         [
        R                  " U5      n	U	R                  n
U	R                  5       nU	R                  nU	R                  S5        U	R                  5         U[
        R                  :X  a3  [        [        5      R                  5       S:X  d   eX:X  d   eUS:X  d   eOU[
        R                  :X  a>  [        [        5      R                  5       S:X  d   eX:X  d   eX:X  d   eU[        :X  d   eOTU[
        R                   :X  a2  [        [        5      R                  5       S:X  d   eX:X  d   eX:X  d   eO[#        S	U-  5      e[%        5         [        [        S
5      nUR                  S5        [
        R                  " XAS9nUR                  nUR                  5       nUR                  5         [
        R                  " U5      n	U	R                  n
U	R                  5       nU	R                  S5        U	R                  5         X:X  d   eU[
        R                  :X  a+  [        [        5      R                  5       S:X  d   eX:X  d   eOU[
        R                  :X  a+  [        [        5      R                  5       S:X  d   eX:X  d   eOMU[
        R                   :X  a+  [        [        5      R                  5       S:X  d   eX:X  d   eO[#        S	U-  5      e[        5         [        [        S5      nUR                  5       n[
        R                  " XAS9nUR                  nUR                  5       nUR                  5         Sn[        US9nU (       a)  ['        [
        R                  U4[(        5      (       d   eGO[
        R                  " U5      n	U	R                  U:X  d   eU[
        R                  :X  aj  U	R                  5       U:X  d   eU	R                  5       S:X  d   eU	R+                  S5        U	R                  5       U:X  d   eU	R                  5       U:X  d   eOU[
        R                  :X  aC  U	R                  5       S:X  d   eU	R                  5       U:X  d   eU	R                  5       U:X  d   eOU[
        R                   :X  aj  U	R                  5       U:X  d   eU	R                  5       S:X  d   eU	R+                  S5        U	R                  5       U:X  d   eU	R                  5       U:X  d   eO[#        S	U-  5      eU	R                  5         [        5         [        [        S5      nUR                  S5        [
        R                  " XAS9nUR                  nUR                  5       nUR                  5         [        [        5      R                  5       n[        [        S5      nUR                  S5        UR                  5       nUR                  5         U (       a)  ['        [
        R                  U4[(        5      (       d   eGOE[
        R                  " U5      n	U	R                  n
U	R                  5       nU	R                  S5        U	R                  5         U[
        R                  :X  a3  [        [        5      R                  5       S:X  d   eX:X  d   eUU:X  d   eOU[
        R                  :X  a3  [        [        5      R                  5       S:X  d   eX:X  d   eUS:X  d   eOTU[
        R                   :X  a2  [        [        5      R                  5       S:X  d   eX:X  d   eX:X  d   eO[#        S	U-  5      eU	R                  5         [%        5         [        [        S
5      nUR                  S5        [
        R                  " XAS9nUR                  nUR                  5       nUR                  5         [        [        5      R                  5       n[        [        S5      nUR                  S5        UR                  5       nUR                  5         U (       a)  ['        [
        R                  U4[(        5      (       d   eGO7[
        R                  " U5      n	U	R                  n
U	R                  5       nU	R                  S5        U	R                  5         X:X  d   eU[
        R                  :X  a,  [        [        5      R                  5       S:X  d   eUU:X  d   eOU[
        R                  :X  a,  [        [        5      R                  5       S:X  d   eUU:X  d   eOMU[
        R                   :X  a+  [        [        5      R                  5       S:X  d   eX:X  d   eO[#        S	U-  5      eU	R                  5         [        5         [        [        S5      nUR                  5       n[
        R                  " XAS9nUR                  nUR                  5       nUR                  5         [,        R.                  " [        5        U (       a)  ['        [
        R                  U4[0        5      (       d   eGO[
        R                  " U5      n	U	R                  U:X  d   eU[
        R                  :X  aT  U	R                  5       S:X  d   eU	R+                  S5        U	R                  5       S:X  d   eU	R                  5       S:X  d   eOU[
        R                   :X  aj  U	R                  5       U:X  d   eU	R                  5       S:X  d   eU	R+                  S5        U	R                  5       U:X  d   eU	R                  5       U:X  d   eOeU[
        R                  :X  aC  U	R                  5       S:X  d   eU	R                  5       S:X  d   eU	R                  5       S:X  d   eO[#        S	U-  5      eU	R                  5         [        5         [        [        S5      nUR                  S5        [
        R                  " XAS9nUR                  5       nUR                  nUR                  5         [,        R.                  " [        5        U (       a)  ['        [
        R                  U4[0        5      (       d   eGO6[
        R                  " U5      n	U	R                  n
U	R                  5       nU	R                  S5        U	R                  5         U[
        R                  :X  a4  [        [        5      R                  5       S:X  d   eU
S:X  d   eUS:X  d   eOU[
        R                  :X  a3  [        [        5      R                  5       S:X  d   eX:X  d   eUS:X  d   eOTU[
        R                   :X  a2  [        [        5      R                  5       S:X  d   eX:X  d   eX:X  d   eO[#        S	U-  5      e[%        5         [        [        S
5      nUR                  S5        [
        R                  " XAS9nUR                  5       nUR                  nUR                  5         [,        R.                  " [        5        U (       a)  ['        [
        R                  U4[0        5      (       d   eGO'[
        R                  " U5      n	U	R                  n
U	R                  5       nU	R                  S5        U	R                  5         X:X  d   eU[
        R                  :X  a,  [        [        5      R                  5       S:X  d   eUS:X  d   eOU[
        R                  :X  a,  [        [        5      R                  5       S:X  d   eUS:X  d   eOMU[
        R                   :X  a+  [        [        5      R                  5       S:X  d   eX:X  d   eO[#        S	U-  5      e[        5         [        [        S5      nUR                  5       n[
        R                  " XAS9nUR                  nUR                  5       nUR                  5         Sn[        US9n[
        R                  " U5      n	U	R                  U:X  d   eU[
        R                  :X  al  U	R                  5       U:X  d   eU	R                  5       XS  :X  d   eU	R+                  S5        U	R                  5       U:X  d   eU	R                  5       U:X  d   eOU[
        R                  :X  aC  U	R                  5       S:X  d   eU	R                  5       U:X  d   eU	R                  5       U:X  d   eOU[
        R                   :X  aj  U	R                  5       U:X  d   eU	R                  5       S:X  d   eU	R+                  S5        U	R                  5       U:X  d   eU	R                  5       U:X  d   eO[#        S	U-  5      eU	R                  5         [        [        S5      nUR                  S5        [
        R                  " XAS9nUR                  nUR                  5       n[        [        5      R                  5       nUR                  S5        UR                  5       nUR                  5         [
        R                  " U5      n	U	R                  n
U	R                  5       nU	R                  S5        U	R                  5         U[
        R                  :X  a2  [        [        5      R                  5       S:X  d   eX:X  d   eX:X  d   eOU[
        R                  :X  a3  [        [        5      R                  5       S:X  d   eX:X  d   eUS:X  d   eOTU[
        R                   :X  a2  [        [        5      R                  5       S:X  d   eX:X  d   eX:X  d   eO[#        S	U-  5      eU	R                  5         [%        5         [        [        S
5      nUR                  S5        [
        R                  " XAS9nUR                  nUR                  5       n[        [        5      R                  5       nUR                  S5        UR                  5       nUR                  5         [
        R                  " U5      n	U	R                  n
U	R                  5       nU	R                  S5        U	R                  5         X:X  d   eU[
        R                  :X  a+  [        [        5      R                  5       S:X  d   eX:X  d   eOU[
        R                  :X  a,  [        [        5      R                  5       S:X  d   eUU:X  d   eOMU[
        R                   :X  a+  [        [        5      R                  5       S:X  d   eX:X  d   eO[#        S	U-  5      eU	R                  5         g )Nr   PyPyr   )fmoder   helloz world!zhello world!zUnknown file mode '%s'a   )r    hzh world!zw+   z and goodbye!zhello world!odbye!zhello and goodbye! world!)platformpython_implementationr   r	   r
   dillloadsdumpsmodetellr   r   r   nameHANDLE_FMODECONTENTS_FMODE
FILE_FMODERuntimeErrorr   r$   buffer_errorseekr&   r)   	dne_error)strictior-   skippypyr4   r   _ff_dumpedf1modeftellf2f2modef2tellf2namefstr_flen_fstr_ftells                    r   benchrQ   7   sx   H224>
 UCA	DJJq.	/B77aff779   779   GGIHHJ 	UCAGGGzz!)HVVFFFHEGGI	H	BWWFWWYFWWFHHYHHJ!!!E{!Y...{{	$%%	%E{!^333	$//	!E{!^3333e;<< LUCAGGGzz!)HVVFFFHEGGI	H	BWWFWWYFHHYHHJ###E{!^333	$##	#E{!^333	$//	!E{!^3333e;<<
 UCA668Dzz!)HVVFFFHEGGIEE*Edjj8+|<<<<ZZ!ww&   D'''779%%%779?"?GGAJ779%%%779%%%d'''779>!>779%%%779%%%doo%779%%%779?"?GGAJ779$$$779%%%7%?@@

 UCAGGGzz!)HVVFFFHEGGI;DUCAGGCLVVXFGGIdjj8+|<<<<ZZ!


D''';##%333###V###d''';##%222###Q;;doo%;##%777###?"?7%?@@

 LUCAGGGzz!)HVVFFFHEGGI;DUCAGGCLVVXFGGIdjj8+|<<<<ZZ!


D''';##%333V###d''';##%333V###doo%;##%777?"?7%?@@


 UCA668Dzz!)HVVFFFHEGGIIIedjj8+y9999ZZ!ww&   D''' 779?"?GGAJ779?"?779>!>doo%779%%%779?"?GGAJ779$$$779%%%d'''779>!>779?"?779>!>7%?@@

 UDAGGGzz!)HFFHEVVFGGIIIedjj8+y9999ZZ!


D''';##%222T>!>Q;;d''';##%222###Q;;doo%;##%777###?"?7%?@@ LUCAGGGzz!)HFFHEVVFGGIIIedjj8+y9999ZZ!


D''';##%222Q;;d''';##%222Q;;doo%;##%777?"?7%?@@
 UCA668Dzz!)HVVFFFHEGGIEE*E 
H	B77f###wwyE!!!wwyE&M)))

wwyE!!!wwyE!!!	$##	#wwyA~~wwyE!!!wwyE!!!	$//	!wwyE!!!wwyB

wwyD   wwyE!!!3e;<<HHJ 	UCAGGGzz!)HVVFFFHE;DGGOVVXFGGI 
H	BWWFWWYFHHYHHJ###E{!%9999	$##	#E{!Y...{{	$//	!E{!^3333e;<<HHJ LUCAGGGzz!)HVVFFFHE;DGGOVVXFGGI 
H	BWWFWWYFHHYHHJ###E{!%@@@@	$##	#E{!%@@@@	$//	!E{!^3333e;<<HHJr   c                  N    [        S[        R                  S5        [        5         g NF)rQ   r6   r<   r*   r   r   r   test_nostrictio_handlefmoderT     s    	%""E*r   c                  N    [        S[        R                  S5        [        5         g rS   )rQ   r6   r>   r*   r   r   r   test_nostrictio_filefmoderV     s    	%%(r   c                  N    [        S[        R                  S5        [        5         g )NFT)rQ   r6   r=   r*   r   r   r   test_nostrictio_contentsfmoderX     s    	%$$d+r   __main__)   )r&   r   stringr   r6   settingsr
   listascii_lettersr   
ValueErrorr@   FileNotFoundErrorrB   r   r   r$   r*   rQ   rT   rV   rX   __name__r   r   r   <module>rb      s    
 
     i &&&'4&2+5
/0IEQR	
cL

 z!!# r   