Currently all qemu driver tests are statically linked to qemu driver
library, which makes it impossible to mock any API from the library.
This patch creates a shared qemu driver library which can be used
instead of the static one.

NB we can't use libvirt_driver_qemu.so directly since it is linked with
-module and it is supposed to be dlopened.

Signed-off-by: Jiri Denemark <[email protected]>
---
 tests/Makefile.am | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/tests/Makefile.am b/tests/Makefile.am
index 6d8fa00..3a9ca76 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -51,6 +51,11 @@ MOCKLIBS_LDFLAGS = -module -avoid-version \
        -rpath /evil/libtool/hack/to/force/shared/lib/creation \
        $(MINGW_EXTRA_LDFLAGS)
 
+QEMULIB_LDFLAGS = \
+       -avoid-version \
+       -rpath /evil/libtool/hack/to/force/shared/lib/creation \
+       $(MINGW_EXTRA_LDFLAGS)
+
 if WITH_DRIVER_MODULES
 INCLUDES += \
        -DTEST_DRIVER_DIR=\"$(top_builddir)/src/.libs\"
@@ -418,6 +423,7 @@ test_libraries = libshunload.la \
                $(NULL)
 if WITH_QEMU
 test_libraries += libqemumonitortestutils.la \
+               libqemutestdriver.la \
                qemuxml2argvmock.la \
                qemucaps2xmlmock.la \
                $(NULL)
@@ -546,6 +552,10 @@ if WITH_DTRACE_PROBES
 qemu_LDADDS += ../src/libvirt_qemu_probes.lo
 endif WITH_DTRACE_PROBES
 
+libqemutestdriver_la_SOURCES =
+libqemutestdriver_la_LDFLAGS = $(QEMULIB_LDFLAGS)
+libqemutestdriver_la_LIBADD = $(qemu_LDADDS)
+
 qemuxml2argvtest_SOURCES = \
        qemuxml2argvtest.c testutilsqemu.c testutilsqemu.h \
        testutils.c testutils.h
-- 
2.8.2

--
libvir-list mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to