def test_glibc_version_string(version_str, expected, monkeypatch): class LibcVersion: def __init__(self, version_str): self.version_str = version_str def __call__(self): return version_str class ProcessNamespace: def __init__(self, libc_version): self.gnu_get_libc_version = libc_version process_namespace = ProcessNamespace(LibcVersion(version_str)) monkeypatch.setattr(ctypes, "CDLL", lambda _: process_namespace) assert tags._glibc_version_string() == expected del process_namespace.gnu_get_libc_version assert tags._glibc_version_string() is None