Return to test_vectors.c CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / strongswan / src / libstrongswan / tests / suites |
1.1 misho 1: /* 2: * Copyright (C) 2014 Tobias Brunner 3: * HSR Hochschule fuer Technik Rapperswil 4: * 5: * Copyright (C) 2013 Martin Willi 6: * Copyright (C) 2013 revosec AG 7: * 8: * This program is free software; you can redistribute it and/or modify it 9: * under the terms of the GNU General Public License as published by the 10: * Free Software Foundation; either version 2 of the License, or (at your 11: * option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>. 12: * 13: * This program is distributed in the hope that it will be useful, but 14: * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 15: * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 16: * for more details. 17: */ 18: 19: #include "test_suite.h" 20: 21: #include <utils/test.h> 22: #include <threading/thread.h> 23: #include <crypto/transform.h> 24: 25: static transform_type_t tfs[] = { 26: ENCRYPTION_ALGORITHM, 27: AEAD_ALGORITHM, 28: INTEGRITY_ALGORITHM, 29: HASH_ALGORITHM, 30: PSEUDO_RANDOM_FUNCTION, 31: EXTENDED_OUTPUT_FUNCTION, 32: DETERMINISTIC_RANDOM_BIT_GENERATOR, 33: RANDOM_NUMBER_GENERATOR, 34: DIFFIE_HELLMAN_GROUP, 35: }; 36: 37: START_TEST(test_vectors) 38: { 39: enumerator_t *enumerator; 40: char *plugin; 41: bool success; 42: u_int alg; 43: 44: enumerator = lib->crypto->create_verify_enumerator(lib->crypto, tfs[_i]); 45: thread_cleanup_push((void*)enumerator->destroy, enumerator); 46: while (enumerator->enumerate(enumerator, &alg, &plugin, &success)) 47: { 48: ck_assert_msg(success, "test vector for %N from '%s' plugin failed", 49: transform_get_enum_names(tfs[_i]), alg, plugin); 50: } 51: thread_cleanup_pop(TRUE); 52: } 53: END_TEST 54: 55: 56: Suite *vectors_suite_create() 57: { 58: Suite *s; 59: TCase *tc; 60: 61: s = suite_create("vectors"); 62: 63: tc = tcase_create("transforms"); 64: tcase_add_loop_test(tc, test_vectors, 0, countof(tfs)); 65: tcase_set_timeout(tc, 30); 66: suite_add_tcase(s, tc); 67: 68: return s; 69: }