Lumiera 0.pre.04~rc.1
»edit your freedom«
Loading...
Searching...
No Matches
test-interfaces.c File Reference

C unit test to cover the basics of our interface and plugin-loading system. More...

Go to the source code of this file.

Description

C unit test to cover the basics of our interface and plugin-loading system.

See also
interface.h
interfaceregistry.h

Definition in file test-interfaces.c.

Functions

 LUMIERA_INTERFACE_DECLARE (lumieraorg_testexample_one, 0, LUMIERA_INTERFACE_SLOT(void, foo1,(const char *)), LUMIERA_INTERFACE_SLOT(void, bar1,(const char *)),)
 
 LUMIERA_INTERFACE_DECLARE (lumieraorg_testexample_two, 0, LUMIERA_INTERFACE_SLOT(void, foo2,(const char *)), LUMIERA_INTERFACE_SLOT(void, bar2,(const char *)),)
 
 LUMIERA_INTERFACE_DECLARE (lumieraorg_testexample_void, 0)
 
void testfunc (const char *message)
 
LumieraInterface testacquire (LumieraInterface self, LumieraInterface interface)
 
void testrelease (LumieraInterface self)
 
 LUMIERA_INTERFACE_INSTANCE (lumieraorg_interfacedescriptor, 0, lumieraorg_tests_descriptor, LUMIERA_INTERFACE_REF(lumieraorg_interfacedescriptor, 0, lumieraorg_tests_descriptor), testacquire, testrelease, LUMIERA_INTERFACE_INLINE(name, const char *,(LumieraInterface iface), {(void) iface;return "LumieraTest";}), LUMIERA_INTERFACE_INLINE(brief, const char *,(LumieraInterface iface), {(void) iface;return "Lumiera Test suite examples";}), LUMIERA_INTERFACE_INLINE(homepage, const char *,(LumieraInterface iface), {(void) iface;return "http://www.lumiera.org/develompent.html";}), LUMIERA_INTERFACE_INLINE(version, const char *,(LumieraInterface iface), {(void) iface;return "No Version";}), LUMIERA_INTERFACE_INLINE(author, const char *,(LumieraInterface iface), {(void) iface;return "Christian Thaeter";}), LUMIERA_INTERFACE_INLINE(email, const char *,(LumieraInterface iface), {(void) iface;return "ct@pipapo.org";}), LUMIERA_INTERFACE_INLINE(copyright, const char *,(LumieraInterface iface), {(void) iface;return "Copyright (C)\n" " 2008, Christian Thaeter <ct@pipapo.org>";}), LUMIERA_INTERFACE_INLINE(license, const char *,(LumieraInterface iface), {(void) iface;return "**Lumiera** is free software; you can redistribute it and/or modify it\n" "under the terms of the GNU General Public License as published by the\n" "Free Software Foundation; either version 2 of the License, or (at your\n" "option) any later version. See the file COPYING for further details." ;}), LUMIERA_INTERFACE_INLINE(state, int,(LumieraInterface iface), {(void) iface;return LUMIERA_INTERFACE_EXPERIMENTAL;}), LUMIERA_INTERFACE_INLINE(versioncmp, int,(const char *a, const char *b), {(void) a;(void) b;return 0;}))
 
static LUMIERA_INTERFACE_HANDLE (static LUMIERA_INTERFACE_HANDLE(lumieraorg_testexample_void, 0)
 
void testrelease_one (LumieraInterface self)
 
void testrelease_two (LumieraInterface self)
 
void testrelease_three (LumieraInterface self)
 
void testrelease_four (LumieraInterface self)
 
 LUMIERA_EXPORT (LUMIERA_INTERFACE_DEFINE(lumieraorg_testexample_one, 0, lumieraorg_first_test, LUMIERA_INTERFACE_REF(lumieraorg_interfacedescriptor, 0, lumieraorg_tests_descriptor), testacquire, testrelease, LUMIERA_INTERFACE_MAP(foo1, testfunc), LUMIERA_INTERFACE_MAP(bar1, testfunc)), LUMIERA_INTERFACE_DEFINE(lumieraorg_testexample_two, 0, lumieraorg_second_test, LUMIERA_INTERFACE_REF(lumieraorg_interfacedescriptor, 0, lumieraorg_tests_descriptor), testacquire, testrelease, LUMIERA_INTERFACE_MAP(foo2, testfunc), LUMIERA_INTERFACE_MAP(bar2, testfunc)), LUMIERA_INTERFACE_DEFINE(lumieraorg_testexample_void, 0, lumieraorg_dependencytest_one, LUMIERA_INTERFACE_REF(lumieraorg_interfacedescriptor, 0, lumieraorg_tests_descriptor), testacquire_one, testrelease_one), LUMIERA_INTERFACE_DEFINE(lumieraorg_testexample_void, 0, lumieraorg_dependencytest_two, LUMIERA_INTERFACE_REF(lumieraorg_interfacedescriptor, 0, lumieraorg_tests_descriptor), testacquire_two, testrelease_two), LUMIERA_INTERFACE_DEFINE(lumieraorg_testexample_void, 0, lumieraorg_dependencytest_three, LUMIERA_INTERFACE_REF(lumieraorg_interfacedescriptor, 0, lumieraorg_tests_descriptor), testacquire_three, testrelease_three), LUMIERA_INTERFACE_DEFINE(lumieraorg_testexample_void, 0, lumieraorg_dependencytest_four, LUMIERA_INTERFACE_REF(lumieraorg_interfacedescriptor, 0, lumieraorg_tests_descriptor), testacquire_four, testrelease_four))
 
TESTS_BEGIN TEST (basic)
 
 TEST (open_close)
 
 TEST (dependencies_one)
 
 TEST (dependencies_two)
 
 TEST (dependencies_three)
 
 TEST (dependencies_four)
 
 TEST (dependencies_all)
 
 TEST (plugin_discover)
 
 TEST (plugin_unload)
 
 TEST (plugin_exampleplugin)
 
 TEST (plugin_exampleplugin_nested)
 
 TEST (plugin_exampleplugin_cpp)
 

Function Documentation

◆ LUMIERA_INTERFACE_DECLARE() [1/3]

LUMIERA_INTERFACE_DECLARE ( lumieraorg_testexample_one  ,
,
LUMIERA_INTERFACE_SLOT(void, foo1,(const char *))  ,
LUMIERA_INTERFACE_SLOT(void, bar1,(const char *))   
)

◆ LUMIERA_INTERFACE_DECLARE() [2/3]

LUMIERA_INTERFACE_DECLARE ( lumieraorg_testexample_two  ,
,
LUMIERA_INTERFACE_SLOT(void, foo2,(const char *))  ,
LUMIERA_INTERFACE_SLOT(void, bar2,(const char *))   
)

◆ LUMIERA_INTERFACE_DECLARE() [3/3]

LUMIERA_INTERFACE_DECLARE ( lumieraorg_testexample_void  ,
 
)

◆ testfunc()

void testfunc ( const char *  message)

Definition at line 53 of file test-interfaces.c.

◆ testacquire()

LumieraInterface testacquire ( LumieraInterface  self,
LumieraInterface  interface 
)

Definition at line 61 of file test-interfaces.c.

◆ testrelease()

void testrelease ( LumieraInterface  self)

Definition at line 70 of file test-interfaces.c.

◆ LUMIERA_INTERFACE_INSTANCE()

LUMIERA_INTERFACE_INSTANCE ( lumieraorg_interfacedescriptor  ,
,
lumieraorg_tests_descriptor  ,
LUMIERA_INTERFACE_REF(lumieraorg_interfacedescriptor, 0, lumieraorg_tests_descriptor)  ,
testacquire  ,
testrelease  ,
LUMIERA_INTERFACE_INLINE(name, const char *,(LumieraInterface iface), {(void) iface;return "LumieraTest";})  ,
LUMIERA_INTERFACE_INLINE(brief, const char *,(LumieraInterface iface), {(void) iface;return "Lumiera Test suite examples";})  ,
LUMIERA_INTERFACE_INLINE(homepage, const char *,(LumieraInterface iface), {(void) iface;return "http://www.lumiera.org/develompent.html";})  ,
LUMIERA_INTERFACE_INLINE(version, const char *,(LumieraInterface iface), {(void) iface;return "No Version";})  ,
LUMIERA_INTERFACE_INLINE(author, const char *,(LumieraInterface iface), {(void) iface;return "Christian Thaeter";})  ,
LUMIERA_INTERFACE_INLINE(email, const char *,(LumieraInterface iface), {(void) iface;return "ct@pipapo.org";})  ,
LUMIERA_INTERFACE_INLINE(copyright, const char *,(LumieraInterface iface), {(void) iface;return "Copyright (C)\n" " 2008, Christian Thaeter <ct@pipapo.org>";})  ,
LUMIERA_INTERFACE_INLINE(license, const char *,(LumieraInterface iface), {(void) iface;return "**Lumiera** is free software; you can redistribute it and/or modify it\n" "under the terms of the GNU General Public License as published by the\n" "Free Software Foundation; either version 2 of the License, or (at your\n" "option) any later version. See the file COPYING for further details." ;})  ,
LUMIERA_INTERFACE_INLINE(state, int,(LumieraInterface iface), {(void) iface;return LUMIERA_INTERFACE_EXPERIMENTAL;})  ,
LUMIERA_INTERFACE_INLINE(versioncmp, int,(const char *a, const char *b), {(void) a;(void) b;return 0;})   
)

◆ LUMIERA_INTERFACE_HANDLE()

static LUMIERA_INTERFACE_HANDLE ( static LUMIERA_INTERFACE_HANDLE(  lumieraorg_testexample_void,
 
)
static

Definition at line 159 of file test-interfaces.c.

References LUMIERA_INTERFACE_OPEN.

◆ testrelease_one()

void testrelease_one ( LumieraInterface  self)

Definition at line 173 of file test-interfaces.c.

References lumiera_interface_close().

+ Here is the call graph for this function:

◆ testrelease_two()

void testrelease_two ( LumieraInterface  self)

Definition at line 194 of file test-interfaces.c.

References lumiera_interface_close().

+ Here is the call graph for this function:

◆ testrelease_three()

void testrelease_three ( LumieraInterface  self)

Definition at line 215 of file test-interfaces.c.

References lumiera_interface_close().

+ Here is the call graph for this function:

◆ testrelease_four()

void testrelease_four ( LumieraInterface  self)

Definition at line 238 of file test-interfaces.c.

References lumiera_interface_close().

+ Here is the call graph for this function:

◆ LUMIERA_EXPORT()

LUMIERA_EXPORT ( LUMIERA_INTERFACE_DEFINE(lumieraorg_testexample_one, 0, lumieraorg_first_test, LUMIERA_INTERFACE_REF(lumieraorg_interfacedescriptor, 0, lumieraorg_tests_descriptor), testacquire, testrelease, LUMIERA_INTERFACE_MAP(foo1, testfunc), LUMIERA_INTERFACE_MAP(bar1, testfunc))  ,
LUMIERA_INTERFACE_DEFINE(lumieraorg_testexample_two, 0, lumieraorg_second_test, LUMIERA_INTERFACE_REF(lumieraorg_interfacedescriptor, 0, lumieraorg_tests_descriptor), testacquire, testrelease, LUMIERA_INTERFACE_MAP(foo2, testfunc), LUMIERA_INTERFACE_MAP(bar2, testfunc))  ,
LUMIERA_INTERFACE_DEFINE(lumieraorg_testexample_void, 0, lumieraorg_dependencytest_one, LUMIERA_INTERFACE_REF(lumieraorg_interfacedescriptor, 0, lumieraorg_tests_descriptor), testacquire_one, testrelease_one ,
LUMIERA_INTERFACE_DEFINE(lumieraorg_testexample_void, 0, lumieraorg_dependencytest_two, LUMIERA_INTERFACE_REF(lumieraorg_interfacedescriptor, 0, lumieraorg_tests_descriptor), testacquire_two, testrelease_two ,
LUMIERA_INTERFACE_DEFINE(lumieraorg_testexample_void, 0, lumieraorg_dependencytest_three, LUMIERA_INTERFACE_REF(lumieraorg_interfacedescriptor, 0, lumieraorg_tests_descriptor), testacquire_three, testrelease_three ,
LUMIERA_INTERFACE_DEFINE(lumieraorg_testexample_void, 0, lumieraorg_dependencytest_four, LUMIERA_INTERFACE_REF(lumieraorg_interfacedescriptor, 0, lumieraorg_tests_descriptor), testacquire_four, testrelease_four  
)

◆ TEST() [1/12]

TESTS_BEGIN TEST ( basic  )

Definition at line 297 of file test-interfaces.c.

References LUMIERA_INTERFACE_CAST, LUMIERA_INTERFACE_TYPE, LUMIERA_INTERFACE_UNREGISTEREXPORTED, lumiera_interfaceregistry_bulkregister_interfaces(), lumiera_interfaceregistry_destroy(), lumiera_interfaceregistry_init(), lumiera_interfaceregistry_interface_find(), and NULL.

+ Here is the call graph for this function:

◆ TEST() [2/12]

TEST ( open_close  )

Definition at line 321 of file test-interfaces.c.

References lumiera_interface_close(), LUMIERA_INTERFACE_HANDLE, LUMIERA_INTERFACE_OPEN, LUMIERA_INTERFACE_UNREGISTEREXPORTED, lumiera_interfaceregistry_bulkregister_interfaces(), lumiera_interfaceregistry_destroy(), lumiera_interfaceregistry_init(), and NULL.

+ Here is the call graph for this function:

◆ TEST() [3/12]

TEST ( dependencies_one  )

Definition at line 338 of file test-interfaces.c.

References lumiera_interface_close(), LUMIERA_INTERFACE_HANDLE, LUMIERA_INTERFACE_OPEN, LUMIERA_INTERFACE_REGISTEREXPORTED, LUMIERA_INTERFACE_UNREGISTEREXPORTED, lumiera_interfaceregistry_destroy(), and lumiera_interfaceregistry_init().

+ Here is the call graph for this function:

◆ TEST() [4/12]

TEST ( dependencies_two  )

Definition at line 356 of file test-interfaces.c.

References lumiera_interface_close(), LUMIERA_INTERFACE_HANDLE, LUMIERA_INTERFACE_OPEN, LUMIERA_INTERFACE_REGISTEREXPORTED, LUMIERA_INTERFACE_UNREGISTEREXPORTED, lumiera_interfaceregistry_destroy(), and lumiera_interfaceregistry_init().

+ Here is the call graph for this function:

◆ TEST() [5/12]

TEST ( dependencies_three  )

Definition at line 373 of file test-interfaces.c.

References lumiera_interface_close(), LUMIERA_INTERFACE_HANDLE, LUMIERA_INTERFACE_OPEN, LUMIERA_INTERFACE_REGISTEREXPORTED, LUMIERA_INTERFACE_UNREGISTEREXPORTED, lumiera_interfaceregistry_destroy(), and lumiera_interfaceregistry_init().

+ Here is the call graph for this function:

◆ TEST() [6/12]

TEST ( dependencies_four  )

Definition at line 391 of file test-interfaces.c.

References lumiera_interface_close(), LUMIERA_INTERFACE_HANDLE, LUMIERA_INTERFACE_OPEN, LUMIERA_INTERFACE_REGISTEREXPORTED, LUMIERA_INTERFACE_UNREGISTEREXPORTED, lumiera_interfaceregistry_destroy(), and lumiera_interfaceregistry_init().

+ Here is the call graph for this function:

◆ TEST() [7/12]

TEST ( dependencies_all  )

Definition at line 410 of file test-interfaces.c.

References lumiera_interface_close(), LUMIERA_INTERFACE_HANDLE, LUMIERA_INTERFACE_OPEN, LUMIERA_INTERFACE_REGISTEREXPORTED, LUMIERA_INTERFACE_UNREGISTEREXPORTED, lumiera_interfaceregistry_destroy(), and lumiera_interfaceregistry_init().

+ Here is the call graph for this function:

◆ TEST() [8/12]

TEST ( plugin_discover  )

Definition at line 455 of file test-interfaces.c.

References lumiera_error(), lumiera_interfaceregistry_destroy(), lumiera_interfaceregistry_init(), lumiera_plugin_discover(), lumiera_plugin_load(), lumiera_plugin_lookup(), lumiera_plugin_name(), and lumiera_plugin_register().

+ Here is the call graph for this function:

◆ TEST() [9/12]

TEST ( plugin_unload  )

Definition at line 474 of file test-interfaces.c.

References lumiera_interfaceregistry_destroy(), lumiera_interfaceregistry_init(), lumiera_plugin_discover(), lumiera_plugin_load(), lumiera_plugin_lookup(), lumiera_plugin_register(), and lumiera_plugin_unload().

+ Here is the call graph for this function:

◆ TEST() [10/12]

TEST ( plugin_exampleplugin  )

Definition at line 492 of file test-interfaces.c.

References LUMIERA_INTERFACE_CLOSE, LUMIERA_INTERFACE_HANDLE, LUMIERA_INTERFACE_OPEN, lumiera_interfaceregistry_destroy(), lumiera_interfaceregistry_init(), lumiera_plugin_discover(), lumiera_plugin_load(), and lumiera_plugin_register().

+ Here is the call graph for this function:

◆ TEST() [11/12]

TEST ( plugin_exampleplugin_nested  )

Definition at line 517 of file test-interfaces.c.

References lumiera_config_interface_destroy(), lumiera_config_interface_init(), LUMIERA_INTERFACE_CLOSE, LUMIERA_INTERFACE_HANDLE, LUMIERA_INTERFACE_OPEN, lumiera_interfaceregistry_destroy(), lumiera_interfaceregistry_init(), lumiera_plugin_discover(), lumiera_plugin_load(), and lumiera_plugin_register().

+ Here is the call graph for this function:

◆ TEST() [12/12]

TEST ( plugin_exampleplugin_cpp  )

Definition at line 535 of file test-interfaces.c.

References LUMIERA_INTERFACE_CLOSE, LUMIERA_INTERFACE_HANDLE, LUMIERA_INTERFACE_OPEN, lumiera_interfaceregistry_destroy(), lumiera_interfaceregistry_init(), lumiera_plugin_discover(), lumiera_plugin_load(), and lumiera_plugin_register().

+ Here is the call graph for this function: