23 lines
1.3 KiB
Python
23 lines
1.3 KiB
Python
"""Reviewer timeout recipe documentation only; not a runner/runtime test."""
|
|
from pathlib import Path
|
|
import unittest
|
|
|
|
SKILL = Path(__file__).resolve().parents[3] / 'harness/agents/review/skills/gitea-code-review/SKILL.md'
|
|
HEADING = '### 장시간 suite의 timeout evidence recipe'
|
|
|
|
class TimeoutEvidenceRecipeDocumentationTests(unittest.TestCase):
|
|
def test_conditional_recipe_preserves_evidence_without_automatic_retry(self):
|
|
text = SKILL.read_text()
|
|
self.assertIn(HEADING, text)
|
|
section = text.split(HEADING, 1)[1].split('\n### ', 1)[0].split('\n## ', 1)[0]
|
|
for rule in ('장시간 suite', '실행 시작부터', '승인된 artifact 경로',
|
|
'source revision', 'run-id', '명령', 'deadline', 'redaction',
|
|
'출력 한도', 'exit status', 'timeout', '실제 종료', 'cleanup',
|
|
'새 run-id', '덮어쓰지 않는다', '자동 재실행하지 않는다',
|
|
'유한한 budget', '관측 시간', '여유 근거', '동일 입력',
|
|
'JUnit', '이미 지원', '완성된 JUnit', 'pytest를 강제하지',
|
|
'새 runner', 'streaming framework', '미검증', '문서 계약'):
|
|
with self.subTest(rule=rule):
|
|
self.assertIn(rule, section)
|
|
self.assertIn('lease·head·source', section)
|