+
    UBix                        ^ RI Ht ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt]P                  '       d   ^ RI
t
^RIHt R R ltR
tRt ! R R4      tR R	 ltR# )    )annotationsN)get_meson_commandc                    V ^8  d   QhRRRR/# )   parserz'argparse.ArgumentParser'returnNone )formats   "A/usr/lib/python3.14/site-packages/mesonbuild/scripts/reprotest.py__annotate__r      s     D D3 D D    c                X    V P                  R RRRR7       V P                  RRRR7       R	# )
z--intermediariesF
store_truezCheck intermediate files.)defaultactionhelp	mesonargs*z#Arguments to pass to "meson setup".)nargsr   N)add_argument)r   s   &r   add_argumentsr      s>    
* %+8  : 3B  Dr   c                      ] tR t^'tR R ltR R ltR R ltR R ltR	 R
 ltR R lt	R R lt
R R ltR R ltRtR# )ReproTesterc                   V ^8  d   QhRR/# )r   optionsT.Anyr
   )r   s   "r   r   ReproTester.__annotate__(   s     ; ; ;r   c                	    VP                   V n        \        4       R ,          V n        \        P
                  ! R4      V n        \        P
                  ! R4      V n        . V n        VP                  V n
        R# ):NNN
buildreprobuildrepro.1stN)r   argsr   mesonpathlibPathbuilddir
storagedirissuesintermediariescheck_intermediaries)selfr   s   &&r   __init__ReproTester.__init__(   sT    %%	&(+
\2!,,'78#%$+$:$:!r   c                   V ^8  d   QhRR/# )r   r   intr
   )r   s   "r   r   r   0   s     
  
 S 
 r   c                	   \         P                  P                  R 4      '       g   \        P                  ! R4       V P                  4        V P                  4        V P                  4        V P                  4        V P                  4        V P                  '       g   V P                  4        \        V P                  4      # )zmeson.buildz9This command needs to be run at your project source root.)ospathisfilesysexitdisable_ccachecleanupbuildcheck_outputprint_resultsr(   lenr+   s   &r   runReproTester.run0   sy    ww~~m,,HHPQ

{{{LLN4;;r   c                   V ^8  d   QhRR/# r   r   r	   r
   )r   s   "r   r   r   <   s     + + +r   c                	,    R \         P                  R&   R# )1CCACHE_DISABLEN)r1   environr<   s   &r   r6   ReproTester.disable_ccache<   s    '*

#$r   c                   V ^8  d   QhRR/# r@   r
   )r   s   "r   r   r   ?   s     + + +r   c                	
   V P                   P                  4       '       d!   \        P                  ! V P                   4       V P                  P                  4       '       d#   \        P                  ! V P                  4       R # R # )N)r&   existsshutilrmtreer'   r<   s   &r   r7   ReproTester.cleanup?   sM    ==!!MM$--(??!!##MM$//* $r   c                   V ^8  d   QhRR/# r@   r
   )r   s   "r   r   r   E   s     - -t -r   c                	   V P                   R \        V P                  4      .,           V P                  ,           pV P                   RR\        V P                  4      .,           p\        P
                  ! V4       \        P
                  ! V4       V P                  P                  V P                  4       \        P
                  ! V4       \        P
                  ! V4       R# )setupcompilez-CN)r#   strr&   r"   
subprocess
check_callrenamer'   )r+   setup_commandbuild_commands   &  r   r8   ReproTester.buildE   s    )-wDMM@R6S)SVZV_V_)_)-y$DMMHZ6[)[m,m,T__-m,m,r   c                    V ^8  d   QhRRRR/# )r   fstrrP   r   boolr
   )r   s   "r   r   r   N   s        r   c                	    \          F  pW!9   g   K   R # 	  V P                  '       g   VP                  \        4      '       d   R # R# )TF)IGNORE_PATTERNSr*   endswithINTERMEDIATE_EXTENSIONS)r+   rX   ps   && r   ignore_fileReproTester.ignore_fileN   s8     Ay ! (((}}455r   c               (    V ^8  d   QhRRRRRRRR/# )r   fromdirrP   todircheck_contentsrY   r   r	   r
   )r   s   "r   r   r   W   s/     L Lc L# Lt LPT Lr   c                	|   ^ RI pVR,           pVR,           p\        P                  ! V4      P                  R4       F  pVP	                  4       '       g   K  VP                  4       pV P                  V4      '       d   KD  VP                  V4      '       g   Q h\        P                  ! VP                  WV^4      4      p	V	P                  4       '       g!   V P                  P                  RV	 24       K  V'       g   K  VP                  WyRR7      '       d   K  V P                  P                  RV 24       K  	  R# )r   N/z**/*zMissing file: F)shallowzFile contents differ: )filecmpr$   r%   globis_fileas_posixr_   
startswithreplacerH   r(   appendcmp)
r+   rb   rc   rd   rh   frompathtopathfromfilerX   tofiles
   &&&&      r   rd   ReproTester.check_contentsW   s    S=W-226:H##%%$$&D%%??8,,,,\\$,,x"CDF==??""^F8#<={{8U{CCKK&&)?z'JK ;r   c                   V ^8  d   QhRR/# r@   r
   )r   s   "r   r   r   i   s     . .t .r   c                	    V P                   '       d,   \        R 4       V P                    F  p\        V4       K  	  R# \        R4       R# )zBuild differences detectedzNo differences detected.N)r(   print)r+   is   & r   r:   ReproTester.print_resultsi   s4    ;;;./[[a ! ,-r   c                   V ^8  d   QhRR/# r@   r
   )r   s   "r   r   r   q   s     C Cd Cr   c                	R    V P                  R RR4       V P                  RR R4       R# )r    r!   TFN)rd   r<   s   &r   r9   ReproTester.check_outputq   s(    L*:DA,lEBr   )r"   r&   r*   r(   r#   r'   N)__name__
__module____qualname____firstlineno__r,   r=   r6   r7   r8   r_   rd   r:   r9   __static_attributes__r
   r   r   r   r   '   s7    ;
 ++-L$.C Cr   r   c                    V ^8  d   QhRRRR/# )r   r   r   r   r	   r
   )r   s   "r   r   r   u   s       4 r   c                    \        V 4      p \        P                  ! VP                  4       4       R#   \         d-   p\        T4       \        P                  ! ^4        Rp?R# Rp?ii ; i)   N)r   r4   r5   r=   	Exceptionrw   )r   rtes   &  r   r=   r=   u   sG    	W	B as   $3 A*!A%%A*)z
.ninja_logz.ninja_depszmeson-privatez
meson-logsz
meson-info)z.gchz.pchz.oz.objz.class)
__future__r   r4   r1   rQ   rI   r$   typingTTYPE_CHECKINGargparsemesonlibr   r   r[   r]   r   r=   r
   r   r   <module>r      sN    # " "  ??? (D LC LC\r   