Fix unit-tests when no-srp configured
[openssl.git] / test / ectest.c
index f7e55c3b6aee6ae369421fb9eea0ca0391e04bcc..bb2a08d59eb7632f59493cffd4e0eef83f4da495 100644 (file)
 
 #include <stdio.h>
 #include <stdlib.h>
-#ifdef FLAT_INC
-# include "e_os.h"
-#else
-# include "../e_os.h"
-#endif
 #include <string.h>
 #include <time.h>
 
+#include "e_os.h"
+
 #ifdef OPENSSL_NO_EC
 int main(int argc, char *argv[])
 {
@@ -1712,6 +1709,33 @@ static void nistp_tests()
 }
 # endif
 
+static void parameter_test(void)
+{
+    EC_GROUP *group, *group2;
+    ECPARAMETERS *ecparameters;
+
+    fprintf(stderr, "\ntesting ecparameters conversion ...");
+
+    group = EC_GROUP_new_by_curve_name(NID_secp112r1);
+    if (!group)
+        ABORT;
+
+    ecparameters = EC_GROUP_get_ecparameters(group, NULL);
+    if (!ecparameters)
+        ABORT;
+    group2 = EC_GROUP_new_from_ecparameters(ecparameters);
+    if (!group2)
+        ABORT;
+    if (EC_GROUP_cmp(group, group2, NULL))
+        ABORT;
+
+    fprintf(stderr, " ok\n");
+
+    EC_GROUP_free(group);
+    EC_GROUP_free(group2);
+    ECPARAMETERS_free(ecparameters);
+}
+
 static const char rnd_seed[] =
     "string to make the random number generator think it has entropy";
 
@@ -1737,6 +1761,8 @@ int main(int argc, char *argv[])
     /* test the internal curves */
     internal_curve_test();
 
+    parameter_test();
+
 #ifndef OPENSSL_NO_CRYPTO_MDEBUG
     if (CRYPTO_mem_leaks_fp(stderr) <= 0)
         return 1;