RT3067: simplify patch
[openssl.git] / crypto / constant_time_test.c
index 0e51892af50816a6c34e5b280bbda866b70616b3..1b4b18d1990e6ae6ab1976ea26109741514e86d4 100644 (file)
@@ -196,6 +196,45 @@ static int test_select_int(int a, int b)
        return 0;
        }
 
        return 0;
        }
 
+static int test_eq_int(int a, int b)
+       {
+       unsigned int equal = constant_time_eq_int(a, b);
+       if (a == b && equal != CONSTTIME_TRUE)
+               {
+               fprintf(stderr, "Test failed for constant_time_select(%d, %d): "
+                       "expected %du(TRUE), got %du\n",
+                       a, b, CONSTTIME_TRUE, equal);
+               return 1;
+               }
+       else if (a != b && equal != CONSTTIME_FALSE)
+               {
+               fprintf(stderr, "Test failed for constant_time_select(%d, %d): "
+                       "expected %du(FALSE), got %du\n",
+                       a, b, CONSTTIME_FALSE, equal);
+               return 1;
+               }
+       return 0;
+       }
+
+static int test_eq_int_8(int a, int b)
+       {
+       unsigned char equal = constant_time_eq_int_8(a, b);
+       if (a == b && equal != CONSTTIME_TRUE_8)
+               {
+               fprintf(stderr, "Test failed for constant_time_select(%d, %d): "
+                       "expected %u(TRUE), got %u\n",
+                       a, b, CONSTTIME_TRUE_8, equal);
+               return 1;
+               }
+       else if (a != b && equal != CONSTTIME_FALSE_8)
+               {
+               fprintf(stderr, "Test failed for constant_time_select(%d, %d): "
+                       "expected %u(FALSE), got %u\n",
+                       a, b, CONSTTIME_FALSE_8, equal);
+               return 1;
+               }
+       return 0;
+       }
 
 static unsigned int test_values[] = {0, 1, 1024, 12345, 32000, UINT_MAX/2-1,
                                      UINT_MAX/2, UINT_MAX/2+1, UINT_MAX-1,
 
 static unsigned int test_values[] = {0, 1, 1024, 12345, 32000, UINT_MAX/2-1,
                                      UINT_MAX/2, UINT_MAX/2+1, UINT_MAX-1,