tests.c (1830B)
1 #include <CUnit/Basic.h> 2 #include <assert.h> 3 #include <stdio.h> 4 #include <stdlib.h> 5 6 #include "test_fors.h" 7 #include "test_ht.h" 8 #include "test_slh.h" 9 #include "test_wotsp.h" 10 #include "test_xmss.h" 11 12 static CU_pSuite add_suite(char *name, CU_InitializeFunc pInit, 13 CU_CleanupFunc pClean) { 14 CU_pSuite pSuite = NULL; 15 16 if (CUE_SUCCESS != CU_initialize_registry()) 17 exit(CU_get_error()); 18 19 pSuite = CU_add_suite(name, pInit, pClean); 20 if (NULL == pSuite) { 21 CU_cleanup_registry(); 22 exit(CU_get_error()); 23 } 24 25 return (pSuite); 26 } 27 28 static void add_test(CU_pSuite s, char *desc, CU_TestFunc fn) { 29 if (NULL == CU_add_test(s, desc, fn)) { 30 CU_cleanup_registry(); 31 exit(CU_get_error()); 32 } 33 } 34 35 int main() { 36 if (CUE_SUCCESS != CU_initialize_registry()) 37 return CU_get_error(); 38 39 CU_pSuite s_all = add_suite("suite_all", NULL, NULL); 40 41 add_test(s_all, "wotsp_pkgen()", test_wotsp_pkgen); 42 add_test(s_all, "wots_sign()", test_wotsp_sign); 43 add_test(s_all, "wots_verify()", test_wotsp_verify); 44 45 add_test(s_all, "xmss_node()", test_xmss_node); 46 add_test(s_all, "xmss_sign()", test_xmss_sign); 47 add_test(s_all, "xmss_verify()", test_xmss_verify); 48 49 add_test(s_all, "ht_sign()", test_ht_sign); 50 add_test(s_all, "ht_verify()", test_ht_verify); 51 52 add_test(s_all, "fors_skgen()", test_fors_skgen); 53 add_test(s_all, "fors_node()", test_fors_node); 54 add_test(s_all, "fors_sign()", test_fors_sign); 55 add_test(s_all, "fors_pk_from_sig()", test_fors_pk_from_sig); 56 57 add_test(s_all, "slh_keygen()", test_slh_keygen); 58 add_test(s_all, "slh_sign()", test_slh_sign); 59 add_test(s_all, "slh_verify()", test_slh_verify); 60 add_test(s_all, "slh_ref_sign()", test_slh_ref_sign); 61 62 CU_basic_set_mode(CU_BRM_VERBOSE); 63 CU_basic_run_tests(); 64 CU_cleanup_registry(); 65 return CU_get_error(); 66 }