Remove test_probable_prime_coprime from test/bntest.c

This test relies on a private function, which isn't exported.
This test would work better as a unit test in crypto/bn/bn_prime.c.

Reviewed-by: Rich Salz <rsalz@openssl.org>
This commit is contained in:
Richard Levitte 2016-01-13 19:34:45 +01:00
parent f625d38371
commit 8ffcca6586

View File

@ -117,7 +117,6 @@ int test_gf2m_mod_solve_quad(BIO *bp, BN_CTX *ctx);
int test_kron(BIO *bp, BN_CTX *ctx);
int test_sqrt(BIO *bp, BN_CTX *ctx);
int test_small_prime(BIO *bp, BN_CTX *ctx);
int test_probable_prime_coprime(BIO *bp, BN_CTX *ctx);
int rand_neg(void);
static int results = 0;
@ -292,15 +291,6 @@ int main(int argc, char *argv[])
goto err;
(void)BIO_flush(out);
#if defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_LINUX)
message(out, "Probable prime generation with coprimes disabled");
#else
message(out, "Probable prime generation with coprimes");
if (!test_probable_prime_coprime(out, ctx))
goto err;
#endif
(void)BIO_flush(out);
#ifndef OPENSSL_NO_EC2M
message(out, "BN_GF2m_add");
if (!test_gf2m_add(out))
@ -1859,38 +1849,6 @@ int test_small_prime(BIO *bp, BN_CTX *ctx)
return ret;
}
/* We can't test this on platforms where local symbols aren't exported */
#if !defined(OPENSSL_SYS_WIN32) && !defined(OPENSSL_SYS_LINUX)
int test_probable_prime_coprime(BIO *bp, BN_CTX *ctx)
{
int i, j, ret = 0;
BIGNUM *r;
BN_ULONG primes[5] = { 2, 3, 5, 7, 11 };
r = BN_new();
for (i = 0; i < 1000; i++) {
if (!bn_probable_prime_dh_coprime(r, 1024, ctx))
goto err;
for (j = 0; j < 5; j++) {
if (BN_mod_word(r, primes[j]) == 0) {
BIO_printf(bp, "Number generated is not coprime to "
BN_DEC_FMT1 ":\n", primes[j]);
BN_print_fp(stdout, r);
BIO_printf(bp, "\n");
goto err;
}
}
}
ret = 1;
err:
BN_clear_free(r);
return ret;
}
#endif
int test_lshift(BIO *bp, BN_CTX *ctx, BIGNUM *a_)
{
BIGNUM *a, *b, *c, *d;