From 259fd7ea046a44ebe9ddb03ae2dead7251f63caf Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Wed, 4 Feb 2015 13:51:02 +1000 Subject: [PATCH] tests: add capability retrival tests --- tests/test_virgl_init.c | 43 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/tests/test_virgl_init.c b/tests/test_virgl_init.c index 050a352..b5ca5e6 100644 --- a/tests/test_virgl_init.c +++ b/tests/test_virgl_init.c @@ -32,6 +32,7 @@ #include #include "testvirgl.h" +#include "virgl_hw.h" struct myinfo_struct { uint32_t test; }; @@ -178,6 +179,46 @@ START_TEST(virgl_init_egl_create_ctx_reset) } END_TEST +START_TEST(virgl_init_get_caps_set0) +{ + int ret; + uint32_t max_ver, max_size; + + test_cbs.version = 1; + ret = virgl_renderer_init(&mystruct, VIRGL_RENDERER_USE_EGL, &test_cbs); + ck_assert_int_eq(ret, 0); + + virgl_renderer_get_cap_set(0, &max_ver, &max_size); + ck_assert_int_eq(max_ver, 0); + ck_assert_int_eq(max_size, 0); + + virgl_renderer_cleanup(&mystruct); +} +END_TEST + +START_TEST(virgl_init_get_caps_set1) +{ + int ret; + uint32_t max_ver, max_size; + void *caps; + test_cbs.version = 1; + ret = virgl_renderer_init(&mystruct, VIRGL_RENDERER_USE_EGL, &test_cbs); + ck_assert_int_eq(ret, 0); + + virgl_renderer_get_cap_set(1, &max_ver, &max_size); + ck_assert_int_eq(max_ver, 1); + ck_assert_int_ne(max_size, 0); + ck_assert_int_eq(max_size, sizeof(struct virgl_caps_v1)); + + caps = malloc(max_size); + + virgl_renderer_fill_caps(0, 0, caps); + + free(caps); + virgl_renderer_cleanup(&mystruct); +} +END_TEST + Suite *virgl_init_suite(void) { Suite *s; @@ -195,6 +236,8 @@ Suite *virgl_init_suite(void) tcase_add_test(tc_core, virgl_init_egl_create_ctx_create_bind_res); tcase_add_test(tc_core, virgl_init_egl_create_ctx_create_bind_res_leak); tcase_add_test(tc_core, virgl_init_egl_create_ctx_reset); + tcase_add_test(tc_core, virgl_init_get_caps_set0); + tcase_add_test(tc_core, virgl_init_get_caps_set1); suite_add_tcase(s, tc_core); return s;