
    `                     f    d Z ddlmZ ddlZddlZddgZ G d de          Z G d de          ZdS )z(Provide base classes for the test system    )TestCaseNTestBaseFileCreatorc                   \    e Zd ZdZdZddZd Zd Zd Ze	d             Z
e	d	             Zd
S )r   zA instance which creates a temporary file with a prefix and a given size
    and provides this info to the user.
    Once it gets deleted, it will remove the temporary file as well.)_size_path c                 h   |s
J d            t          j        |          | _        || _        t	          | j        d          5 }|                    |dz
             |                    d           d d d            n# 1 swxY w Y   t          j        	                    | j                  |k    sJ d S )NzRequire size to be larger 0)prefixwb      1)
tempfilemktempr   r   openseekwriteospathgetsize)selfsizer   fps       .lib/python3.11/site-packages/smmap/test/lib.py__init__zFileCreator.__init__   s    222222_F333

$*d## 	rGGD1HHHTNNN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 wty))T111111s   .A==BBc                 \    	 t          j        | j                   d S # t          $ r Y d S w xY wN)r   remover   OSErrorr   s    r   __del__zFileCreator.__del__   sA    	Idi      	 	 	DD	s    
++c                     | S r    r    s    r   	__enter__zFileCreator.__enter__%   s        c                 .    |                                   d S r   )r!   )r   exc_type	exc_value	tracebacks       r   __exit__zFileCreator.__exit__(   s    r%   c                     | j         S r   )r   r    s    r   r   zFileCreator.path+   
    zr%   c                     | j         S r   )r   r    s    r   r   zFileCreator.size/   r,   r%   N)r	   )__name__
__module____qualname____doc__	__slots__r   r!   r$   r*   propertyr   r   r#   r%   r   r   r      s        H H #I
2 
2 
2 
2         X   X  r%   c                   ,    e Zd ZdZdZed             ZdS )r   zFoundation used by all testsiK&z c                     d S r   r#   )clss    r   setUpAllzTestBase.setUpAll?   s	     	r%   N)r.   r/   r0   r1   k_window_test_sizeclassmethodr7   r#   r%   r   r   r   6   s=        && 0   [  r%   )	r1   unittestr   r   r   __all__objectr   r   r#   r%   r   <module>r=      s    . .       				 }
%
& & & & && & & &V    x     r%   