Browse Source

Merge pull request #5611

f0b8afc tests: fix spurious windows test failures after 012598880c (Cory Fields)
0.13
Wladimir J. van der Laan 10 years ago
parent
commit
37b185c4af
No known key found for this signature in database
GPG Key ID: 74810B012346C9A6
  1. 10
      src/test/pmt_tests.cpp

10
src/test/pmt_tests.cpp

@ -8,6 +8,7 @@
#include "uint256.h" #include "uint256.h"
#include "arith_uint256.h" #include "arith_uint256.h"
#include "version.h" #include "version.h"
#include "random.h"
#include <vector> #include <vector>
@ -21,8 +22,8 @@ class CPartialMerkleTreeTester : public CPartialMerkleTree
public: public:
// flip one bit in one of the hashes - this should break the authentication // flip one bit in one of the hashes - this should break the authentication
void Damage() { void Damage() {
unsigned int n = rand() % vHash.size(); unsigned int n = insecure_rand() % vHash.size();
int bit = rand() % 256; int bit = insecure_rand() % 256;
*(vHash[n].begin() + (bit>>3)) ^= 1<<(bit&7); *(vHash[n].begin() + (bit>>3)) ^= 1<<(bit&7);
} }
}; };
@ -31,6 +32,7 @@ BOOST_AUTO_TEST_SUITE(pmt_tests)
BOOST_AUTO_TEST_CASE(pmt_test1) BOOST_AUTO_TEST_CASE(pmt_test1)
{ {
seed_insecure_rand(false);
static const unsigned int nTxCounts[] = {1, 4, 7, 17, 56, 100, 127, 256, 312, 513, 1000, 4095}; static const unsigned int nTxCounts[] = {1, 4, 7, 17, 56, 100, 127, 256, 312, 513, 1000, 4095};
for (int n = 0; n < 12; n++) { for (int n = 0; n < 12; n++) {
@ -40,7 +42,7 @@ BOOST_AUTO_TEST_CASE(pmt_test1)
CBlock block; CBlock block;
for (unsigned int j=0; j<nTx; j++) { for (unsigned int j=0; j<nTx; j++) {
CMutableTransaction tx; CMutableTransaction tx;
tx.nLockTime = rand(); // actual transaction data doesn't matter; just make the nLockTime's unique tx.nLockTime = j; // actual transaction data doesn't matter; just make the nLockTime's unique
block.vtx.push_back(CTransaction(tx)); block.vtx.push_back(CTransaction(tx));
} }
@ -61,7 +63,7 @@ BOOST_AUTO_TEST_CASE(pmt_test1)
std::vector<bool> vMatch(nTx, false); std::vector<bool> vMatch(nTx, false);
std::vector<uint256> vMatchTxid1; std::vector<uint256> vMatchTxid1;
for (unsigned int j=0; j<nTx; j++) { for (unsigned int j=0; j<nTx; j++) {
bool fInclude = (rand() & ((1 << (att/2)) - 1)) == 0; bool fInclude = (insecure_rand() & ((1 << (att/2)) - 1)) == 0;
vMatch[j] = fInclude; vMatch[j] = fInclude;
if (fInclude) if (fInclude)
vMatchTxid1.push_back(vTxid[j]); vMatchTxid1.push_back(vTxid[j]);

Loading…
Cancel
Save