Build latest book artifacts / build (push) Canceled after 0s
dependency resolution / resolve (3.11) (push) Canceled after 0s
dependency resolution / resolve (3.13) (push) Canceled after 0s
deploy-pages / build (push) Canceled after 0s
deploy-pages / deploy (push) Canceled after 0s
i18n consistency check / check (push) Canceled after 0s
provider adoption tests / test (chapter2/context-compression) (push) Canceled after 0s
provider adoption tests / test (chapter2/prompt-injection) (push) Canceled after 0s
provider adoption tests / test (chapter2/system-hint) (push) Canceled after 0s
provider adoption tests / test (chapter3/log-sanitization) (push) Canceled after 0s
web-search-agent tests / test (push) Canceled after 0s
web-search-agent tests / agentbook (push) Canceled after 0s
22 lines
701 B
Python
22 lines
701 B
Python
"""ffprobe 输出 N/A(无时长元数据)时,ffprobe_duration 应给出清晰报错。"""
|
|
import pytest
|
|
|
|
import demo
|
|
|
|
|
|
def test_ffprobe_duration_na(monkeypatch):
|
|
monkeypatch.setattr(demo, "run", lambda *a, **k: "N/A\n")
|
|
with pytest.raises(RuntimeError, match="时长"):
|
|
demo.ffprobe_duration("no_duration.bin")
|
|
|
|
|
|
def test_ffprobe_duration_empty(monkeypatch):
|
|
monkeypatch.setattr(demo, "run", lambda *a, **k: "")
|
|
with pytest.raises(RuntimeError, match="时长"):
|
|
demo.ffprobe_duration("empty.bin")
|
|
|
|
|
|
def test_ffprobe_duration_normal(monkeypatch):
|
|
monkeypatch.setattr(demo, "run", lambda *a, **k: "12.345\n")
|
|
assert demo.ffprobe_duration("a.mp4") == 12.345
|