#include "../../../../src/libs/zbxsysinfo/sysinfo.h"
#define GET_TEST_PARAM_FAIL(NAME, MOCK_ERR) fail_msg("Cannot get \"%s\": %s", NAME, zbx_mock_error_string(MOCK_ERR))
static void get_test_param(const char *name, const char **value)
zbx_mock_handle_t handle;
if (ZBX_MOCK_NO_PARAMETER != (error = zbx_mock_out_parameter(name, &handle)) && ZBX_MOCK_SUCCESS != error)
GET_TEST_PARAM_FAIL(name, error);
else if (ZBX_MOCK_SUCCESS == error && ZBX_MOCK_SUCCESS != (error = zbx_mock_string(handle, value)))
GET_TEST_PARAM_FAIL(name, error);
void zbx_mock_test_entry(void **state)
const char *expected_json, *expected_error, *expected_string, *actual_string;
int expected_result, actual_result;
get_test_param("json", &expected_json);
get_test_param("error", &expected_error);
if (NULL == expected_json)
if (NULL == expected_error)
fail_msg("Invalid test case data: must have one - \"json\" or \"error\" parameter");
expected_result = SYSINFO_RET_FAIL;
expected_string = expected_error;
if (NULL != expected_error)
fail_msg("Invalid test case data: only one parameter \"json\" or \"error\" must exist");
expected_result = SYSINFO_RET_OK;
expected_string = expected_json;