
    g                     V    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y)z(Provide base classes for the test system    )TestCaseNTestBaseFileCreatorc                   N    e Zd ZdZdZd
dZd Zd Zd Ze	d        Z
e	d        Zy	)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_pathc                 F   |sJ d       || _         t        j                  d|d      5 }|j                  | _        |j                  |dz
         |j                  d       d d d        t        j                  j                  | j                        |k(  sJ y # 1 sw Y   8xY w)NzRequire size to be larger 0wbF)prefixdelete      1)
r   tempfileNamedTemporaryFilenamer   seekwriteospathgetsize)selfsizer   files       C/var/www/openai/venv/lib/python3.12/site-packages/smmap/test/lib.py__init__zFileCreator.__init__   s    222t
((fUKtDJIIdQhJJt L
 wwtyy)T111 LKs   7BB c                 b    	 t        j                  | j                         y # t        $ r Y y w xY wN)r   remover   OSErrorr   s    r   __del__zFileCreator.__del__   s)    	IIdii  		s   " 	..c                     | S r    r    s    r   	__enter__zFileCreator.__enter__%   s        c                 $    | j                          y 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+       zzr%   c                     | j                   S r   )r   r    s    r   r   zFileCreator.size/   r,   r%   N) )__name__
__module____qualname____doc__	__slots__r   r!   r$   r*   propertyr   r   r#   r%   r   r   r      sK    H #I
2    r%   c                   $    e Zd ZdZdZed        Zy)r   zFoundation used by all testsiK&z c                      y 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=      s2    .  	 }
%
& &Vx r%   