aboutsummaryrefslogtreecommitdiffstats
path: root/src/charon-tkm/tests
diff options
context:
space:
mode:
Diffstat (limited to 'src/charon-tkm/tests')
-rw-r--r--src/charon-tkm/tests/test_runner.c1
-rw-r--r--src/charon-tkm/tests/test_runner.h1
-rw-r--r--src/charon-tkm/tests/utils_tests.c45
3 files changed, 47 insertions, 0 deletions
diff --git a/src/charon-tkm/tests/test_runner.c b/src/charon-tkm/tests/test_runner.c
index e1190fb63..d29396c99 100644
--- a/src/charon-tkm/tests/test_runner.c
+++ b/src/charon-tkm/tests/test_runner.c
@@ -29,6 +29,7 @@ int main(void)
Suite *s = suite_create("TKM tests");
suite_add_tcase(s, make_id_manager_tests());
suite_add_tcase(s, make_chunk_map_tests());
+ suite_add_tcase(s, make_utility_tests());
suite_add_tcase(s, make_nonceg_tests());
suite_add_tcase(s, make_diffie_hellman_tests());
diff --git a/src/charon-tkm/tests/test_runner.h b/src/charon-tkm/tests/test_runner.h
index 47ffd0c56..c3dee9820 100644
--- a/src/charon-tkm/tests/test_runner.h
+++ b/src/charon-tkm/tests/test_runner.h
@@ -21,6 +21,7 @@
TCase *make_id_manager_tests(void);
TCase *make_chunk_map_tests(void);
+TCase *make_utility_tests(void);
TCase *make_nonceg_tests(void);
TCase *make_diffie_hellman_tests(void);
diff --git a/src/charon-tkm/tests/utils_tests.c b/src/charon-tkm/tests/utils_tests.c
new file mode 100644
index 000000000..510ebd0b7
--- /dev/null
+++ b/src/charon-tkm/tests/utils_tests.c
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2012 Reto Buerki
+ * Copyright (C) 2012 Adrian-Ken Rueegsegger
+ * 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 <check.h>
+#include <tkm/types.h>
+
+#include "tkm_utils.h"
+
+START_TEST(test_sequence_to_chunk)
+{
+ key_type key = {5, {0, 1, 2, 3, 4}};
+ chunk_t chunk = chunk_empty;
+
+ sequence_to_chunk(key.data, key.size, &chunk);
+ fail_if(chunk.len != key.size, "Chunk size mismatch");
+
+ uint32_t i;
+ for (i = 0; i < key.size; i++)
+ {
+ fail_if(chunk.ptr[i] != i, "Data mismatch");
+ }
+ chunk_free(&chunk);
+}
+END_TEST
+
+TCase *make_utility_tests(void)
+{
+ TCase *tc = tcase_create("Utility tests");
+ tcase_add_test(tc, test_sequence_to_chunk);
+
+ return tc;
+}