
    .Ph                     d    d Z ddlmZ ddlZddlZddgZ G d d          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                 P   |s
J d            || _         t          j        d|d          5 }|j        | _        |                    |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wbF)prefixdelete      1)
r   tempfileNamedTemporaryFilenamer   seekwriteospathgetsize)selfsizer   files       N/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/smmap/test/lib.py__init__zFileCreator.__init__   s    222222
(fUKKK 	tDJIIdQhJJt	 	 	 	 	 	 	 	 	 	 	 	 	 	 	
 wty))T111111s   :A11A58A5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/   r0   r1   r2   k_window_test_sizeclassmethodr8   r$   r&   r   r   r   6   s=        && 0   [  r&   )r2   unittestr   r   r   __all__r   r   r$   r&   r   <module>r=      s    . .       				 }
%
& & & & & & & &V    x     r&   