1*e0193568SMarc-André Lureau /*
2*e0193568SMarc-André Lureau  * A trivial unit test to check linking without glib. A real test suite should
3*e0193568SMarc-André Lureau  * probably based off libvhost-user-glib instead.
4*e0193568SMarc-André Lureau  */
5*e0193568SMarc-André Lureau #include <assert.h>
6*e0193568SMarc-André Lureau #include <stdlib.h>
7*e0193568SMarc-André Lureau #include "libvhost-user.h"
8*e0193568SMarc-André Lureau 
9*e0193568SMarc-André Lureau static void
panic(VuDev * dev,const char * err)10*e0193568SMarc-André Lureau panic(VuDev *dev, const char *err)
11*e0193568SMarc-André Lureau {
12*e0193568SMarc-André Lureau     abort();
13*e0193568SMarc-André Lureau }
14*e0193568SMarc-André Lureau 
15*e0193568SMarc-André Lureau static void
set_watch(VuDev * dev,int fd,int condition,vu_watch_cb cb,void * data)16*e0193568SMarc-André Lureau set_watch(VuDev *dev, int fd, int condition,
17*e0193568SMarc-André Lureau           vu_watch_cb cb, void *data)
18*e0193568SMarc-André Lureau {
19*e0193568SMarc-André Lureau     abort();
20*e0193568SMarc-André Lureau }
21*e0193568SMarc-André Lureau 
22*e0193568SMarc-André Lureau static void
remove_watch(VuDev * dev,int fd)23*e0193568SMarc-André Lureau remove_watch(VuDev *dev, int fd)
24*e0193568SMarc-André Lureau {
25*e0193568SMarc-André Lureau     abort();
26*e0193568SMarc-André Lureau }
27*e0193568SMarc-André Lureau 
28*e0193568SMarc-André Lureau static const VuDevIface iface = {
29*e0193568SMarc-André Lureau     0,
30*e0193568SMarc-André Lureau };
31*e0193568SMarc-André Lureau 
32*e0193568SMarc-André Lureau int
main(int argc,const char * argv[])33*e0193568SMarc-André Lureau main(int argc, const char *argv[])
34*e0193568SMarc-André Lureau {
35*e0193568SMarc-André Lureau     bool rc;
36*e0193568SMarc-André Lureau     uint16_t max_queues = 2;
37*e0193568SMarc-André Lureau     int socket = 0;
38*e0193568SMarc-André Lureau     VuDev dev = { 0, };
39*e0193568SMarc-André Lureau 
40*e0193568SMarc-André Lureau     rc = vu_init(&dev, max_queues, socket, panic, NULL, set_watch, remove_watch, &iface);
41*e0193568SMarc-André Lureau     assert(rc == true);
42*e0193568SMarc-André Lureau     vu_deinit(&dev);
43*e0193568SMarc-André Lureau 
44*e0193568SMarc-André Lureau     return 0;
45*e0193568SMarc-André Lureau }
46