diff options
Diffstat (limited to 'Source/charon/testcases')
-rw-r--r-- | Source/charon/testcases/Makefile.testcases | 6 | ||||
-rw-r--r-- | Source/charon/testcases/kernel_interface_test.c | 81 | ||||
-rw-r--r-- | Source/charon/testcases/kernel_interface_test.h | 38 | ||||
-rw-r--r-- | Source/charon/testcases/testcases.c | 2 |
4 files changed, 127 insertions, 0 deletions
diff --git a/Source/charon/testcases/Makefile.testcases b/Source/charon/testcases/Makefile.testcases index bdb54c226..e9f07f518 100644 --- a/Source/charon/testcases/Makefile.testcases +++ b/Source/charon/testcases/Makefile.testcases @@ -123,3 +123,9 @@ $(BUILD_DIR)rsa_test.o : $(TESTCASES_DIR)rsa_test.c $(TESTCASES_DIR)rsa_test.h TEST_OBJS+= $(BUILD_DIR)prime_pool_test.o $(BUILD_DIR)prime_pool_test.o : $(TESTCASES_DIR)prime_pool_test.c $(TESTCASES_DIR)prime_pool_test.h $(CC) $(CFLAGS) -c -o $@ $< + + +TEST_OBJS+= $(BUILD_DIR)kernel_interface_test.o +$(BUILD_DIR)kernel_interface_test.o : $(TESTCASES_DIR)kernel_interface_test.c $(TESTCASES_DIR)kernel_interface_test.h + $(CC) $(CFLAGS) -c -o $@ $< +
\ No newline at end of file diff --git a/Source/charon/testcases/kernel_interface_test.c b/Source/charon/testcases/kernel_interface_test.c new file mode 100644 index 000000000..1c475ec86 --- /dev/null +++ b/Source/charon/testcases/kernel_interface_test.c @@ -0,0 +1,81 @@ +/** + * @file kernel_interface_test.h + * + * @brief Tests for the kernel_interface_t class. + * + */ + +/* + * 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 "kernel_interface_test.h" + +#include <daemon.h> +#include <threads/kernel_interface.h> +#include <utils/allocator.h> +#include <utils/logger.h> +#include <network/host.h> + + +/* + * described in Header-File + */ +void test_kernel_interface(tester_t *tester) +{ + kernel_interface_t *kernel_interface; + u_int32_t spi; + host_t *me, *other; + status_t status; + + u_int8_t enc_key_bytes[] = { + 0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08, + 0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08 + }; + + u_int8_t inc_key_bytes[] = { + 0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08, + 0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08 + }; + + chunk_t enc_key,inc_key; + enc_key.ptr = enc_key_bytes; + enc_key.len = sizeof(enc_key_bytes); + inc_key.ptr = inc_key_bytes; + inc_key.len = sizeof(inc_key_bytes); + + + + kernel_interface = kernel_interface_create(); + + me = host_create(AF_INET, "152.96.193.130", 500); + other = host_create(AF_INET, "152.96.193.130", 500); + + + + //status = kernel_interface->get_spi(kernel_interface, me, other, 51, TRUE, &spi); + //status |= kernel_interface->get_spi(kernel_interface, me, other, 50, TRUE, &spi); + //tester->assert_true(tester, status == SUCCESS, "spi get"); + + status = kernel_interface->add_sa(kernel_interface, me, other, spi, 50, TRUE, ENCR_AES_CBC, 16, enc_key,AUTH_HMAC_MD5_96,16,inc_key,FALSE); + tester->assert_true(tester, status == SUCCESS, "build sa"); + + + me->destroy(me); + other->destroy(other); + + kernel_interface->destroy(kernel_interface); + +} diff --git a/Source/charon/testcases/kernel_interface_test.h b/Source/charon/testcases/kernel_interface_test.h new file mode 100644 index 000000000..e6062830d --- /dev/null +++ b/Source/charon/testcases/kernel_interface_test.h @@ -0,0 +1,38 @@ +/** + * @file kernel_interface_test.h + * + * @brief Tests for the kernel_interface_t class. + * + */ + +/* + * 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 KERNEL_INTERFACE_TEST_H_ +#define KERNEL_INTERFACE_TEST_H_ + +#include <utils/tester.h> + +/** + * @brief Test function used to test the kernel_interface functionality. + * + * @param tester associated tester object + * + * @ingroup testcases + */ +void test_kernel_interface(tester_t *tester); + + +#endif /*KERNEL_INTERFACE_TEST_H_*/ diff --git a/Source/charon/testcases/testcases.c b/Source/charon/testcases/testcases.c index 3e3c850a3..3aad8e42c 100644 --- a/Source/charon/testcases/testcases.c +++ b/Source/charon/testcases/testcases.c @@ -60,6 +60,7 @@ #include <testcases/sa_config_test.h> #include <testcases/rsa_test.h> #include <testcases/prime_pool_test.h> +#include <testcases/kernel_interface_test.h> /* output for test messages */ extern FILE * stderr; @@ -120,6 +121,7 @@ test_t init_config_test = {test_init_config, "init_config_t test"}; test_t sa_config_test = {test_sa_config, "sa_config_t test"}; test_t rsa_test = {test_rsa, "RSA private/public key test"}; test_t prime_pool_test = {test_prime_pool, "Prime pool"}; +test_t kernel_interface_test = {test_kernel_interface, "Kernel Interface"}; daemon_t* charon; |