]> www.wagner.pp.ru Git - openssl-gost/engine.git/commitdiff
test: List untested digests and ciphers
authorVitaly Chikunov <vt@altlinux.org>
Sat, 9 May 2020 19:47:24 +0000 (22:47 +0300)
committerDmitry Belyavskiy <beldmit@users.noreply.github.com>
Sun, 10 May 2020 14:11:21 +0000 (17:11 +0300)
It's good to know what needs to be done.

test_ciphers.c
test_digest.c

index 95e3e993afba9a3af19f582bac90a2f4277820a6..15c7511bfb1a101d6c2b6e90b40b829c329167b1 100644 (file)
@@ -24,6 +24,7 @@
 #define cGREEN "\033[1;32m"
 #define cDGREEN        "\033[0;32m"
 #define cBLUE  "\033[1;34m"
+#define cMAGENT "\033[1;35m"
 #define cDBLUE "\033[0;34m"
 #define cNORM  "\033[m"
 #define TEST_ASSERT(e) {if ((test = (e))) \
@@ -490,6 +491,19 @@ int main(int argc, char **argv)
                t->iv, t->iv_size, t->acpkm);
     }
 
+    ENGINE_CIPHERS_PTR fn_c;
+    T(fn_c = ENGINE_get_ciphers(eng));
+    const int *nids;
+    int n, k;
+    n = fn_c(eng, NULL, &nids, 0);
+    for (k = 0; k < n; ++k) {
+       for (t = testcases; t->nid; t++)
+           if (t->nid == nids[k])
+               break;
+       if (!t->nid)
+           printf(cMAGENT "Cipher %s is untested!\n" cNORM, OBJ_nid2sn(nids[k]));
+    }
+
     ENGINE_finish(eng);
     ENGINE_free(eng);
 
index ce7f60a591eb1b88bfae14f1d58e2c8ad8ec39d4..7ad999ac2c167d55fc076858cf2fa887a335e392 100644 (file)
@@ -47,6 +47,7 @@
 #define cDGREEN        "\033[0;32m"
 #define cBLUE  "\033[1;34m"
 #define cDBLUE "\033[0;34m"
+#define cMAGENT "\033[1;35m"
 #define cNORM  "\033[m"
 #define TEST_ASSERT(e) {if ((test = (e))) \
                 printf(cRED "  Test FAILED\n" cNORM); \
@@ -726,6 +727,19 @@ int main(int argc, char **argv)
            ret |= do_synthetic_test(tv);
     }
 
+    ENGINE_DIGESTS_PTR fn_c;
+    T(fn_c = ENGINE_get_digests(eng));
+    const int *nids;
+    int n, k;
+    n = fn_c(eng, NULL, &nids, 0);
+    for (k = 0; k < n; ++k) {
+       for (tv = testvecs; tv->nid; tv++)
+           if (tv->nid == nids[k])
+               break;
+       if (!tv->nid)
+           printf(cMAGENT "Digest %s is untested!\n" cNORM, OBJ_nid2sn(nids[k]));
+    }
+
     ENGINE_finish(eng);
     ENGINE_free(eng);