From e0193568daf1785772c9d97a9825c401d463865f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= Date: Wed, 25 Nov 2020 14:06:39 +0400 Subject: [PATCH] libvhost-user: add a simple link test without glib MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Marc-André Lureau Message-Id: <20201125100640.366523-8-marcandre.lureau@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- subprojects/libvhost-user/link-test.c | 45 +++++++++++++++++++++++++++ subprojects/libvhost-user/meson.build | 4 +++ 2 files changed, 49 insertions(+) create mode 100644 subprojects/libvhost-user/link-test.c 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 +#include +#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,