+
    Si                         R t ^ RIt^ RIt^ RIHt ^ RIHt  ! R R]P                  4      t ! R R]P                  4      t]	R8X  d   ]P                  ! 4        R# R# )	z%Test using Fire via `python -m fire`.N)__main__)	testutilsc                   0   a  ] tR t^t o RtR tR tRtV tR# )MainModuleTestz:Tests to verify the behavior of __main__ (python -m fire).c                    V P                  R 4      ;_uu_ 4        \        P                  ! RR.4       RRR4       R#   + '       g   i     R# ; i)
gettempdir__main__.pytempfileN)assertOutputMatchesr   mainselfs   &M/home/ubuntu/hermes-agent/venv/lib/python3.14/site-packages/fire/main_test.pytestNameSettingMainModuleTest.testNameSetting   s3    		!	!,	/	/mm]J/0 
0	/	/	/s	   =A	c                   \         P                  P                  R RR4      pV P                  RV,          4      ;_uu_ 4        \        P
                  ! . RO4       RRR4       V P                  RV,          4      ;_uu_ 4        \        P
                  ! . RO4       RRR4       R#   + '       g   i     LS; i  + '       g   i     R# ; i)part1part2part3z%s
N)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	4mm
GI 
5 
	!	!&8"3	4	4mm
OQ 
5	4 
5	4 
5	4	4s   B&B9&B6	9C
	 N)	__name__
__module____qualname____firstlineno____doc__r   r   __static_attributes____classdictcell__)__classdict__s   @r   r   r      s     B1
Q Q    r   c                   N   a a ] tR t^*t oRtV 3R ltR tR tR tR t	Rt
VtV ;t# )MainModuleFileTestz=Tests to verify correct import behavior for file executables.c                   < \         SV `  4        \        P                  ! R R7      V n        V P                  P                  R4       V P                  P                  4        \        P                  ! 4       V n        R# )z.py)suffixs3   class Foo:
  def double(self, n):
    return 2 * n
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           
         V P                  R 4      ;_uu_ 4        \        P                  ! RV P                  P                  RRRR.4       RRR4       R#   + '       g   i     R# ; i)4r   Foodouble--n2N)r
   r   r   r-   namer   s   &r   testFileNameFire#MainModuleFileTest.testFileNameFire5   sG    		!	!#	&	&mm$))..%5#
FH 
'	&	&	&s   1AA&	c           
         V P                  \        4      ;_uu_ 4        \        P                  ! R V P                  P
                  RRRR.4       RRR4       R#   + '       g   i     R# ; i)r   r5   r6   r7   r8   N)assertRaises
ValueErrorr   r   r0   r9   r   s   &r   testFileNameFailure&MainModuleFileTest.testFileNameFailure;   sG    			:	&	&mm$**//5(E3
GI 
'	&	&	&s   1AA*	c                   V P                  R 4      ;_uu_ 4        \        P                  P                  V P                  P
                  4      p\        P                  ! V4      ;_uu_ 4        \        RR4      ;_uu_ 4        \        P                  ! RR.4       RRR4       \        P                  ! R4       RRR4       RRR4       R#   + '       g   i     L8; i  + '       g   i     L-; i  + '       g   i     R# ; i)r   r	   wr   N)r
   r   r   dirnamer-   r9   r   ChangeDirectoryopenr   r   remover   rC   s   & r   testFileNameModuleDuplication0MainModuleFileTest.testFileNameModuleDuplicationA   s    		!	!,	/	/		/g$$W--*c""
--  # 			* . 
0	/ #" .- 
0	/	/s<   AC0,C	C
C	8C0
CC	C-(C00D	c                   V P                  \        R 4      ;_uu_ 4        \        P                  P	                  V P
                  P                  4      p\        P                  ! V4      ;_uu_ 4        \        RR4      ;_uu_ 4        \        P                  ! RR.4       RRR4       \        P                  ! R4       RRR4       RRR4       R#   + '       g   i     L8; i  + '       g   i     L-; i  + '       g   i     R# ; i)z'Fire can only be called on \.py files\.foobarrB   r   N)assertRaisesRegexr>   r   r   rC   r-   r9   r   rD   rE   r   r   rF   rG   s   & r   testFileNameModuleFileFailure0MainModuleFileTest.testFileNameModuleFileFailureN   s    			
 J
L 
L		/g$$W--(C  
--  ! 			( .
L 
L !  .-
L 
L 
Ls<   AC51C"	CC"	=C5CC"	"C2-C55D	)r-   r0   )r   r   r   r    r!   r+   r:   r?   rH   rM   r"   r#   __classcell__)r1   r$   s   @@r   r'   r'   *   s(     E/HI r%   r'   r   )r!   r   r	   firer   r   BaseTestCaser   r'   r   r   r   r%   r   <module>rR      sV    , 	   QY++ Q$0// 0f z.. r%   