From 0342e19c128ff18adac78d0880f1a8e5fdeea814 Mon Sep 17 00:00:00 2001 From: Christian Thaeter Date: Fri, 19 Sep 2008 15:47:55 +0200 Subject: [PATCH] move the interfaces test to backend, because its going to be stateful --- tests/Makefile.am | 4 +- tests/{library => backend}/test-interfaces.c | 44 ++++++++++++++++---- 2 files changed, 37 insertions(+), 11 deletions(-) rename tests/{library => backend}/test-interfaces.c (71%) diff --git a/tests/Makefile.am b/tests/Makefile.am index f3ae80391..0c7f80f12 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -49,9 +49,9 @@ test_luid_CPPFLAGS = $(AM_CPPFLAGS) -std=gnu99 -Wall -Werror test_luid_LDADD = liblumi.a $(NOBUGMT_LUMIERA_LIBS) -ldl -lm check_PROGRAMS += test-interfaces -test_interfaces_SOURCES = $(tests_srcdir)/library/test-interfaces.c +test_interfaces_SOURCES = $(tests_srcdir)/backend/test-interfaces.c test_interfaces_CPPFLAGS = $(AM_CPPFLAGS) -std=gnu99 -Wall -Werror -test_interfaces_LDADD = liblumi.a $(NOBUGMT_LUMIERA_LIBS) -ldl -lm +test_interfaces_LDADD = liblumibackend.a liblumi.a $(NOBUGMT_LUMIERA_LIBS) -ldl -lm check_PROGRAMS += test-filedescriptors test_filedescriptors_SOURCES = $(tests_srcdir)/backend/test-filedescriptors.c diff --git a/tests/library/test-interfaces.c b/tests/backend/test-interfaces.c similarity index 71% rename from tests/library/test-interfaces.c rename to tests/backend/test-interfaces.c index 71962bf75..fb1c4d30a 100644 --- a/tests/library/test-interfaces.c +++ b/tests/backend/test-interfaces.c @@ -20,18 +20,20 @@ */ #include "lib/interface.h" +#include "backend/interfaceregistry.h" +//#include "lib/interfacedescriptor.h" #include "tests/test.h" /* define 2 example interfaces */ -LUMIERA_INTERFACE_DECLARE (example1, 0, +LUMIERA_INTERFACE_DECLARE (lumieraorg_testexample_one, 0, LUMIERA_INTERFACE_SLOT (void, foo1, (const char*)), LUMIERA_INTERFACE_SLOT (void, bar1, (const char*)), ); -LUMIERA_INTERFACE_DECLARE (example2, 0, +LUMIERA_INTERFACE_DECLARE (lumieraorg_testexample_two, 0, LUMIERA_INTERFACE_SLOT (void, foo2, (const char*)), LUMIERA_INTERFACE_SLOT (void, bar2, (const char*)), ); @@ -53,8 +55,8 @@ testfunc (const char* message) implementation of some example interfaces */ -LUMIERA_INTERFACE_INSTANCE (example1, 0, - example1_standalone_implementation, +LUMIERA_INTERFACE_INSTANCE (lumieraorg_testexample_one, 0, + lumieraorg_standalone_test, NULL, NULL, NULL, @@ -70,8 +72,8 @@ LUMIERA_INTERFACE_INSTANCE (example1, 0, LUMIERA_EXPORT (interfaces_defined_here, - LUMIERA_INTERFACE_DEFINE (example1, 0, - example1_implementation, + LUMIERA_INTERFACE_DEFINE (lumieraorg_testexample_one, 0, + lumieraorg_first_test, NULL, NULL, NULL, @@ -80,8 +82,8 @@ LUMIERA_EXPORT (interfaces_defined_here, LUMIERA_INTERFACE_MAP (bar1, "\262\253\067\211\157\052\212\140\114\334\231\250\340\075\214\030", testfunc) ), - LUMIERA_INTERFACE_DEFINE (example2, 0, - example2_implementation, + LUMIERA_INTERFACE_DEFINE (lumieraorg_testexample_two, 0, + lumieraorg_second_test, NULL, NULL, NULL, @@ -97,7 +99,31 @@ TESTS_BEGIN TEST ("basic") { - interfaces_defined_here(); + lumiera_interfaceregistry_init (); + + lumiera_interfaceregistry_bulkregister_interfaces (interfaces_defined_here()); + + + /* some ugly lowlevel handling tests */ + + LumieraInterface handle1 = + lumiera_interfaceregistry_interface_find ("lumieraorg_testexample_one", 0, "lumieraorg_first_test"); + + (LUMIERA_INTERFACE_CAST(lumieraorg_testexample_one, 0)handle1)->bar1 ("this is bar1"); + + + LUMIERA_INTERFACE_TYPE(lumieraorg_testexample_two, 0)* handle2 = LUMIERA_INTERFACE_CAST(lumieraorg_testexample_two, 0) + lumiera_interfaceregistry_interface_find ("lumieraorg_testexample_two", 0, "lumieraorg_second_test"); + + handle2->foo2 ("this is foo2"); + + /* higher level, WIP */ + + LUMIERA_INTERFACE_HANDLE(lumieraorg_testexample_two, 0, 0, lumieraorg_second_test, handle3); + handle3->bar2 ("this is bar2"); + + lumiera_interfaceregistry_bulkremove_interfaces (interfaces_defined_here()); + lumiera_interfaceregistry_destroy (); } TEST ("basic")