mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-07-22 17:52:07 +08:00
26 lines
986 B
Python
26 lines
986 B
Python
from openpilot.selfdrive.ui import stall_monitor
|
|
|
|
|
|
def test_stall_report_is_sent_to_bugsink(monkeypatch, tmp_path):
|
|
report = {}
|
|
|
|
def capture_message(message, **kwargs):
|
|
report["message"] = message
|
|
report.update(kwargs)
|
|
|
|
monkeypatch.setattr(stall_monitor, "_capture_message", capture_message)
|
|
|
|
monitor = stall_monitor.UIStallMonitor("raylib_ui")
|
|
monitor._dump_dir = tmp_path
|
|
dump = "full thread dump"
|
|
dump_path = monitor._write_dump(dump)
|
|
monitor._report_stall(dump, dump_path, "gui_app.present_end", 5.001, 4.999)
|
|
|
|
assert report["message"] == "raylib UI main loop stalled"
|
|
assert report["tags"] == {"ui_stall_name": "raylib_ui", "ui_stall_phase": "gui_app.present_end"}
|
|
assert report["extras"]["stalled_for_s"] == 5.001
|
|
assert report["extras"]["phase_for_s"] == 4.999
|
|
assert "test_stall_report_is_sent_to_bugsink" in report["extras"]["main_thread_stack"]
|
|
assert report["extras"]["thread_dump"] == dump
|
|
assert report["attachment_path"] == dump_path
|