aboutsummaryrefslogtreecommitdiffstats
path: root/Source/charon/testcases
diff options
context:
space:
mode:
Diffstat (limited to 'Source/charon/testcases')
-rw-r--r--Source/charon/testcases/Makefile.testcases6
-rw-r--r--Source/charon/testcases/kernel_interface_test.c81
-rw-r--r--Source/charon/testcases/kernel_interface_test.h38
-rw-r--r--Source/charon/testcases/testcases.c2
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;