mirror of
https://github.com/invoke-ai/InvokeAI
synced 2024-08-30 20:32:17 +00:00
48626c40fd
`mallinfo2` is not available on `glibc` < 2.33. On these systems, we successfully load the library but get an `AttributeError` on attempting to access `mallinfo2`. I'm not sure if the old `mallinfo` will work, and not sure how to install it safely to test, so for now we just handle the `AttributeError`. This means the enhanced memory snapshot logic will be skipped for these systems, which isn't a big deal.
28 lines
765 B
Python
28 lines
765 B
Python
import pytest
|
|
|
|
from invokeai.backend.model_management.libc_util import LibcUtil, Struct_mallinfo2
|
|
|
|
|
|
def test_libc_util_mallinfo2():
|
|
"""Smoke test of LibcUtil().mallinfo2()."""
|
|
try:
|
|
libc = LibcUtil()
|
|
except OSError:
|
|
# TODO: Set the expected result preemptively based on the system properties.
|
|
pytest.xfail("libc shared library is not available on this system.")
|
|
|
|
try:
|
|
info = libc.mallinfo2()
|
|
except AttributeError:
|
|
pytest.xfail("`mallinfo2` is not available on this system, likely due to glibc < 2.33.")
|
|
|
|
assert info.arena > 0
|
|
|
|
|
|
def test_struct_mallinfo2_to_str():
|
|
"""Smoke test of Struct_mallinfo2.__str__()."""
|
|
info = Struct_mallinfo2()
|
|
info_str = str(info)
|
|
|
|
assert len(info_str) > 0
|