Files

34 lines
1.2 KiB
Python
Raw Permalink Normal View History

from __future__ import annotations
from app.services.wine_probe import interpret_wine_probe_output
def test_interpret_wine_probe_output_marks_wine32_warning_unavailable() -> None:
output = (
"it looks like wine32 is missing, you should install it. multiarch needs to be enabled first.\n"
'as root, please execute "dpkg --add-architecture i386 && apt-get update && apt-get install wine32:i386"\n'
"wine-10.0 (Debian 10.0~repack-6)"
)
result = interpret_wine_probe_output(0, output)
assert result.available is False
assert result.version == output
assert result.error == output
def test_interpret_wine_probe_output_accepts_normal_version() -> None:
result = interpret_wine_probe_output(0, "wine-10.0 (Debian 10.0~repack-6)")
assert result.available is True
assert result.version == "wine-10.0 (Debian 10.0~repack-6)"
assert result.error is None
def test_interpret_wine_probe_output_propagates_nonzero_exit() -> None:
result = interpret_wine_probe_output(1, "wine: failed to load")
assert result.available is False
assert result.version == "wine: failed to load"
assert result.error == "wine: failed to load"