skip inappropriate X25519 tests

Reviewed-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Emilia Käsper <emilia@openssl.org>
diff --git a/test/ecdhtest.c b/test/ecdhtest.c
index e37a020..fb4df79 100644
--- a/test/ecdhtest.c
+++ b/test/ecdhtest.c
@@ -493,6 +493,13 @@
     /* NAMED CURVES TESTS */
     for (n = 0; n < crv_len; n++) {
         nid = curves[n].nid;
+        /*
+         * Skipped for X25519 because affine coordinate operations are not
+         * supported for this curve.
+         * Higher level ECDH tests are performed in evptests.txt instead.
+         */
+        if (nid == NID_X25519)
+            continue;
         if (!test_ecdh_curve(nid, ctx, out)) goto err;
     }
 
diff --git a/test/ecdsatest.c b/test/ecdsatest.c
index 55ebad9..f5b753a 100644
--- a/test/ecdsatest.c
+++ b/test/ecdsatest.c
@@ -338,7 +338,7 @@
         unsigned char dirt, offset;
 
         nid = curves[n].nid;
-        if (nid == NID_ipsec4)
+        if (nid == NID_ipsec4 || nid == NID_X25519)
             continue;
         /* create new ecdsa key (== EC_KEY) */
         if ((eckey = EC_KEY_new()) == NULL)
diff --git a/test/ectest.c b/test/ectest.c
index b0fbcdc..bbc7ed0 100644
--- a/test/ectest.c
+++ b/test/ectest.c
@@ -1417,6 +1417,12 @@
     for (n = 0; n < crv_len; n++) {
         EC_GROUP *group = NULL;
         int nid = curves[n].nid;
+        /*
+         * Skip for X25519 because low level operations such as EC_POINT_mul()
+         * are not supported for this curve
+         */
+        if (nid == NID_X25519)
+            continue;
         fprintf(stdout, "%s:\n", OBJ_nid2sn(nid));
         fflush(stdout);
         if ((group = EC_GROUP_new_by_curve_name(nid)) == NULL) {