mirror of https://gitee.com/openkylin/libvirt.git
Create a re-usable DBus LD_PRELOAD mock library
A number of test suites want to mock the DBus APIs. To avoid re-inventing the wheel create a re-usable virmockdbus.la library for LD_PRELOAD usage. Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
This commit is contained in:
parent
442ba49351
commit
2c3ce1de94
|
@ -365,7 +365,8 @@ test_libraries += bhyvexml2argvmock.la
|
|||
endif WITH_BHYVE
|
||||
|
||||
if WITH_DBUS
|
||||
test_libraries += virsystemdmock.la
|
||||
test_libraries += virsystemdmock.la \
|
||||
virmockdbus.la
|
||||
endif WITH_DBUS
|
||||
|
||||
if WITH_LINUX
|
||||
|
@ -904,6 +905,12 @@ virdbustest_SOURCES = \
|
|||
virdbustest_CFLAGS = $(AM_CFLAGS) $(DBUS_CFLAGS)
|
||||
virdbustest_LDADD = $(LDADDS) $(DBUS_LIBS)
|
||||
|
||||
virmockdbus_la_SOURCES = \
|
||||
virmockdbus.c
|
||||
virmockdbus_la_CFLAGS = $(AM_CFLAGS) $(DBUS_CFLAGS)
|
||||
virmockdbus_la_LDFLAGS = -module -avoid-version \
|
||||
-rpath /evil/libtool/hack/to/force/shared/lib/creation
|
||||
|
||||
virsystemdtest_SOURCES = \
|
||||
virsystemdtest.c testutils.h testutils.c
|
||||
virsystemdtest_CFLAGS = $(AM_CFLAGS)
|
||||
|
@ -916,7 +923,7 @@ virsystemdmock_la_LDFLAGS = -module -avoid-version \
|
|||
-rpath /evil/libtool/hack/to/force/shared/lib/creation
|
||||
|
||||
else ! WITH_DBUS
|
||||
EXTRA_DIST += virdbustest.c virsystemdtest.c virsystemdmock.c
|
||||
EXTRA_DIST += virdbustest.c virmockdbus.c virsystemdtest.c virsystemdmock.c
|
||||
endif ! WITH_DBUS
|
||||
|
||||
viruritest_SOURCES = \
|
||||
|
|
|
@ -0,0 +1,64 @@
|
|||
/*
|
||||
* virmockdbus.c: mocking of dbus message send/reply
|
||||
*
|
||||
* Copyright (C) 2013 Red Hat, Inc.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library. If not, see
|
||||
* <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* Author: Daniel P. Berrange <berrange@redhat.com>
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
|
||||
#ifdef WITH_DBUS
|
||||
# include "virmock.h"
|
||||
# include <dbus/dbus.h>
|
||||
|
||||
VIR_MOCK_STUB_VOID_ARGS(dbus_connection_set_change_sigpipe,
|
||||
dbus_bool_t, will_modify_sigpipe)
|
||||
|
||||
|
||||
VIR_MOCK_STUB_RET_ARGS(dbus_bus_get,
|
||||
DBusConnection *, (DBusConnection *)0x1,
|
||||
DBusBusType, type,
|
||||
DBusError *, error)
|
||||
|
||||
VIR_MOCK_STUB_VOID_ARGS(dbus_connection_set_exit_on_disconnect,
|
||||
DBusConnection *, connection,
|
||||
dbus_bool_t, exit_on_disconnect)
|
||||
|
||||
VIR_MOCK_STUB_RET_ARGS(dbus_connection_set_watch_functions,
|
||||
dbus_bool_t, 1,
|
||||
DBusConnection *, connection,
|
||||
DBusAddWatchFunction, add_function,
|
||||
DBusRemoveWatchFunction, remove_function,
|
||||
DBusWatchToggledFunction, toggled_function,
|
||||
void *, data,
|
||||
DBusFreeFunction, free_data_function)
|
||||
|
||||
VIR_MOCK_STUB_RET_ARGS(dbus_message_set_reply_serial,
|
||||
dbus_bool_t, 1,
|
||||
DBusMessage *, message,
|
||||
dbus_uint32_t, serial)
|
||||
|
||||
|
||||
VIR_MOCK_LINK_RET_ARGS(dbus_connection_send_with_reply_and_block,
|
||||
DBusMessage *,
|
||||
DBusConnection *, connection,
|
||||
DBusMessage *, message,
|
||||
int, timeout_milliseconds,
|
||||
DBusError *, error)
|
||||
|
||||
#endif /* WITH_DBUS */
|
Loading…
Reference in New Issue