[openssl-commits] [openssl] master update

Richard Levitte levitte at openssl.org
Thu Apr 13 08:32:14 UTC 2017


The branch master has been updated
       via  026aebb3eab4ae8d03018f3f4489763ca835b262 (commit)
      from  9612e15760784c59d3104bfe49e75323e5776bb1 (commit)


- Log -----------------------------------------------------------------
commit 026aebb3eab4ae8d03018f3f4489763ca835b262
Author: Pauli <paul.dale at oracle.com>
Date:   Thu Apr 13 11:40:35 2017 +1000

    Split the CAST tests up.
    
    Reviewed-by: Matt Caswell <matt at openssl.org>
    Reviewed-by: Richard Levitte <levitte at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/3211)

-----------------------------------------------------------------------

Summary of changes:
 test/casttest.c | 55 ++++++++++++++++++++++++++++---------------------------
 1 file changed, 28 insertions(+), 27 deletions(-)

diff --git a/test/casttest.c b/test/casttest.c
index 1750858..fc0c700 100644
--- a/test/casttest.c
+++ b/test/casttest.c
@@ -16,13 +16,7 @@
 #include "test_main.h"
 #include "testutil.h"
 
-#ifdef OPENSSL_NO_CAST
-int main(int argc, char *argv[])
-{
-    printf("No CAST support\n");
-    return (0);
-}
-#else
+#ifndef OPENSSL_NO_CAST
 # include <openssl/cast.h>
 
 static unsigned char k[16] = {
@@ -41,8 +35,6 @@ static unsigned char c[3][8] = {
     {0x7A, 0xC8, 0x16, 0xD1, 0x6E, 0x9B, 0x30, 0x2E},
 };
 
-static unsigned char out[80];
-
 static unsigned char in_a[16] = {
     0x01, 0x23, 0x45, 0x67, 0x12, 0x34, 0x56, 0x78,
     0x23, 0x45, 0x67, 0x89, 0x34, 0x56, 0x78, 0x9A
@@ -63,28 +55,34 @@ static unsigned char c_b[16] = {
     0x80, 0xAC, 0x05, 0xB8, 0xE8, 0x3D, 0x69, 0x6E
 };
 
-static int cast_test(void)
+static int cast_test_vector(int z)
+{
+    int testresult = 1;
+    CAST_KEY key;
+    unsigned char out[80];
+
+    CAST_set_key(&key, k_len[z], k);
+    CAST_ecb_encrypt(in, out, &key, CAST_ENCRYPT);
+    if (!TEST_mem_eq(out, sizeof(c[z]), c[z], sizeof(c[z]))) {
+        TEST_info("CAST_ENCRYPT iteration %d failed (len=%d)", z, k_len[z]);
+        testresult = 0;
+    }
+
+    CAST_ecb_encrypt(out, out, &key, CAST_DECRYPT);
+    if (!TEST_mem_eq(out, sizeof(in), in, sizeof(in))) {
+        TEST_info("CAST_DECRYPT iteration %d failed (len=%d)", z, k_len[z]);
+        testresult = 0;
+    }
+    return testresult;
+}
+
+static int cast_test_iterations(void)
 {
     long l;
-    int z, testresult = 1;
+    int testresult = 1;
     CAST_KEY key, key_b;
     unsigned char out_a[16], out_b[16];
 
-    for (z = 0; z < 3; z++) {
-        CAST_set_key(&key, k_len[z], k);
-        CAST_ecb_encrypt(in, out, &key, CAST_ENCRYPT);
-        if (!TEST_mem_eq(out, sizeof(c[z]), c[z], sizeof(c[z]))) {
-            TEST_info("CAST_ENCRYPT iteration %d failed (len=%d)", z, k_len[z]);
-            testresult = 0;
-        }
-
-        CAST_ecb_encrypt(out, out, &key, CAST_DECRYPT);
-        if (!TEST_mem_eq(out, sizeof(in), in, sizeof(in))) {
-            TEST_info("CAST_DECRYPT iteration %d failed (len=%d)", z, k_len[z]);
-            testresult = 0;
-        }
-    }
-
     memcpy(out_a, in_a, sizeof(in_a));
     memcpy(out_b, in_b, sizeof(in_b));
 
@@ -107,5 +105,8 @@ static int cast_test(void)
 
 void register_tests(void)
 {
-    ADD_TEST(cast_test);
+#ifndef OPENSSL_NO_CAST
+    ADD_ALL_TESTS(cast_test_vector, OSSL_NELEM(k_len));
+    ADD_TEST(cast_test_iterations);
+#endif
 }


More information about the openssl-commits mailing list