From 09f417b341229af5137586718440820614f35665 Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Mon, 17 May 2010 22:13:52 +0200 Subject: started to add a dynamic library loader, interface and Linux/DLFCN for now --- tests/library/GNUmakefile | 22 ++++++++++++++++++++++ tests/library/test_loader.c | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 tests/library/GNUmakefile create mode 100644 tests/library/test_loader.c (limited to 'tests/library') diff --git a/tests/library/GNUmakefile b/tests/library/GNUmakefile new file mode 100644 index 0000000..18ae8aa --- /dev/null +++ b/tests/library/GNUmakefile @@ -0,0 +1,22 @@ +TOPDIR = ../.. + +INCLUDE_DIRS = \ + -I$(TOPDIR)/include/wolf -I. -I$(TOPDIR)/src + +INCLUDE_LIBS = \ + $(TOPDIR)/src/libwolf.a + +TEST_BINS = \ + test_loader$(EXE) + +-include $(TOPDIR)/makefiles/gmake/sub.mk + +local_all: + +local_clean: + +local_distclean: + +local_test: + @echo "Testing loading of a library and executing a function therein.." + @./test_loader >/dev/null diff --git a/tests/library/test_loader.c b/tests/library/test_loader.c new file mode 100644 index 0000000..ac4f79c --- /dev/null +++ b/tests/library/test_loader.c @@ -0,0 +1,32 @@ +/* + Copyright (C) 2010 Andreas Baumann + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#include "library/loader.h" + +#include /* for EXIT_SUCCESS, EXIT_FAILURE */ +#include /* for fprintf */ + +int main( void ) { + wolf_library_p library; + wolf_error_t error; + + library = wolf_library_load( "testlib.so", &error ); + + wolf_library_unload( library ); + + return EXIT_SUCCESS; +} -- cgit v1.2.3-54-g00ecf