cmocka:包装glib库函数g_string_append_c()不起作用
我正在CMOCKA运行Syslog-NG的UT测试用例,将GLIB库升级为2.71。 我无法调用包装器功能。 我尝试链接选项-Wl,Wrap = g_string_append_c,wrap = g_string_append在make file中。
这是我的包装器功能:
String* __wrap_g_string_append(GString *string, const gchar *val)
{
printf(" wrap_g_string_append is called\n");
return NULL;
}
GString* __wrap_g_string_append_c(GString *string, gchar c)
{
printf(" wrap_g_string_append_c is called\n");
return NULL;
}
sample main function call which is part of syslog-ng:
int main()
{
g_string_append(key, obj_key);
g_string_append_c(key, '.');
}
在这里,我可以调用__wrap_g_string_append函数,但无法调用__wrap_g_string_append_c函数,不确定这里是什么问题,其调用库g_string_append_c而不是wrappend_prapder函数__wrap_grap_ge_string_append_append_ccend_cc()。 我尝试了CMOCKA论坛中提到的许多选择,对我来说没有什么可用的。
有人可以帮助我解决这个问题,我在这里缺少什么吗?
I am running UT test case for syslog-ng in cmocka, upgraded Glib library to 2.71.
I am not able to call wrapper function.
I tried linking option --Wl, wrap=g_string_append_c, wrap=g_string_append in make file.
Here are my wrapper functions:
String* __wrap_g_string_append(GString *string, const gchar *val)
{
printf(" wrap_g_string_append is called\n");
return NULL;
}
GString* __wrap_g_string_append_c(GString *string, gchar c)
{
printf(" wrap_g_string_append_c is called\n");
return NULL;
}
sample main function call which is part of syslog-ng:
int main()
{
g_string_append(key, obj_key);
g_string_append_c(key, '.');
}
Here I am able to call __wrap_g_string_append function, but not able to call __wrap_g_string_append_c function, not sure what is the issue here, its calling library function g_string_append_c instead of wrapper function __wrap_g_string_append_c().
I have tried many options mentioned in cmocka forum, nothing has worked for me.
Could someone please help me in resolving the issue, anything I am missing here?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论