#include "zbxmockhelper.h"
#include "../../../../src/libs/zbxsysinfo/sysinfo.h"
FILE *custom_fopen_mock(const char *__filename, const char *__modes);
int __wrap_uname(struct utsname *buf);
FILE *custom_fopen_mock(const char *__filename, const char *__modes)
if (0 == strcmp(__filename, "/proc/version"))
str = zbx_mock_get_parameter_string("in.proc_version");
else if (0 == strcmp(__filename, "/proc/version_signature"))
str = zbx_mock_get_parameter_string("in.proc_version_sign");
else if (0 == strcmp(__filename, "/etc/issue.net"))
str = zbx_mock_get_parameter_string("in.issue_net");
else if (0 == strcmp(__filename, "/etc/os-release"))
str = zbx_mock_get_parameter_string("in.os_release");
return fmemopen((void *)str, f_size * sizeof(char), "r");
int __wrap_uname(struct utsname *buf)
const char *release, *machine;
ret = (int)zbx_mock_get_parameter_uint64("in.uname.return");
release = zbx_mock_get_parameter_string("in.uname.release");
if (sizeof(buf->release) < strlen(release) * sizeof(char))
fail_msg("Uname release string is too large, maximum length is: %lu bytes", sizeof(buf->release));