gestumblinde

Gestumblinde - reference implementation of SLH-DSA
git clone git://www.tkruger.se/gestumblinde.git
Log | Files | Refs | README

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 }