unit-tests: add a test case checking if all test vectors have been passed
authorMartin Willi <martin@revosec.ch>
Tue, 9 Apr 2013 12:35:38 +0000 (14:35 +0200)
committerMartin Willi <martin@revosec.ch>
Fri, 21 Jun 2013 08:53:20 +0000 (10:53 +0200)
src/libstrongswan/tests/Makefile.am
src/libstrongswan/tests/test_runner.c
src/libstrongswan/tests/test_runner.h
src/libstrongswan/tests/test_vectors.c [new file with mode: 0644]

index eefb400..3ec1082 100644 (file)
@@ -6,7 +6,7 @@ test_runner_SOURCES = \
   test_runner.c test_runner.h test_suite.h \
   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_identification.c test_threading.c test_utils.c test_vectors.c
 
 test_runner_CFLAGS = \
   -I$(top_srcdir)/src/libstrongswan \
index 3a9849e..9d54b18 100644 (file)
@@ -50,6 +50,7 @@ int main()
        srunner_add_suite(sr, identification_suite_create());
        srunner_add_suite(sr, threading_suite_create());
        srunner_add_suite(sr, utils_suite_create());
+       srunner_add_suite(sr, vectors_suite_create());
 
        srunner_run_all(sr, CK_NORMAL);
        nf = srunner_ntests_failed(sr);
index 1fc9851..16f0679 100644 (file)
@@ -29,5 +29,6 @@ Suite *hashtable_suite_create();
 Suite *identification_suite_create();
 Suite *threading_suite_create();
 Suite *utils_suite_create();
+Suite *vectors_suite_create();
 
 #endif /** TEST_RUNNER_H_ */
diff --git a/src/libstrongswan/tests/test_vectors.c b/src/libstrongswan/tests/test_vectors.c
new file mode 100644 (file)
index 0000000..f2817d3
--- /dev/null
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2013 Martin Willi
+ * Copyright (C) 2013 revosec AG
+ *
+ * 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"
+
+/*******************************************************************************
+ * Check if test vectors have been successful during transform registration
+ */
+
+START_TEST(test_vectors)
+{
+       fail_if(lib->crypto->get_test_vector_failures(lib->crypto));
+}
+END_TEST
+
+
+Suite *vectors_suite_create()
+{
+       Suite *s;
+       TCase *tc;
+
+       s = suite_create("vectors");
+
+       tc = tcase_create("failures");
+       tcase_add_test(tc, test_vectors);
+       suite_add_tcase(s, tc);
+
+       return s;
+}