
    i)                     J    d Z ddlZddlZd	dededefdZdedee   dz  fdZy)
u   
l1_smoketest_check.py - 보고서 파일의 L1 스모크테스트 섹션 검증 verifier
보고서의 ## L1 스모크테스트 / ## 스모크테스트 결과 섹션 유무 및 결과 키워드 확인.
섹션 없으면 FAIL, 파일 없으면 SKIP.
    Ntask_idworkspace_rootreturnc                    t         j                  j                  |dd|  d      }t         j                  j                  |      sddgdS t	        |dd	      5 }|j                         }d
d
d
       t              }|ddgdS t        d |D              }|dk\  rddgdS g d}dj                  |      }|D ]  }	|	|v sddgdc S  ddgdS # 1 sw Y   gxY w)u   
    보고서 파일의 L1 스모크테스트 섹션을 파싱하여 결과를 검증.

    Returns:
        {"status": "PASS"|"FAIL"|"SKIP", "details": [...]}
    memoryreportsz.mdSKIPu   보고서 파일 없음)statusdetailsrzutf-8)encodingNFAILu#   L1 스모크테스트 섹션 없음c              3   *   K   | ]  }d |v sd  yw)u   해당없음   N ).0lines     Z/home/jay/workspace/.worktrees/task-2116-dev1/teams/shared/verifiers/l1_smoketest_check.py	<genexpr>zverify.<locals>.<genexpr>!   s     R$>T;QARs   	   PASSu4   CLI/스크립트 작업 — 해당없음 3줄 이상)u   성공u   실패u   확인r   OK
u   L1 결과 확인됨u.   L1 섹션 있으나 결과 키워드 미발견)ospathjoinisfileopenread_find_smoketest_sectionsum)
r   r   report_pathfcontentsection_linesnaexclusion_countresult_keywordssection_textkeywords
             r   verifyr*      s	    '',,~xwisOTK77>>+& .G-HII	k3	1 Q&&( ,G4M .S-TUU R-RRA .d-eff CO99]+L" Jl"$2G1HIIJ *Z)[\\+ s   CCr$   c                 n   t        j                  d      }ddg}| j                         }d}d}g }|D ]}  }|j                  |      }|rTt	        |j                  d            }	|j                  d      j                         }
|r|	|k  r n(|D ]  }||
v sd}|	} n j|sm|j                  |        |sy	|S )
u   
    ##/### 레벨 헤더에서 'L1 스모크테스트' 또는 '스모크테스트 결과' 섹션을 찾아
    다음 동등 이상 레벨 헤더 전까지의 줄 목록을 반환.
    섹션이 없으면 None 반환.
    z^(#{2,3})\s+(.+)$u   L1 스모크테스트u   스모크테스트 결과Fr   r      TN)recompile
splitlinesmatchlengroupstripappend)r$   header_patternsmoketest_keywordslines
in_sectionsection_header_levelresultr   r0   levelheader_textr)   s               r   r    r    /   s     ZZ 45N13NO EJF  $$T*A'E++a...0K00  2 G+-%)
/4,	
 MM$) , M    )z/home/jay/workspace)__doc__r   r-   strdictr*   listr    r   r=   r   <module>rB      sM    
 	!]C !] !] !]H'S 'T#Y-= 'r=   