+
     [;i  c                   sX   ^RI 5 ^ RIHt ^ RIHt ^ RIHtHt ^ RIH	t	 ^ RI
HtHtHtHt  ^ RIHt  ! R R	]P&                  4      t ! R
 R]4      t ! R R]	4      t ! R R]4      t ! R R]4      t ! R R]4      tRR lt]R8X  d   ]P;                  4        R# R#    ^ RIHt  Lv; i)i   )Z*)Tracer)Rules)ApplicationsApplication)AffectedProcess)ProcessesCollectionPackagesCollectionApplicationsCollectionAffectedProcessesCollection)patchc                   sL   a  ] tR t^t o R t]! RRR7      R 4       tR tRtV t	R# )		TestRulesc                s    \        4       \        n        \        \	        4       \
        \        \        R 7      V n        RV P                  n        \        P                  ! RRRR/4       \        \        n        R# ))memoryi  nameZkernelZignoreTN)r   r   Z_appsr    PackageManagerMockr   dump_memory_mocktracerZ	timestampZ_append_applicationProcessesMockr   Zprocesses_factoryself   &=/usr/lib/python3.14/site-packages/tracer/tests/test_tracer.pysetUpZTestRules.setUp   sO    -/,)+ULIYZ$+$++""FHh#EF"/+    z0tracer.resources.applications.System.init_systemZdummy)Zreturn_valuec           	     s   V P                   P                  4       pV P                  \        V4      \        \        P
                  ! R 4      \        P
                  ! R4      .4      4       V P                  V\        4       R# )bazquxN)r   Ztrace_affectedZassertSetEqualsetr   findassertIsInstancer   )r   Zinit_systemaffected   && r   test_trace_affectedZTestRules.test_trace_affected   sZ    [['')(c(mS,*;*;E*BLDUDUV[D\)]%^_"89r   c                sF   V P                   P                  \        P                  ! R 4      \        4      pV P                  V\        4       V P                  \        V4      ^4       V^ ,          pV P                  V\        4       V P                  VP                  ^4       R# )r   N)r   Ztrace_applicationr   r   AffectedProcessMockr   r   ZassertEqualZlenr   pid)r   r   processs   &  r   test_trace_applicationZ TestRules.test_trace_application    sv    [[**<+<+<U+CEXY("=>3x=!$QK'17;;"r   )r   N)
__name__
__module____qualname____firstlineno__r   r	   r   r"   __static_attributes____classdictcell__Z__classdict__   @r   r
   r
      s1     0 :Q: R:
# #r   r
   c                   sn   a  ] tR t^*t o R tR t]R 4       t]R 4       t]R 4       t	R t
R tR tR	tV tR
# )ProcessMockc                s6    Wn         W@n        W n        W0n        R # N)r    files_name_create_time)r   r    r   create_timer-   s   &&&&&r   __init__ZProcessMock.__init__+   s    (**!r   c                    V P                   # r,   r.   r   r   r   r   ZProcessMock.name1   s    	r   c                r2   r,   r3   r   r   r   	real_nameZProcessMock.real_name4   s    	r   c                    R # F r   r   r   is_interpretedZProcessMock.is_interpreted8   s    	r   c                r5   r6   r7   r   r   r   
is_sessionZProcessMock.is_session<   s    r   c                r2   r,   )r/   r   r   r   r0   ZProcessMock.create_time@   s    			r   c                s    . # r,   r7   r   r   r   childrenZProcessMock.childrenC   s    	)r   c                r5   r,   r7   r   r   r   parentZProcessMock.parentF   s    	r   )r/   r.   r-   r    N)r#   r$   r%   r&   r1   r   Zpropertyr4   r8   r9   r0   r:   r;   r'   r(   r)   r*   r   r+   r+   *   s_     "       r   r+   c                   s*   a  ] tR t^Jt o RR ltRtV tR# )r   Nc                sN    Wn         \        4       V n        \        4       V n        R # r,   )r    r   packagesr-   )r   r    s   &&r   r1   ZAffectedProcessMock.__init__K   s    (%$-u$*r   )r-   r<   r    r,   r#   r$   r%   r&   r1   r'   r(   r)   r*   r   r   r   J   s      r   r   c                   s0   a  ] tR t^Rt o ]R 4       tRtV tR# )r   c                 s    \        \        ^RR. RO4      \        ^RR. RO4      \        ^RR. RO4      \        ^RRR	R
.4      .4      # )i   ZfooiW  Zbari'  r   i
  r   a  file4file9file1Zfile2file3Zfile10Zfile11Zfile12)file7rB   rC   )r   r+   r7   r   r   allZProcessesMock.allS   sT    	q%:;q%=>q%:;q%12	 
 r   r7   N)r#   r$   r%   r&   ZstaticmethodrF   r'   r(   r)   r*   r   r   r   R   s      r   r   c                   s&   a  ] tR t^]t o R tRtV tR# )PackageMockc                s*    Wn         W n        W0n        R # r,   )r   modifiedr-   )r   r   rH   r-   s   &&&&r   r1   ZPackageMock.__init__^   s    )-*r   )r-   rH   r   Nr=   r)   r*   r   rG   rG   ]   s      r   rG   c            	       s   a  ] tR t^dt o ]! RR. RO4      ]! RR. RO4      ]! RR. RO4      ]! RR. RO4      .tR	 tR
 tRtV t	R# )r   ZAi  ZBi\  ZCr>   ZDi"  c                sJ   a \        \        V3R  lV P                  4      4      # )c                 s"   < V P                   S8  # r,   )rH   )Zp	unix_times   &r   Z<lambda>Z8PackageManagerMock.packages_newer_than.<locals>.<lambda>m   s    QZZ9-Dr   )r   Zfilter	_packages)r   rI   s   &fr   packages_newer_thanZ&PackageManagerMock.packages_newer_thanl   s    	F#DdnnU	VVr   c                sj    V P                    F"  pVP                  V8X  g   K  VP                  u # 	  R # r,   )rJ   r   r-   )r   Zpkg_nameZpackager   r   package_filesZ PackageManagerMock.package_fileso   s&    gllh==  r   r7   NrA   )r?   Zfile5Zfile6)rE   Zfile8r@   rD   )
r#   r$   r%   r&   rG   rJ   rK   rL   r'   r(   r)   r*   r   r   r   d   sP     c445c445c445c478	W r   r   Nc                 s    / p\         P                  4        F:  pVP                   F'  pW19   d   W,          P                  V4       K"  V.W&   K)  	  K<  	  V# r,   )r   rF   r-   Zappend)Zuserr   r!   Zfiles   &   r   r   r   u   sM    
!!#W}}t~\!IV\	  $ 	r   Z__main__r,   )Z__meta__Ztracer.resources.tracerr    Ztracer.resources.rulesr   Ztracer.resources.applicationsr   r   Ztracer.resources.processesr   Ztracer.resources.collectionsr   r   r   r   Zunittest.mockr	   ZmockZunittestZTestCaser
   Zobjectr+   r   r   rG   r   r   r#   Zmainr7   r   r   <module>rM      s     * ( C 6  
#!! #0& @/ F &  " z	 es   B B)