On 04/06/2018 06:54 PM, Marek Marczykowski-Górecki wrote:
On Wed, Mar 28, 2018 at 01:42:47PM -0600, Jim Fehlig wrote:
On 03/27/2018 05:55 PM, Marek Marczykowski-Górecki wrote:
diff --git a/tests/virmocklibxl.c b/tests/virmocklibxl.c
index 747f9f8..28281b6 100644
--- a/tests/virmocklibxl.c
+++ b/tests/virmocklibxl.c
@@ -27,6 +27,7 @@
# include <sys/stat.h>
# include <unistd.h>
# include <libxl.h>
+# include <util/virfile.h>
# include <xenstore.h>
# include <xenctrl.h>
@@ -48,6 +49,24 @@ VIR_MOCK_IMPL_RET_ARGS(xc_interface_open,
}
+VIR_MOCK_IMPL_RET_ARGS(libxl_get_version_info,
+ const libxl_version_info*,
+ libxl_ctx *, ctx)
+{
+ static libxl_version_info info;
+
+ memset(&info, 0, sizeof(info));
+
+ return &info;
+ /* silence gcc warning */
+ return real_libxl_get_version_info(ctx);
+}
+
+VIR_MOCK_STUB_RET_ARGS(libxl_get_free_memory,
+ int, 0,
+ libxl_ctx *, ctx,
+ uint32_t *, memkb);
+
This doesn't compile with Xen >= 4.8
In file included from virmocklibxl.c:26:0:
virmocklibxl.c:66:24: error: conflicting types for 'libxl_get_free_memory'
VIR_MOCK_STUB_RET_ARGS(libxl_get_free_memory,
^
virmock.h:182:13: note: in definition of macro 'VIR_MOCK_STUB_RET_ARGS'
rettype name(VIR_MOCK_ARGTYPENAMES_UNUSED(__VA_ARGS__)) \
^~~~
In file included from virmocklibxl.c:29:0:
/usr/include/libxl.h:1570:5: note: previous declaration of
'libxl_get_free_memory' was here
int libxl_get_free_memory(libxl_ctx *ctx, uint64_t *memkb);
^~~~~~~~~~~~~~~~~~~~~
Using the uint32_t variant works in the libxl driver since we have
-DLIBXL_API_VERSION=0x040400 in LIBXL_CFLAGS. I worked around the
compilation failure with LIBXL_HAVE_MEMKB_64BITS,
I can't reproduce this problem, either with 4.8 or 4.10. Even more, if I
add alternative mock with uint64_t, under #if LIBXL_HAVE_MEMKB_64BITS, I
get compile failure, because of conflicting types (with
libxl_get_free_memory_0x040700)...
Can you confirm it's really a problem, not some mismatching header
versions on your side?
Perhaps I've also made a mistake rebasing some of these patches. Can you pretty
please rebase against current master and repost a V7 (adding all the R-B)? If
you say it passes 'make check' on 4.5 and 4.10, I'll chase down any problems on
my side. Thanks!
Regards,
Jim
--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list