Allow tests to build with non-default curve support.
diff --git a/test/test_compress.c b/test/test_compress.c index ad56904..aef374c 100644 --- a/test/test_compress.c +++ b/test/test_compress.c
@@ -27,16 +27,27 @@ int c; const struct uECC_Curve_t * curves[5]; - curves[0] = uECC_secp160r1(); - curves[1] = uECC_secp192r1(); - curves[2] = uECC_secp224r1(); - curves[3] = uECC_secp256r1(); - curves[4] = uECC_secp256k1(); + int num_curves = 0; +#if uECC_SUPPORTS_secp160r1 + curves[num_curves++] = uECC_secp160r1(); +#endif +#if uECC_SUPPORTS_secp192r1 + curves[num_curves++] = uECC_secp192r1(); +#endif +#if uECC_SUPPORTS_secp224r1 + curves[num_curves++] = uECC_secp224r1(); +#endif +#if uECC_SUPPORTS_secp256r1 + curves[num_curves++] = uECC_secp256r1(); +#endif +#if uECC_SUPPORTS_secp256k1 + curves[num_curves++] = uECC_secp256k1(); +#endif printf("Testing compression and decompression of %d random EC points\n", uECC_TEST_NUMBER_OF_ITERATIONS); - for (c = 0; c < 5; ++c) { + for (c = 0; c < num_curves; ++c) { for (i = 0; i < uECC_TEST_NUMBER_OF_ITERATIONS; ++i) { printf("."); fflush(stdout);
diff --git a/test/test_compute.c b/test/test_compute.c index 4cdb38c..7b936d8 100644 --- a/test/test_compute.c +++ b/test/test_compute.c
@@ -23,14 +23,25 @@ int c; const struct uECC_Curve_t * curves[5]; - curves[0] = uECC_secp160r1(); - curves[1] = uECC_secp192r1(); - curves[2] = uECC_secp224r1(); - curves[3] = uECC_secp256r1(); - curves[4] = uECC_secp256k1(); + int num_curves = 0; +#if uECC_SUPPORTS_secp160r1 + curves[num_curves++] = uECC_secp160r1(); +#endif +#if uECC_SUPPORTS_secp192r1 + curves[num_curves++] = uECC_secp192r1(); +#endif +#if uECC_SUPPORTS_secp224r1 + curves[num_curves++] = uECC_secp224r1(); +#endif +#if uECC_SUPPORTS_secp256r1 + curves[num_curves++] = uECC_secp256r1(); +#endif +#if uECC_SUPPORTS_secp256k1 + curves[num_curves++] = uECC_secp256k1(); +#endif printf("Testing 256 random private key pairs\n"); - for (c = 0; c < 5; ++c) { + for (c = 0; c < num_curves; ++c) { for (i = 0; i < 256; ++i) { printf("."); fflush(stdout);
diff --git a/test/test_ecdh.c b/test/test_ecdh.c index d784a1d..7315b75 100644 --- a/test/test_ecdh.c +++ b/test/test_ecdh.c
@@ -21,15 +21,26 @@ uint8_t secret2[32] = {0}; const struct uECC_Curve_t * curves[5]; - curves[0] = uECC_secp160r1(); - curves[1] = uECC_secp192r1(); - curves[2] = uECC_secp224r1(); - curves[3] = uECC_secp256r1(); - curves[4] = uECC_secp256k1(); + int num_curves = 0; +#if uECC_SUPPORTS_secp160r1 + curves[num_curves++] = uECC_secp160r1(); +#endif +#if uECC_SUPPORTS_secp192r1 + curves[num_curves++] = uECC_secp192r1(); +#endif +#if uECC_SUPPORTS_secp224r1 + curves[num_curves++] = uECC_secp224r1(); +#endif +#if uECC_SUPPORTS_secp256r1 + curves[num_curves++] = uECC_secp256r1(); +#endif +#if uECC_SUPPORTS_secp256k1 + curves[num_curves++] = uECC_secp256k1(); +#endif printf("Testing 256 random private key pairs\n"); - for (c = 0; c < 5; ++c) { + for (c = 0; c < num_curves; ++c) { for (i = 0; i < 256; ++i) { printf("."); fflush(stdout);
diff --git a/test/test_ecdsa.c b/test/test_ecdsa.c index ed1ea77..8699794 100644 --- a/test/test_ecdsa.c +++ b/test/test_ecdsa.c
@@ -13,14 +13,25 @@ uint8_t sig[64] = {0}; const struct uECC_Curve_t * curves[5]; - curves[0] = uECC_secp160r1(); - curves[1] = uECC_secp192r1(); - curves[2] = uECC_secp224r1(); - curves[3] = uECC_secp256r1(); - curves[4] = uECC_secp256k1(); + int num_curves = 0; +#if uECC_SUPPORTS_secp160r1 + curves[num_curves++] = uECC_secp160r1(); +#endif +#if uECC_SUPPORTS_secp192r1 + curves[num_curves++] = uECC_secp192r1(); +#endif +#if uECC_SUPPORTS_secp224r1 + curves[num_curves++] = uECC_secp224r1(); +#endif +#if uECC_SUPPORTS_secp256r1 + curves[num_curves++] = uECC_secp256r1(); +#endif +#if uECC_SUPPORTS_secp256k1 + curves[num_curves++] = uECC_secp256k1(); +#endif printf("Testing 256 signatures\n"); - for (c = 0; c < 5; ++c) { + for (c = 0; c < num_curves; ++c) { for (i = 0; i < 256; ++i) { printf("."); fflush(stdout);