summaryrefslogtreecommitdiff
path: root/src/driclient/src/test.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/driclient/src/test.c')
-rw-r--r--src/driclient/src/test.c41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/driclient/src/test.c b/src/driclient/src/test.c
new file mode 100644
index 0000000000..15f75d928b
--- /dev/null
+++ b/src/driclient/src/test.c
@@ -0,0 +1,41 @@
+#include <assert.h>
+#include <stdio.h>
+#include "driclient.h"
+
+int main(int argc, char **argv)
+{
+ Display *dpy;
+ Window root, window;
+
+ dri_screen_t *screen;
+ dri_drawable_t *dri_drawable;
+ dri_context_t *context;
+
+ dpy = XOpenDisplay(NULL);
+ root = XDefaultRootWindow(dpy);
+ window = XCreateSimpleWindow(dpy, root, 0, 0, 100, 100, 0, 0, 0);
+
+ XSelectInput(dpy, window, 0);
+ XMapWindow(dpy, window);
+ XSync(dpy, 0);
+
+ assert(driCreateScreen(dpy, 0, &screen, NULL) == 0);
+ assert(driCreateDrawable(screen, window, &dri_drawable) == 0);
+ assert(driCreateContext(screen, XDefaultVisual(dpy, 0), &context) == 0);
+ assert(driUpdateDrawableInfo(dri_drawable) == 0);
+
+ DRI_VALIDATE_DRAWABLE_INFO(screen, dri_drawable);
+
+ assert(drmGetLock(screen->fd, context->drm_context, 0) == 0);
+ assert(drmUnlock(screen->fd, context->drm_context) == 0);
+
+ assert(driDestroyContext(context) == 0);
+ assert(driDestroyDrawable(dri_drawable) == 0);
+ assert(driDestroyScreen(screen) == 0);
+
+ XDestroyWindow(dpy, window);
+ XCloseDisplay(dpy);
+
+ return 0;
+}
+