diff options
Diffstat (limited to 'Source/charon/testcases')
-rw-r--r-- | Source/charon/testcases/diffie_hellman_test.c | 56 | ||||
-rw-r--r-- | Source/charon/testcases/diffie_hellman_test.h | 37 | ||||
-rw-r--r-- | Source/charon/testcases/testcases.c | 16 |
3 files changed, 105 insertions, 4 deletions
diff --git a/Source/charon/testcases/diffie_hellman_test.c b/Source/charon/testcases/diffie_hellman_test.c new file mode 100644 index 000000000..2e1fd75a8 --- /dev/null +++ b/Source/charon/testcases/diffie_hellman_test.c @@ -0,0 +1,56 @@ +/** + * @file diffie_hellman_test.c + * + * @brief Tests to test the Diffie Hellman object diffie_hellman_t + * + */ + +/* + * Copyright (C) 2005 Jan Hutter, Martin Willi + * Hochschule fuer Technik Rapperswil + * + * 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 2 of the License, or (at your + * option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>. + * + * 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. + */ + +#include "diffie_hellman_test.h" + +#include "../transforms/diffie_hellman.h" + +#include "../globals.h" +#include "../utils/logger_manager.h" +#include "../utils/allocator.h" + +/* + * described in Header-File + */ +void test_diffie_hellman(tester_t *tester) +{ + diffie_hellman_t *diffie_hellman; + logger_t *logger; + chunk_t public_value; + + logger = global_logger_manager->create_logger(global_logger_manager,TESTER,"Diffie Hellman"); + + + diffie_hellman = diffie_hellman_create(5); + tester->assert_true(tester,(diffie_hellman != NULL), "create call check"); + + + + tester->assert_true(tester,( diffie_hellman->get_my_public_value(diffie_hellman,&public_value) == SUCCESS), "get_my_public_value call check"); + + logger->log_chunk(logger,RAW,"Public value",&public_value); + + allocator_free(public_value.ptr); + + tester->assert_true(tester,(diffie_hellman->destroy(diffie_hellman) == SUCCESS), "destroy call check"); + global_logger_manager->destroy_logger(global_logger_manager,logger); +} diff --git a/Source/charon/testcases/diffie_hellman_test.h b/Source/charon/testcases/diffie_hellman_test.h new file mode 100644 index 000000000..f42de183f --- /dev/null +++ b/Source/charon/testcases/diffie_hellman_test.h @@ -0,0 +1,37 @@ +/** + * @file diffie_hellman_test.h + * + * @brief Tests to test the Diffie Hellman object diffie_hellman_t + * + */ + +/* + * Copyright (C) 2005 Jan Hutter, Martin Willi + * Hochschule fuer Technik Rapperswil + * + * 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 2 of the License, or (at your + * option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>. + * + * 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. + */ + +#ifndef DIFFIE_HELLMAN_TEST_H_ +#define DIFFIE_HELLMAN_TEST_H_ + +#include "../utils/tester.h" + +/** + * @brief Test function used to test the diffie_hellman_t functionality + * + * Tests are performed using one thread + * + * @param tester associated tester object + */ +void test_diffie_hellman(tester_t *tester); + +#endif /*DIFFIE_HELLMAN_TEST_H_*/ diff --git a/Source/charon/testcases/testcases.c b/Source/charon/testcases/testcases.c index aed858dae..f2b2bc03b 100644 --- a/Source/charon/testcases/testcases.c +++ b/Source/charon/testcases/testcases.c @@ -47,6 +47,7 @@ #include "generator_test.h" #include "parser_test.h" #include "packet_test.h" +#include "diffie_hellman_test.h" /* output for test messages */ @@ -167,6 +168,12 @@ test_t packet_test = {test_packet,"Packet"}; /** + * Test for packet_t + */ +test_t diffie_hellman_test = {test_diffie_hellman,"Diffie Hellman"}; + + +/** * Global job-queue */ job_queue_t *global_job_queue; @@ -219,7 +226,7 @@ logger_manager_t *global_logger_manager; &sender_test, &receiver_test, &ike_sa_id_test, - //&ike_sa_test, + &ike_sa_test, &generator_test1, &generator_test2, &parser_test1, @@ -235,6 +242,7 @@ logger_manager_t *global_logger_manager; &generator_test8, &ike_sa_manager_test, &packet_test, + &diffie_hellman_test, NULL }; global_logger_manager = logger_manager_create(ALL); @@ -247,13 +255,13 @@ logger_manager_t *global_logger_manager; global_configuration_manager = configuration_manager_create(); global_ike_sa_manager = ike_sa_manager_create(); - global_logger_manager->disable_logger_level(global_logger_manager,TESTER,ALL); + //global_logger_manager->disable_logger_level(global_logger_manager,TESTER,ALL); tester_t *tester = tester_create(test_output, FALSE); - tester->perform_tests(tester,all_tests); - //tester->perform_test(tester,&packet_test); + //tester->perform_tests(tester,all_tests); + tester->perform_test(tester,&diffie_hellman_test); |