
    i                         S r SSKrSSKrSSKJr  SSKJr   " S S\R                  5      r " S S\R                  5      r\	S	:X  a  \R                  " 5         gg)
z%Test using Fire via `python -m fire`.    N)__main__)	testutilsc                   $    \ rS rSrSrS rS rSrg)MainModuleTest   z:Tests to verify the behavior of __main__ (python -m fire).c                     U R                  S5         [        R                  " SS/5        S S S 5        g ! , (       d  f       g = f)N
gettempdir__main__.pytempfile)assertOutputMatchesr   mainselfs    N/var/www/html/banglarbhumi/venv/lib/python3.13/site-packages/fire/main_test.pytestNameSettingMainModuleTest.testNameSetting   s-    		!	!,	/mm]J/0 
0	/	/s	   4
Ac                 ^   [         R                  R                  SSS5      nU R                  SU-  5         [        R
                  " / SQ5        S S S 5        U R                  SU-  5         [        R
                  " / SQ5        S S S 5        g ! , (       d  f       ND= f! , (       d  f       g = f)Npart1part2part3z%s
)r
   zos.pathjoinr   r   r   )r
   ospath-r   r   r   r   )r   r   r   r   r   r   )r   expecteds     r   testArgPassingMainModuleTest.testArgPassing    s    ww||GWg6H		!	!&8"3	4mm
GI 
5 
	!	!&8"3	4mm
OQ 
5	4 
5	4 
5	4s   B+B
B
B, N)__name__
__module____qualname____firstlineno____doc__r   r   __static_attributes__r       r   r   r      s    B1
Qr%   r   c                   D   ^  \ rS rSrSrU 4S jrS rS rS rS r	Sr
U =r$ )	MainModuleFileTest*   z=Tests to verify correct import behavior for file executables.c                    > [         TU ]  5         [        R                  " SS9U l        U R                  R                  S5        U R                  R                  5         [        R                  " 5       U l        g )Nz.py)suffixs3   class Foo:
  def double(self, n):
    return 2 * n
)supersetUpr   NamedTemporaryFilefilewriteflushfile2)r   	__class__s    r   r,   MainModuleFileTest.setUp-   sM    	GMO++59DIIIOOMNIIOO,,.DJr%   c           	          U R                  S5         [        R                  " SU R                  R                  SSSS/5        S S S 5        g ! , (       d  f       g = f)N4r
   Foodouble--n2)r   r   r   r.   namer   s    r   testFileNameFire#MainModuleFileTest.testFileNameFire5   sA    		!	!#	&mm$))..%5#
FH 
'	&	&s   1A
Ac           	          U R                  [        5         [        R                  " SU R                  R
                  SSSS/5        S S S 5        g ! , (       d  f       g = f)Nr
   r6   r7   r8   r9   )assertRaises
ValueErrorr   r   r1   r:   r   s    r   testFileNameFailure&MainModuleFileTest.testFileNameFailure;   sA    			:	&mm$**//5(E3
GI 
'	&	&s   1A
Ac                    U R                  S5         [        R                  R                  U R                  R
                  5      n[        R                  " U5         [        SS5         [        R                  " SS/5        S S S 5        [        R                  " S5        S S S 5        S S S 5        g ! , (       d  f       N5= f! , (       d  f       N(= f! , (       d  f       g = f)Nr	   r   wr
   )r   r   r   dirnamer.   r:   r   ChangeDirectoryopenr   r   remover   rD   s     r   testFileNameModuleDuplication0MainModuleFileTest.testFileNameModuleDuplicationA   s    		!	!,	/		/g$$W-*c"
--  # 			* . 
0	/ #" .- 
0	/s<   A
CC)B1C C1
B?;C
C	C
C!c                    U R                  [        S5         [        R                  R	                  U R
                  R                  5      n[        R                  " U5         [        SS5         [        R                  " SS/5        S S S 5        [        R                  " S5        S S S 5        S S S 5        g ! , (       d  f       N5= f! , (       d  f       N(= f! , (       d  f       g = f)Nz'Fire can only be called on \.py files\.foobarrC   r
   )assertRaisesRegexr?   r   r   rD   r.   r:   r   rE   rF   r   r   rG   rH   s     r   testFileNameModuleFileFailure0MainModuleFileTest.testFileNameModuleFileFailureN   s    			
 J
L		/g$$W-(C 
--  ! 			( .
L 
L !  .-
L 
Ls<   A
C!C.B6C%C6
C C
C	C
C&)r.   r1   )r   r    r!   r"   r#   r,   r;   r@   rI   rN   r$   __classcell__)r2   s   @r   r'   r'   *   s&    E/HI r%   r'   r   )r#   r   r   firer   r   BaseTestCaser   r'   r   r   r   r%   r   <module>rS      sV    , 	   QY++ Q$0// 0f z.. r%   