From 200f38ad4cb3a7a3e396b8d9064afbe7f1b1b54c Mon Sep 17 00:00:00 2001 From: Martin Willi Date: Tue, 9 Apr 2013 15:05:24 +0200 Subject: [PATCH] unit-tests: add a helper function checking if a plugin feature is available --- src/libstrongswan/tests/test_runner.c | 32 +++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/src/libstrongswan/tests/test_runner.c b/src/libstrongswan/tests/test_runner.c index 9d54b18db..35642cbb6 100644 --- a/src/libstrongswan/tests/test_runner.c +++ b/src/libstrongswan/tests/test_runner.c @@ -18,6 +18,38 @@ #include "test_runner.h" #include +#include + +/** + * Check if the plugin configuration provides a specific feature + */ +static bool has_feature(plugin_feature_t feature) +{ + enumerator_t *plugins, *features; + plugin_t *plugin; + linked_list_t *list; + plugin_feature_t *current; + bool found = FALSE; + + plugins = lib->plugins->create_plugin_enumerator(lib->plugins); + while (plugins->enumerate(plugins, &plugin, &list)) + { + features = list->create_enumerator(list); + while (features->enumerate(features, ¤t)) + { + if (plugin_feature_matches(&feature, current)) + { + found = TRUE; + break; + } + } + features->destroy(features); + list->destroy(list); + } + plugins->destroy(plugins); + + return found; +} int main() {