
     j                         d Z ddlZddlmc mZ ddlZddlZej                  j                  dej                  j                  dd             ddlmZ d Zd Zd Zd	 Zd
 Zd Zd Zd Zd Zy)u'  
test_git_evidence_runtime_noise.py — task-2480 회귀 테스트 (회장 명시 9건).

`utils.git_evidence_filter.is_runtime_path` 가
runtime noise (heartbeat / logs / memory/runtime / memory/state /
memory/reports / memory/events/*.done) 변경을
"PASS" (True) 로 분류하고,
실제 코드 변경 (server / scripts / .github/workflows) 은
"FAIL" (False) 로 분류하는지 검증한다.

PASS 의미: is_runtime_path(path) == True  (verifier 에서 제외 대상)
FAIL 의미: is_runtime_path(path) == False (verifier 가 dirty 로 판단)
    NWORKSPACE_ROOTz-/home/jay/workspace/.worktrees/task-2480-dev3)is_runtime_pathc                     d} t        |       }d}||u }|st        j                  d|fd||f      dt        j                         v st        j
                  t               rt        j                  t               ndt        j                  |       t        j                  |      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x} x}x}}y )	Nz"memory/heartbeats/task-1.heartbeatTisz0%(py4)s
{%(py4)s = %(py0)s(%(py2)s)
} is %(py7)sr   py0py2py4py7assert %(py9)spy9	r   
@pytest_ar_call_reprcompare@py_builtinslocals_should_repr_global_name	_safereprAssertionError_format_explanation@py_assert1@py_assert3@py_assert6@py_assert5@py_format8@py_format10s         G/home/jay/workspace/tests/regression/test_git_evidence_runtime_noise.pytest_heartbeat_dirty_passesr!       s    ?H??@HDH@DHHHH@DHHHHHH?HHH?HHH?HHH@HHHDHHHHHHH    c                     d} t        |       }d}||u }|st        j                  d|fd||f      dt        j                         v st        j
                  t               rt        j                  t               ndt        j                  |       t        j                  |      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x} x}x}}y )	Nzlogs/done-watcher.logTr   r   r   r	   r   r   r   r   s         r    test_logs_dirty_passesr$   $       2;?23;t;3t;;;;3t;;;;;;?;;;?;;;2;;;3;;;t;;;;;;;r"   c                     d} t        |       }d}||u }|st        j                  d|fd||f      dt        j                         v st        j
                  t               rt        j                  t               ndt        j                  |       t        j                  |      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x} x}x}}y )	Nzmemory/runtime/foo.jsonTr   r   r   r	   r   r   r   r   s         r     test_memory_runtime_dirty_passesr'   (   s    4=?45==5====5======?===?===4===5==========r"   c                     d} t        |       }d}||u }|st        j                  d|fd||f      dt        j                         v st        j
                  t               rt        j                  t               ndt        j                  |       t        j                  |      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x} x}x}}y )	Nzmemory/state/bar.jsonTr   r   r   r	   r   r   r   r   s         r    test_memory_state_dirty_passesr)   ,   r%   r"   c                     d} t        |       }d}||u }|st        j                  d|fd||f      dt        j                         v st        j
                  t               rt        j                  t               ndt        j                  |       t        j                  |      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x} x}x}}y )	Nzmemory/reports/task-2480.mdTr   r   r   r	   r   r   r   r   s         r     test_memory_reports_dirty_passesr+   0   s    8A?89ATA9TAAAA9TAAAAAA?AAA?AAA8AAA9AAATAAAAAAAr"   c                     d} t        |       }d}||u }|st        j                  d|fd||f      dt        j                         v st        j
                  t               rt        j                  t               ndt        j                  |       t        j                  |      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x} x}x}}y )	Nzmemory/events/task-2480.doneTr   r   r   r	   r   r   r   r   s         r    $test_memory_events_done_dirty_passesr-   4   s    9B?9:BdB:dBBBB:dBBBBBB?BBB?BBB9BBB:BBBdBBBBBBBr"   c                     d} t        |       }d}||u }|st        j                  d|fd||f      dt        j                         v st        j
                  t               rt        j                  t               ndt        j                  |       t        j                  |      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x} x}x}}y )	Nzserver/main.pyFr   r   r   r	   r   r   r   r   s         r    test_server_dirty_failsr/   ;   s    +5?+,55,5555,555555?555?555+555,5555555555r"   c                     d} t        |       }d}||u }|st        j                  d|fd||f      dt        j                         v st        j
                  t               rt        j                  t               ndt        j                  |       t        j                  |      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x} x}x}}y )	Nzscripts/finish-task.shFr   r   r   r	   r   r   r   r   s         r    test_scripts_dirty_failsr1   ?   s    3=?34==4====4======?===?===3===4==========r"   c                     d} t        |       }d}||u }|st        j                  d|fd||f      dt        j                         v st        j
                  t               rt        j                  t               ndt        j                  |       t        j                  |      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x} x}x}}y )	Nz.github/workflows/ci.ymlFr   r   r   r	   r   r   r   r   s         r    test_workflows_dirty_failsr3   C   s    5??56?%?6%????6%??????????????5???6???%???????r"   )__doc__builtinsr   _pytest.assertion.rewrite	assertionrewriter   ossyspathinsertenvirongetutils.git_evidence_filterr   r!   r$   r'   r)   r+   r-   r/   r1   r3    r"   r    <module>rA      su     	 
 JJNN7 6I<><BC6>@r"   