]> git.ipfire.org Git - thirdparty/strongswan.git/commitdiff
unit-tests: Register mock DH implementation as static plugin feature
authorTobias Brunner <tobias@strongswan.org>
Fri, 13 May 2016 10:16:45 +0000 (12:16 +0200)
committerTobias Brunner <tobias@strongswan.org>
Fri, 17 Jun 2016 16:48:02 +0000 (18:48 +0200)
src/libcharon/tests/utils/exchange_test_helper.c

index 17553bc810a6769e3c41daeccf9192c73e5a7d8f..47da9e49a75a69e78ad0af6a58a2de15677ec92e 100644 (file)
@@ -15,6 +15,7 @@
 
 #include "exchange_test_helper.h"
 #include "mock_ipsec.h"
+#include "mock_dh.h"
 
 #include <credentials/sets/mem_cred.h>
 
@@ -201,6 +202,13 @@ static void initialize_logging()
 void exchange_test_helper_init(char *plugins)
 {
        private_exchange_test_helper_t *this;
+       plugin_feature_t features[] = {
+               PLUGIN_REGISTER(DH, mock_dh_create),
+                       /* we only need to support a limited number of DH groups */
+                       PLUGIN_PROVIDE(DH, MODP_2048_BIT),
+                       PLUGIN_PROVIDE(DH, MODP_3072_BIT),
+                       PLUGIN_PROVIDE(DH, ECP_256_BIT),
+       };
 
        INIT(this,
                .public = {
@@ -217,10 +225,13 @@ void exchange_test_helper_init(char *plugins)
        );
 
        initialize_logging();
+       lib->plugins->add_static_features(lib->plugins, "exchange-test-helper",
+                                                               features, countof(features), TRUE, NULL, NULL);
        /* the libcharon unit tests only load the libstrongswan plugins, unless
         * TESTS_PLUGINS is defined */
        charon->initialize(charon, plugins);
        lib->plugins->status(lib->plugins, LEVEL_CTRL);
+
        /* the original sender is not initialized because there is no socket */
        charon->sender = (sender_t*)this->public.sender;
        /* and there is no kernel plugin loaded