unit-tests: Added tests for pen_type_t
authorAndreas Steffen <andreas.steffen@strongswan.org>
Fri, 1 Nov 2013 21:29:29 +0000 (22:29 +0100)
committerAndreas Steffen <andreas.steffen@strongswan.org>
Fri, 1 Nov 2013 21:29:29 +0000 (22:29 +0100)
src/libstrongswan/tests/Makefile.am
src/libstrongswan/tests/test_pen.c [new file with mode: 0644]
src/libstrongswan/tests/test_runner.c

index c3d41a1..0336ec8 100644 (file)
@@ -7,7 +7,7 @@ test_runner_SOURCES = \
   test_linked_list.c test_enumerator.c test_linked_list_enumerator.c \
   test_bio_reader.c test_bio_writer.c test_chunk.c test_enum.c test_hashtable.c \
   test_identification.c test_threading.c test_utils.c test_vectors.c \
-  test_array.c test_ecdsa.c test_rsa.c test_host.c test_printf.c
+  test_array.c test_ecdsa.c test_rsa.c test_host.c test_printf.c test_pen.c
 
 test_runner_CFLAGS = \
   -I$(top_srcdir)/src/libstrongswan \
diff --git a/src/libstrongswan/tests/test_pen.c b/src/libstrongswan/tests/test_pen.c
new file mode 100644 (file)
index 0000000..a6cbc9a
--- /dev/null
@@ -0,0 +1,87 @@
+/*
+ * Copyright (C) 2013 Andreas Steffen
+ * HSR 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 "test_suite.h"
+
+#include <pen/pen.h>
+
+/*******************************************************************************
+ * create
+ */
+
+START_TEST(test_pen_type_create)
+{
+       pen_type_t ita_1 = pen_type_create(PEN_ITA, 100);
+
+       ck_assert(ita_1.vendor_id == PEN_ITA);
+       ck_assert(ita_1.type == 100);
+}
+END_TEST
+
+/*******************************************************************************
+ * equals
+ */
+
+START_TEST(test_pen_type_equals)
+{
+       pen_type_t ita_1 = pen_type_create(PEN_ITA, 100);
+       pen_type_t ita_2 = pen_type_create(PEN_ITA, 200);
+       pen_type_t fhh_1 = pen_type_create(PEN_FHH, 100);
+       pen_type_t fhh_2 = pen_type_create(PEN_FHH, 200);
+
+       ck_assert( pen_type_equals(ita_1, ita_1));
+       ck_assert(!pen_type_equals(ita_1, ita_2));
+       ck_assert(!pen_type_equals(ita_1, fhh_1));
+       ck_assert(!pen_type_equals(ita_1, fhh_2));
+}
+END_TEST
+
+/*******************************************************************************
+ * is
+ */
+
+START_TEST(test_pen_type_is)
+{
+       pen_type_t ita_1 = pen_type_create(PEN_ITA, 100);
+
+       ck_assert( pen_type_is(ita_1, PEN_ITA, 100));
+       ck_assert(!pen_type_is(ita_1, PEN_ITA, 200));
+       ck_assert(!pen_type_is(ita_1, PEN_FHH, 100));
+       ck_assert(!pen_type_is(ita_1, PEN_FHH, 200));
+}
+END_TEST
+
+Suite *pen_suite_create()
+{
+       Suite *s;
+       TCase *tc;
+
+       s = suite_create("pen");
+
+       tc = tcase_create("create");
+       tcase_add_test(tc, test_pen_type_create);
+       suite_add_tcase(s, tc);
+
+       tc = tcase_create("equals");
+       tcase_add_test(tc, test_pen_type_equals);
+       suite_add_tcase(s, tc);
+
+       tc = tcase_create("is");
+       tcase_add_test(tc, test_pen_type_is);
+       suite_add_tcase(s, tc);
+
+       return s;
+}
index f858585..e1269f2 100644 (file)
@@ -85,6 +85,7 @@ int main()
        srunner_add_suite(sr, host_suite_create());
        srunner_add_suite(sr, vectors_suite_create());
        srunner_add_suite(sr, printf_suite_create());
+       srunner_add_suite(sr, pen_suite_create());
        if (lib->plugins->has_feature(lib->plugins,
                                                                  PLUGIN_DEPENDS(PRIVKEY_GEN, KEY_RSA)))
        {