aboutsummaryrefslogtreecommitdiff
path: root/subprojects/libvhost-user
diff options
context:
space:
mode:
authorMarc-André Lureau <marcandre.lureau@redhat.com>2020-11-25 14:06:39 +0400
committerMichael S. Tsirkin <mst@redhat.com>2020-12-09 13:04:17 -0500
commite0193568daf1785772c9d97a9825c401d463865f (patch)
treed79c71e39725aa0d4f687d2837c9d9a470108c6c /subprojects/libvhost-user
parent0df750e9d3a5fea5e19f4750582121c9293a9d71 (diff)
libvhost-user: add a simple link test without glib
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Message-Id: <20201125100640.366523-8-marcandre.lureau@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'subprojects/libvhost-user')
-rw-r--r--subprojects/libvhost-user/link-test.c45
-rw-r--r--subprojects/libvhost-user/meson.build4
2 files changed, 49 insertions, 0 deletions
diff --git a/subprojects/libvhost-user/link-test.c b/subprojects/libvhost-user/link-test.c
new file mode 100644
index 0000000000..e01d6eb1fa
--- /dev/null
+++ b/subprojects/libvhost-user/link-test.c
@@ -0,0 +1,45 @@
+/*
+ * A trivial unit test to check linking without glib. A real test suite should
+ * probably based off libvhost-user-glib instead.
+ */
+#include <assert.h>
+#include <stdlib.h>
+#include "libvhost-user.h"
+
+static void
+panic(VuDev *dev, const char *err)
+{
+ abort();
+}
+
+static void
+set_watch(VuDev *dev, int fd, int condition,
+ vu_watch_cb cb, void *data)
+{
+ abort();
+}
+
+static void
+remove_watch(VuDev *dev, int fd)
+{
+ abort();
+}
+
+static const VuDevIface iface = {
+ 0,
+};
+
+int
+main(int argc, const char *argv[])
+{
+ bool rc;
+ uint16_t max_queues = 2;
+ int socket = 0;
+ VuDev dev = { 0, };
+
+ rc = vu_init(&dev, max_queues, socket, panic, NULL, set_watch, remove_watch, &iface);
+ assert(rc == true);
+ vu_deinit(&dev);
+
+ return 0;
+}
diff --git a/subprojects/libvhost-user/meson.build b/subprojects/libvhost-user/meson.build
index f9ecc534cf..c5d85c11d7 100644
--- a/subprojects/libvhost-user/meson.build
+++ b/subprojects/libvhost-user/meson.build
@@ -10,6 +10,10 @@ vhost_user = static_library('vhost-user',
include_directories: inc,
c_args: '-D_GNU_SOURCE')
+executable('link-test', files('link-test.c'),
+ link_whole: vhost_user,
+ include_directories: inc)
+
vhost_user_glib = static_library('vhost-user-glib',
files('libvhost-user-glib.c'),
include_directories: inc,