aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlloyd <[email protected]>2014-12-28 13:23:40 +0000
committerlloyd <[email protected]>2014-12-28 13:23:40 +0000
commit6322dc69fcf9f3effed4e51de90b3f5b163db47e (patch)
tree6cc5a7b12b5a6648f53b4b22003f9a28b425d1fa
parent69d883e83569dd81f02fbbd7dfbdcfc5a3918d49 (diff)
All tests now share an RNG. Uses system RNG if available
-rw-r--r--src/tests/test_bigint.cpp4
-rw-r--r--src/tests/test_cryptobox.cpp4
-rw-r--r--src/tests/test_cvc.cpp4
-rw-r--r--src/tests/test_dh.cpp4
-rw-r--r--src/tests/test_dlies.cpp4
-rw-r--r--src/tests/test_dsa.cpp4
-rw-r--r--src/tests/test_ecdsa.cpp4
-rw-r--r--src/tests/test_elg.cpp4
-rw-r--r--src/tests/test_gost_3410.cpp4
-rw-r--r--src/tests/test_mceliece.cpp4
-rw-r--r--src/tests/test_nr.cpp4
-rw-r--r--src/tests/test_passhash.cpp6
-rw-r--r--src/tests/test_pubkey.cpp6
-rw-r--r--src/tests/test_rsa.cpp8
-rw-r--r--src/tests/test_rw.cpp6
-rw-r--r--src/tests/test_tss.cpp4
-rw-r--r--src/tests/tests.cpp16
-rw-r--r--src/tests/tests.h4
-rw-r--r--src/tests/unit_ecc.cpp8
-rw-r--r--src/tests/unit_ecdh.cpp4
-rw-r--r--src/tests/unit_ecdsa.cpp4
-rw-r--r--src/tests/unit_tls.cpp4
-rw-r--r--src/tests/unit_x509.cpp4
23 files changed, 65 insertions, 53 deletions
diff --git a/src/tests/test_bigint.cpp b/src/tests/test_bigint.cpp
index 126fff411..7504a30d9 100644
--- a/src/tests/test_bigint.cpp
+++ b/src/tests/test_bigint.cpp
@@ -13,7 +13,7 @@
#include <cstdlib>
#include <iterator>
-#include <botan/auto_rng.h>
+
#include <botan/bigint.h>
#include <botan/exceptn.h>
#include <botan/numthry.h>
@@ -299,7 +299,7 @@ size_t test_bigint()
bool first = true;
size_t counter = 0;
- AutoSeeded_RNG rng;
+ auto& rng = test_rng();
while(!test_data.eof())
{
diff --git a/src/tests/test_cryptobox.cpp b/src/tests/test_cryptobox.cpp
index 9a53da74c..f5ae4ce86 100644
--- a/src/tests/test_cryptobox.cpp
+++ b/src/tests/test_cryptobox.cpp
@@ -1,6 +1,6 @@
#include "tests.h"
-#include <botan/auto_rng.h>
+
#include <iostream>
#if defined(BOTAN_HAS_CRYPTO_BOX)
@@ -14,7 +14,7 @@ size_t test_cryptobox()
size_t fails = 0;
#if defined(BOTAN_HAS_CRYPTO_BOX)
- AutoSeeded_RNG rng;
+ auto& rng = test_rng();
const byte msg[] = { 0xAA, 0xBB, 0xCC };
std::string ciphertext = CryptoBox::encrypt(msg, sizeof(msg),
diff --git a/src/tests/test_cvc.cpp b/src/tests/test_cvc.cpp
index 349eafd44..929f541e5 100644
--- a/src/tests/test_cvc.cpp
+++ b/src/tests/test_cvc.cpp
@@ -18,7 +18,7 @@
#include <vector>
#include <memory>
-#include <botan/auto_rng.h>
+
#include <botan/ecdsa.h>
#include <botan/rsa.h>
@@ -552,7 +552,7 @@ void test_cvc_chain(RandomNumberGenerator& rng)
size_t test_cvc()
{
- AutoSeeded_RNG rng;
+ auto& rng = test_rng();
test_enc_gen_selfsigned(rng);
test_enc_gen_req(rng);
diff --git a/src/tests/test_dh.cpp b/src/tests/test_dh.cpp
index 0b125a5ce..f01005dc6 100644
--- a/src/tests/test_dh.cpp
+++ b/src/tests/test_dh.cpp
@@ -2,7 +2,7 @@
#include "test_pubkey.h"
#if defined(BOTAN_HAS_DIFFIE_HELLMAN)
-#include <botan/auto_rng.h>
+
#include <botan/pubkey.h>
#include <botan/dh.h>
#include <botan/hex.h>
@@ -21,7 +21,7 @@ size_t dh_sig_kat(const std::string& p,
const std::string& outlen,
const std::string& key)
{
- AutoSeeded_RNG rng;
+ auto& rng = test_rng();
BigInt p_bn(p), g_bn(g), x_bn(x), y_bn(y);
diff --git a/src/tests/test_dlies.cpp b/src/tests/test_dlies.cpp
index d1816bf98..f5fecc6d3 100644
--- a/src/tests/test_dlies.cpp
+++ b/src/tests/test_dlies.cpp
@@ -6,7 +6,7 @@
#include <fstream>
#if defined(BOTAN_HAS_DLIES)
- #include <botan/auto_rng.h>
+
#include <botan/pubkey.h>
#include <botan/lookup.h>
#include <botan/dlies.h>
@@ -25,7 +25,7 @@ size_t dlies_kat(const std::string& p,
const std::string& msg,
const std::string& ciphertext)
{
- AutoSeeded_RNG rng;
+ auto& rng = test_rng();
BigInt p_bn(p);
BigInt g_bn(g);
diff --git a/src/tests/test_dsa.cpp b/src/tests/test_dsa.cpp
index 43c415b33..0bb75e277 100644
--- a/src/tests/test_dsa.cpp
+++ b/src/tests/test_dsa.cpp
@@ -3,7 +3,7 @@
#if defined(BOTAN_HAS_DSA)
-#include <botan/auto_rng.h>
+
#include <botan/pubkey.h>
#include <botan/dsa.h>
#include <botan/hex.h>
@@ -23,7 +23,7 @@ size_t dsa_sig_kat(const std::string& p,
const std::string& nonce,
const std::string& signature)
{
- AutoSeeded_RNG rng;
+ auto& rng = test_rng();
BigInt p_bn("0x" + p), q_bn("0x" + q), g_bn("0x" + g), x_bn("0x" + x);
diff --git a/src/tests/test_ecdsa.cpp b/src/tests/test_ecdsa.cpp
index d83ba7a4b..e413d04df 100644
--- a/src/tests/test_ecdsa.cpp
+++ b/src/tests/test_ecdsa.cpp
@@ -2,7 +2,7 @@
#include "test_pubkey.h"
#if defined(BOTAN_HAS_ECDSA)
-#include <botan/auto_rng.h>
+
#include <botan/pubkey.h>
#include <botan/ecdsa.h>
#include <botan/oids.h>
@@ -21,7 +21,7 @@ size_t ecdsa_sig_kat(const std::string& group_id,
const std::string& nonce,
const std::string& signature)
{
- AutoSeeded_RNG rng;
+ auto& rng = test_rng();
EC_Group group(OIDS::lookup(group_id));
ECDSA_PrivateKey ecdsa(rng, group, BigInt(x));
diff --git a/src/tests/test_elg.cpp b/src/tests/test_elg.cpp
index 8d0a8d1ae..15a1ee452 100644
--- a/src/tests/test_elg.cpp
+++ b/src/tests/test_elg.cpp
@@ -7,7 +7,7 @@
#if defined(BOTAN_HAS_ELGAMAL)
#include <botan/elgamal.h>
- #include <botan/auto_rng.h>
+
#include <botan/pubkey.h>
#include <botan/dl_group.h>
#endif
@@ -26,7 +26,7 @@ size_t elgamal_kat(const std::string& p,
const std::string& nonce,
const std::string& ciphertext)
{
- AutoSeeded_RNG rng;
+ auto& rng = test_rng();
const BigInt p_bn = BigInt(p);
const BigInt g_bn = BigInt(g);
diff --git a/src/tests/test_gost_3410.cpp b/src/tests/test_gost_3410.cpp
index 843a490b1..ccf2ed771 100644
--- a/src/tests/test_gost_3410.cpp
+++ b/src/tests/test_gost_3410.cpp
@@ -2,7 +2,7 @@
#include "test_pubkey.h"
#if defined(BOTAN_HAS_GOST_34_10_2001)
-#include <botan/auto_rng.h>
+
#include <botan/pubkey.h>
#include <botan/gost_3410.h>
#include <botan/oids.h>
@@ -20,8 +20,6 @@ size_t gost_verify(const std::string& group_id,
const std::string& msg,
const std::string& signature)
{
- AutoSeeded_RNG rng;
-
EC_Group group(OIDS::lookup(group_id));
PointGFp public_point = OS2ECP(hex_decode(x), group.get_curve());
diff --git a/src/tests/test_mceliece.cpp b/src/tests/test_mceliece.cpp
index cb14af3f1..55dfd234d 100644
--- a/src/tests/test_mceliece.cpp
+++ b/src/tests/test_mceliece.cpp
@@ -7,7 +7,7 @@
#include <botan/oids.h>
#include <botan/mceliece.h>
#include <botan/mce_kem.h>
-#include <botan/auto_rng.h>
+
#include <botan/hex.h>
#include <iostream>
@@ -179,7 +179,7 @@ size_t test_mceliece_raw(RandomNumberGenerator& rng, size_t code_length, size_t
size_t test_mceliece()
{
- AutoSeeded_RNG rng;
+ auto& rng = test_rng();
size_t err_cnt = 0;
size_t params__n__t_min_max[] = {
diff --git a/src/tests/test_nr.cpp b/src/tests/test_nr.cpp
index 148a527c8..0a16c452e 100644
--- a/src/tests/test_nr.cpp
+++ b/src/tests/test_nr.cpp
@@ -3,7 +3,7 @@
#if defined(BOTAN_HAS_NYBERG_RUEPPEL)
#include <botan/nr.h>
- #include <botan/auto_rng.h>
+
#include <botan/pubkey.h>
#include <botan/dl_group.h>
#endif
@@ -27,7 +27,7 @@ size_t nr_sig_kat(const std::string& p,
const std::string& nonce,
const std::string& signature)
{
- AutoSeeded_RNG rng;
+ auto& rng = test_rng();
BigInt p_bn(p), q_bn(q), g_bn(g), x_bn(x);
diff --git a/src/tests/test_passhash.cpp b/src/tests/test_passhash.cpp
index 6f66743c5..57b9f6452 100644
--- a/src/tests/test_passhash.cpp
+++ b/src/tests/test_passhash.cpp
@@ -1,6 +1,6 @@
#include "tests.h"
-#include <botan/auto_rng.h>
+
#include <iostream>
#if defined(BOTAN_HAS_PASSHASH9)
@@ -34,7 +34,7 @@ size_t test_bcrypt()
fails++;
}
- AutoSeeded_RNG rng;
+ auto& rng = test_rng();
for(u16bit level = 1; level != 5; ++level)
{
@@ -73,7 +73,7 @@ size_t test_passhash9()
fails++;
}
- AutoSeeded_RNG rng;
+ auto& rng = test_rng();
for(byte alg_id = 0; alg_id <= 4; ++alg_id)
{
diff --git a/src/tests/test_pubkey.cpp b/src/tests/test_pubkey.cpp
index eec7e3bde..9de9a6f9d 100644
--- a/src/tests/test_pubkey.cpp
+++ b/src/tests/test_pubkey.cpp
@@ -21,7 +21,7 @@
#include <botan/x509_key.h>
#include <botan/pkcs8.h>
#include <botan/pubkey.h>
- #include <botan/auto_rng.h>
+
#endif
#if defined(BOTAN_HAS_RSA)
@@ -193,7 +193,7 @@ size_t validate_encryption(PK_Encryptor& e, PK_Decryptor& d,
if(algo.find("/Raw") == std::string::npos)
{
- AutoSeeded_RNG rng;
+ auto& rng = test_rng();
for(size_t i = 0; i != ctext.size(); ++i)
{
@@ -297,7 +297,7 @@ size_t validate_kas(PK_Key_Agreement& kas, const std::string& algo,
size_t test_pk_keygen()
{
- AutoSeeded_RNG rng;
+ auto& rng = test_rng();
size_t tests = 0;
size_t fails = 0;
diff --git a/src/tests/test_rsa.cpp b/src/tests/test_rsa.cpp
index 28320ddb0..f1ec8e603 100644
--- a/src/tests/test_rsa.cpp
+++ b/src/tests/test_rsa.cpp
@@ -1,7 +1,7 @@
#include "tests.h"
#include "test_pubkey.h"
-#include <botan/auto_rng.h>
+
#include <botan/pubkey.h>
#include <botan/rsa.h>
#include <botan/hex.h>
@@ -20,7 +20,7 @@ size_t rsaes_kat(const std::string& e,
const std::string& nonce,
const std::string& output)
{
- AutoSeeded_RNG rng;
+ auto& rng = test_rng();
RSA_PrivateKey privkey(rng, BigInt(p), BigInt(q), BigInt(e));
@@ -43,7 +43,7 @@ size_t rsa_sig_kat(const std::string& e,
const std::string& nonce,
const std::string& output)
{
- AutoSeeded_RNG rng;
+ auto& rng = test_rng();
RSA_PrivateKey privkey(rng, BigInt(p), BigInt(q), BigInt(e));
@@ -64,8 +64,6 @@ size_t rsa_sig_verify(const std::string& e,
std::string padding,
const std::string& signature)
{
- AutoSeeded_RNG rng;
-
BigInt e_bn(e);
BigInt n_bn(n);
diff --git a/src/tests/test_rw.cpp b/src/tests/test_rw.cpp
index 09e746add..9db811433 100644
--- a/src/tests/test_rw.cpp
+++ b/src/tests/test_rw.cpp
@@ -6,7 +6,7 @@
#include <fstream>
#if defined(BOTAN_HAS_RW)
- #include <botan/auto_rng.h>
+
#include <botan/pubkey.h>
#include <botan/rw.h>
#endif
@@ -24,7 +24,7 @@ size_t rw_sig_kat(const std::string& e,
const std::string& msg,
const std::string& signature)
{
- AutoSeeded_RNG rng;
+ auto& rng = test_rng();
RW_PrivateKey privkey(rng, BigInt(p), BigInt(q), BigInt(e));
@@ -41,8 +41,6 @@ size_t rw_sig_verify(const std::string& e,
const std::string& msg,
const std::string& signature)
{
- AutoSeeded_RNG rng;
-
BigInt e_bn(e);
BigInt n_bn(n);
diff --git a/src/tests/test_tss.cpp b/src/tests/test_tss.cpp
index 7645af399..646ebe415 100644
--- a/src/tests/test_tss.cpp
+++ b/src/tests/test_tss.cpp
@@ -5,7 +5,7 @@
*/
#include "tests.h"
-#include <botan/auto_rng.h>
+
#include <botan/hex.h>
#include <iostream>
@@ -17,7 +17,7 @@ size_t test_tss()
{
using namespace Botan;
- AutoSeeded_RNG rng;
+ auto& rng = test_rng();
size_t fails = 0;
diff --git a/src/tests/tests.cpp b/src/tests/tests.cpp
index 99a4d8e3a..9ed6785bc 100644
--- a/src/tests/tests.cpp
+++ b/src/tests/tests.cpp
@@ -2,10 +2,26 @@
#include <botan/init.h>
#include <iostream>
#include <fstream>
+#include <botan/auto_rng.h>
+
+#if defined(BOTAN_HAS_SYSTEM_RNG)
+ #include <botan/system_rng.h>
+#endif
+
#include <boost/filesystem.hpp>
namespace fs = boost::filesystem;
+Botan::RandomNumberGenerator& test_rng()
+ {
+#if defined(BOTAN_HAS_SYSTEM_RNG)
+ return Botan::system_rng();
+#else
+ static AutoSeeded_RNG rng;
+ return rng;
+#endif
+ }
+
std::vector<std::string> list_dir(const std::string& dir_path)
{
std::vector<std::string> paths;
diff --git a/src/tests/tests.h b/src/tests/tests.h
index 61cc405a0..9d39fdc19 100644
--- a/src/tests/tests.h
+++ b/src/tests/tests.h
@@ -2,13 +2,15 @@
#ifndef BOTAN_TESTS_H__
#define BOTAN_TESTS_H__
-#include <botan/build.h>
+#include <botan/rng.h>
#include <functional>
#include <istream>
#include <map>
#include <string>
#include <vector>
+Botan::RandomNumberGenerator& test_rng();
+
size_t run_tests_bb(std::istream& src,
const std::string& name_key,
const std::string& output_key,
diff --git a/src/tests/unit_ecc.cpp b/src/tests/unit_ecc.cpp
index 976e9d385..f7723fb12 100644
--- a/src/tests/unit_ecc.cpp
+++ b/src/tests/unit_ecc.cpp
@@ -11,7 +11,7 @@
#include <memory>
#if defined(BOTAN_HAS_ECC_GROUP)
-#include <botan/auto_rng.h>
+
#include <botan/bigint.h>
#include <botan/numthry.h>
#include <botan/curve_gfp.h>
@@ -752,7 +752,7 @@ size_t test_point_swap()
EC_Group dom_pars(OID("1.3.132.0.8"));
- AutoSeeded_RNG rng;
+ auto& rng = test_rng();
PointGFp a(create_random_point(rng, dom_pars.get_curve()));
PointGFp b(create_random_point(rng, dom_pars.get_curve()));
@@ -776,7 +776,7 @@ size_t test_mult_sec_mass()
{
size_t fails = 0;
- AutoSeeded_RNG rng;
+ auto& rng = test_rng();
EC_Group dom_pars(OID("1.3.132.0.8"));
for(int i = 0; i<50; i++)
@@ -850,7 +850,7 @@ size_t ecc_randomized_test()
"x962_p239v3"
};
- AutoSeeded_RNG rng;
+ auto& rng = test_rng();
size_t fails = 0;
size_t tests = 0;
diff --git a/src/tests/unit_ecdh.cpp b/src/tests/unit_ecdh.cpp
index 81e2e8fab..3dc6227e8 100644
--- a/src/tests/unit_ecdh.cpp
+++ b/src/tests/unit_ecdh.cpp
@@ -13,7 +13,7 @@
#include <iostream>
#include <fstream>
-#include <botan/auto_rng.h>
+
#include <botan/pubkey.h>
#include <botan/ecdh.h>
#if defined(BOTAN_HAS_X509_CERTIFICATES)
@@ -123,7 +123,7 @@ size_t test_ecdh_unit()
{
size_t fails = 0;
- AutoSeeded_RNG rng;
+ auto& rng = test_rng();
fails += test_ecdh_normal_derivation(rng);
fails += test_ecdh_some_dp(rng);
diff --git a/src/tests/unit_ecdsa.cpp b/src/tests/unit_ecdsa.cpp
index 7a2e844e4..f0107c55d 100644
--- a/src/tests/unit_ecdsa.cpp
+++ b/src/tests/unit_ecdsa.cpp
@@ -10,7 +10,7 @@
#if defined(BOTAN_HAS_ECDSA)
#include <botan/hex.h>
-#include <botan/auto_rng.h>
+
#include <botan/pubkey.h>
#include <botan/ecdsa.h>
#include <botan/rsa.h>
@@ -473,7 +473,7 @@ size_t test_ecdsa_unit()
{
size_t fails = 0;
- AutoSeeded_RNG rng;
+ auto& rng = test_rng();
fails += test_hash_larger_than_n(rng);
#if defined(BOTAN_HAS_X509_CERTIFICATES)
diff --git a/src/tests/unit_tls.cpp b/src/tests/unit_tls.cpp
index cc5c1e240..91cd094f2 100644
--- a/src/tests/unit_tls.cpp
+++ b/src/tests/unit_tls.cpp
@@ -3,7 +3,7 @@
#if defined(BOTAN_HAS_TLS)
-#include <botan/auto_rng.h>
+
#include <botan/tls_server.h>
#include <botan/tls_client.h>
#include <botan/pkcs10.h>
@@ -282,7 +282,7 @@ size_t test_tls()
size_t errors = 0;
Test_Policy default_policy;
- AutoSeeded_RNG rng;
+ auto& rng = test_rng();
std::auto_ptr<Credentials_Manager> basic_creds(create_creds(rng));
errors += basic_test_handshake(rng, TLS::Protocol_Version::SSL_V3, *basic_creds, default_policy);
diff --git a/src/tests/unit_x509.cpp b/src/tests/unit_x509.cpp
index d6e7f6e90..0c469d319 100644
--- a/src/tests/unit_x509.cpp
+++ b/src/tests/unit_x509.cpp
@@ -7,7 +7,7 @@
#include "tests.h"
#include <botan/filters.h>
-#include <botan/auto_rng.h>
+
#if defined(BOTAN_HAS_RSA)
#include <botan/rsa.h>
@@ -131,7 +131,7 @@ u32bit check_against_copy(const Private_Key& orig,
size_t test_x509()
{
- AutoSeeded_RNG rng;
+ auto& rng = test_rng();
const std::string hash_fn = "SHA-256";
size_t fails = 0;