Source
zbx_snprintf(returned_value, FMTTIME_INPUT_SIZE, "%.4d-%.2d-%.2dT%.2d:%.2d:%.2d", ltm.tm_year + 1900,
/*
** Copyright (C) 2001-2025 Zabbix SIA
**
** This program is free software: you can redistribute it and/or modify it under the terms of
** the GNU Affero General Public License as published by the Free Software Foundation, version 3.
**
** This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
** without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
** See the GNU Affero General Public License for more details.
**
** You should have received a copy of the GNU Affero General Public License along with this program.
** If not, see <https://www.gnu.org/licenses/>.
**/
time_t __wrap_time(time_t *ptr);
static zbx_timespec_t vcmock_ts;
/******************************************************************************
* *
* Purpose: sets the current time. The key must be present in input data or *
* the test case will fail *
* *
******************************************************************************/
static void vcmock_set_time(zbx_mock_handle_t hitem, const char *key)
{
zbx_mock_error_t err;
const char *data;
data = zbx_mock_get_object_member_string(hitem, key);
if (ZBX_MOCK_SUCCESS != (err = zbx_strtime_to_timespec(data, &vcmock_ts)))
fail_msg("Cannot read \"%s\" parameter", key);
}
/*
* time() emulation
*/
time_t __wrap_time(time_t *ptr)
{
if (NULL != ptr)
*ptr = vcmock_ts.sec;
return vcmock_ts.sec;
}
void zbx_mock_test_entry(void **state)
{
const size_t macro_pos = 1, macro_pos_end = 6, func_pos = 8, func_param_pos = 15;
int expected_ret, returned_ret, err;
char *returned_value = NULL, macro_expr[MAX_STRING_LEN];
const char *expected_value;
zbx_token_func_macro_t token;
zbx_mock_handle_t handle;
struct tm ltm;