aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Willi <martin@revosec.ch>2015-04-27 13:06:39 +0200
committerMartin Willi <martin@revosec.ch>2015-07-12 13:25:50 +0200
commit88d90c7b4bf92aeb3ad1c1eadf0d26ff6f7ab627 (patch)
tree02517e24a49dca87651406c52483c1d755dccb29
parentfe5d6eaa9f53513e0d4ae335a51bbb31a0d81c7f (diff)
downloadstrongswan-88d90c7b4bf92aeb3ad1c1eadf0d26ff6f7ab627.tar.bz2
strongswan-88d90c7b4bf92aeb3ad1c1eadf0d26ff6f7ab627.tar.xz
unit-tests: Load libstrongswan plugins in libcharon tests
-rw-r--r--src/libcharon/tests/Makefile.am2
-rw-r--r--src/libcharon/tests/libcharon_tests.c14
2 files changed, 16 insertions, 0 deletions
diff --git a/src/libcharon/tests/Makefile.am b/src/libcharon/tests/Makefile.am
index c8be28594..0c1976ac4 100644
--- a/src/libcharon/tests/Makefile.am
+++ b/src/libcharon/tests/Makefile.am
@@ -11,6 +11,8 @@ libcharon_tests_CFLAGS = \
-I$(top_srcdir)/src/libhydra \
-I$(top_srcdir)/src/libstrongswan \
-I$(top_srcdir)/src/libstrongswan/tests \
+ -DPLUGINDIR=\""$(abs_top_builddir)/src/libstrongswan/plugins\"" \
+ -DPLUGINS=\""${s_plugins}\"" \
@COVERAGE_CFLAGS@
libcharon_tests_LDFLAGS = @COVERAGE_LDFLAGS@
diff --git a/src/libcharon/tests/libcharon_tests.c b/src/libcharon/tests/libcharon_tests.c
index 1ed0f0c95..a22b15129 100644
--- a/src/libcharon/tests/libcharon_tests.c
+++ b/src/libcharon/tests/libcharon_tests.c
@@ -37,13 +37,27 @@ static bool test_runner_init(bool init)
{
if (init)
{
+ char *plugins, *plugindir;
+
libhydra_init();
libcharon_init();
+
+ plugins = getenv("TESTS_PLUGINS") ?:
+ lib->settings->get_str(lib->settings,
+ "tests.load", PLUGINS);
+ plugindir = lib->settings->get_str(lib->settings,
+ "tests.plugindir", PLUGINDIR);
+ plugin_loader_add_plugindirs(plugindir, plugins);
+ if (!lib->plugins->load(lib->plugins, plugins))
+ {
+ return FALSE;
+ }
}
else
{
lib->processor->set_threads(lib->processor, 0);
lib->processor->cancel(lib->processor);
+ lib->plugins->unload(lib->plugins);
libcharon_deinit();
libhydra_deinit();
}