import subprocess import sys def run_log_decode(input_text: str, *args: str) -> str: proc = subprocess.run( [sys.executable, "tools/log_decode.py", *args], input=input_text, text=True, check=True, capture_output=True, ) return proc.stdout sample = ( "event seq=7 vcpu=0 kind=trap ec=0x18 name=sctlr_el1 dir=write action=3 reason=104\n" "event seq=8 vcpu=0 kind=hvc ec=0x16 name=- dir=write action=0 reason=300\n" ) plain = run_log_decode(sample) assert "seq=7" in plain assert "name=sctlr_el1" in plain assert "seq=8" in plain summary = run_log_decode(sample, "--summary") assert "events: 2" in summary assert "trap: 1" in summary assert "hvc: 1" in summary assert "sctlr_el1: 1" in summary summary_events = run_log_decode(sample, "--summary", "--events") assert "seq=7" in summary_events assert "events: 2" in summary_events