parent
57646ceb4e
commit
6d93aeb128
@ -0,0 +1,27 @@ |
|||||||
|
if BUILD_TESTS |
||||||
|
|
||||||
|
AM_CPPFLAGS = -I$(top_srcdir)/src $(CHECK_CFLAGS)
|
||||||
|
|
||||||
|
TEST_LIBS = $(top_builddir)/src/libvirglrenderer.la $(CHECK_LIBS)
|
||||||
|
|
||||||
|
run_tests = test_virgl_init
|
||||||
|
|
||||||
|
noinst_PROGRAMS = $(run_tests)
|
||||||
|
TESTS = $(run_tests)
|
||||||
|
|
||||||
|
test_virgl_init_SOURCES = test_virgl_init.c
|
||||||
|
test_virgl_init_LDADD = $(TEST_LIBS)
|
||||||
|
test_virgl_init_LDFLAGS = -no-install
|
||||||
|
|
||||||
|
if HAVE_VALGRIND |
||||||
|
VALGRIND_FLAGS=--leak-check=full \
|
||||||
|
--quiet \
|
||||||
|
--error-exitcode=3
|
||||||
|
|
||||||
|
valgrind: |
||||||
|
$(MAKE) check-TESTS LOG_COMPILER="$(VALGRIND)" LOG_FLAGS="$(VALGRIND_FLAGS)" CK_FORK=no
|
||||||
|
|
||||||
|
check: valgrind |
||||||
|
|
||||||
|
endif |
||||||
|
endif |
@ -0,0 +1,77 @@ |
|||||||
|
#include <check.h> |
||||||
|
#include <stdlib.h> |
||||||
|
#include <virglrenderer.h> |
||||||
|
|
||||||
|
static void *mycookie; |
||||||
|
|
||||||
|
static struct virgl_renderer_callbacks rcbs; |
||||||
|
|
||||||
|
START_TEST(virgl_init_no_cbs) |
||||||
|
{ |
||||||
|
int ret; |
||||||
|
ret = virgl_renderer_init(mycookie, 0, NULL); |
||||||
|
ck_assert_int_eq(ret, -1); |
||||||
|
} |
||||||
|
END_TEST |
||||||
|
|
||||||
|
START_TEST(virgl_init_no_cookie) |
||||||
|
{ |
||||||
|
int ret; |
||||||
|
ret = virgl_renderer_init(NULL, 0, &rcbs); |
||||||
|
ck_assert_int_eq(ret, -1); |
||||||
|
} |
||||||
|
END_TEST |
||||||
|
|
||||||
|
START_TEST(virgl_init_cbs_wrong_ver) |
||||||
|
{ |
||||||
|
int ret; |
||||||
|
struct virgl_renderer_callbacks testcbs; |
||||||
|
memset(&testcbs, 0, sizeof(testcbs)); |
||||||
|
testcbs.version = 2; |
||||||
|
ret = virgl_renderer_init(mycookie, 0, &testcbs); |
||||||
|
ck_assert_int_eq(ret, -1); |
||||||
|
} |
||||||
|
END_TEST |
||||||
|
|
||||||
|
START_TEST(virgl_init_egl) |
||||||
|
{ |
||||||
|
int ret; |
||||||
|
rcbs.version = 1; |
||||||
|
ret = virgl_renderer_init(mycookie, VIRGL_RENDERER_USE_EGL, &rcbs); |
||||||
|
ck_assert_int_eq(ret, 0); |
||||||
|
} |
||||||
|
|
||||||
|
END_TEST |
||||||
|
Suite *virgl_init_suite(void) |
||||||
|
{ |
||||||
|
Suite *s; |
||||||
|
TCase *tc_core; |
||||||
|
|
||||||
|
s = suite_create("virgl_init"); |
||||||
|
tc_core = tcase_create("init"); |
||||||
|
|
||||||
|
tcase_add_test(tc_core, virgl_init_no_cbs); |
||||||
|
tcase_add_test(tc_core, virgl_init_no_cookie); |
||||||
|
tcase_add_test(tc_core, virgl_init_cbs_wrong_ver); |
||||||
|
tcase_add_test(tc_core, virgl_init_egl); |
||||||
|
suite_add_tcase(s, tc_core); |
||||||
|
return s; |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
int main(void) |
||||||
|
{ |
||||||
|
Suite *s; |
||||||
|
SRunner *sr; |
||||||
|
int number_failed; |
||||||
|
|
||||||
|
s = virgl_init_suite(); |
||||||
|
sr = srunner_create(s); |
||||||
|
|
||||||
|
srunner_run_all(sr, CK_NORMAL); |
||||||
|
number_failed = srunner_ntests_failed(sr); |
||||||
|
srunner_free(sr); |
||||||
|
|
||||||
|
return number_failed == 0 ? EXIT_SUCCESS : EXIT_FAILURE; |
||||||
|
} |
Loading…
Reference in new issue