aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormoneromooo-monero <moneromooo-monero@users.noreply.github.com>2016-05-01 19:40:14 +0100
committermoneromooo-monero <moneromooo-monero@users.noreply.github.com>2016-05-01 20:59:41 +0100
commit9ef8c7b694f8f00c8a70e05ff88a5768b8f78a3c (patch)
treeaf60b11e684867682433a30e402a148a55e15ce8
parentcn_deserialize: deserialize tx_extra too (diff)
downloadmonero-9ef8c7b694f8f00c8a70e05ff88a5768b8f78a3c.tar.xz
tests: fix tests broken by the removal of the block reward accumulation loop
The tests for rejection of unmixable outputs in v2 are commented out, as there are no unmixable outputs created anymore. This should be restored at some point.
-rw-r--r--src/cryptonote_core/cryptonote_format_utils.h2
-rw-r--r--tests/core_tests/chaingen.cpp2
-rw-r--r--tests/core_tests/chaingen.h2
-rw-r--r--tests/core_tests/chaingen_main.cpp6
-rw-r--r--tests/core_tests/v2_tests.cpp28
-rw-r--r--tests/core_tests/v2_tests.h2
6 files changed, 18 insertions, 24 deletions
diff --git a/src/cryptonote_core/cryptonote_format_utils.h b/src/cryptonote_core/cryptonote_format_utils.h
index 4142829e2..056940e98 100644
--- a/src/cryptonote_core/cryptonote_format_utils.h
+++ b/src/cryptonote_core/cryptonote_format_utils.h
@@ -44,7 +44,7 @@ namespace cryptonote
crypto::hash get_transaction_prefix_hash(const transaction_prefix& tx);
bool parse_and_validate_tx_from_blob(const blobdata& tx_blob, transaction& tx, crypto::hash& tx_hash, crypto::hash& tx_prefix_hash);
bool parse_and_validate_tx_from_blob(const blobdata& tx_blob, transaction& tx);
- bool construct_miner_tx(size_t height, size_t median_size, uint64_t already_generated_coins, size_t current_block_size, uint64_t fee, const account_public_address &miner_address, transaction& tx, const blobdata& extra_nonce = blobdata(), size_t max_outs = 1, uint8_t hard_fork_version = 1);
+ bool construct_miner_tx(size_t height, size_t median_size, uint64_t already_generated_coins, size_t current_block_size, uint64_t fee, const account_public_address &miner_address, transaction& tx, const blobdata& extra_nonce = blobdata(), size_t max_outs = 999, uint8_t hard_fork_version = 1);
bool encrypt_payment_id(crypto::hash8 &payment_id, const crypto::public_key &public_key, const crypto::secret_key &secret_key);
bool decrypt_payment_id(crypto::hash8 &payment_id, const crypto::public_key &public_key, const crypto::secret_key &secret_key);
diff --git a/tests/core_tests/chaingen.cpp b/tests/core_tests/chaingen.cpp
index 4fdd0a600..efd0bf1ea 100644
--- a/tests/core_tests/chaingen.cpp
+++ b/tests/core_tests/chaingen.cpp
@@ -222,7 +222,7 @@ bool test_generator::construct_block_manually(block& blk, const block& prev_bloc
blk.timestamp = actual_params & bf_timestamp ? timestamp : prev_block.timestamp + DIFFICULTY_BLOCKS_ESTIMATE_TIMESPAN; // Keep difficulty unchanged
blk.prev_id = actual_params & bf_prev_id ? prev_id : get_block_hash(prev_block);
blk.tx_hashes = actual_params & bf_tx_hashes ? tx_hashes : std::vector<crypto::hash>();
- max_outs = actual_params & bf_max_outs ? max_outs : 1;
+ max_outs = actual_params & bf_max_outs ? max_outs : 9999;
size_t height = get_block_height(prev_block) + 1;
uint64_t already_generated_coins = get_already_generated_coins(prev_block);
diff --git a/tests/core_tests/chaingen.h b/tests/core_tests/chaingen.h
index 652413b8a..0e5dbb0e4 100644
--- a/tests/core_tests/chaingen.h
+++ b/tests/core_tests/chaingen.h
@@ -241,7 +241,7 @@ public:
const cryptonote::account_base& miner_acc, int actual_params = bf_none, uint8_t major_ver = 0,
uint8_t minor_ver = 0, uint64_t timestamp = 0, const crypto::hash& prev_id = crypto::hash(),
const cryptonote::difficulty_type& diffic = 1, const cryptonote::transaction& miner_tx = cryptonote::transaction(),
- const std::vector<crypto::hash>& tx_hashes = std::vector<crypto::hash>(), size_t txs_sizes = 0, size_t max_outs = 0);
+ const std::vector<crypto::hash>& tx_hashes = std::vector<crypto::hash>(), size_t txs_sizes = 0, size_t max_outs = 999);
bool construct_block_manually_tx(cryptonote::block& blk, const cryptonote::block& prev_block,
const cryptonote::account_base& miner_acc, const std::vector<crypto::hash>& tx_hashes, size_t txs_size);
diff --git a/tests/core_tests/chaingen_main.cpp b/tests/core_tests/chaingen_main.cpp
index 9f8a57821..e20f7a152 100644
--- a/tests/core_tests/chaingen_main.cpp
+++ b/tests/core_tests/chaingen_main.cpp
@@ -168,9 +168,9 @@ int main(int argc, char* argv[])
GENERATE_AND_PLAY(gen_v2_tx_mixable_0_mixin);
GENERATE_AND_PLAY(gen_v2_tx_mixable_low_mixin);
- GENERATE_AND_PLAY(gen_v2_tx_unmixable_only);
- GENERATE_AND_PLAY(gen_v2_tx_unmixable_one);
- GENERATE_AND_PLAY(gen_v2_tx_unmixable_two);
+// GENERATE_AND_PLAY(gen_v2_tx_unmixable_only);
+// GENERATE_AND_PLAY(gen_v2_tx_unmixable_one);
+// GENERATE_AND_PLAY(gen_v2_tx_unmixable_two);
GENERATE_AND_PLAY(gen_v2_tx_dust);
std::cout << (failed_tests.empty() ? concolor::green : concolor::magenta);
diff --git a/tests/core_tests/v2_tests.cpp b/tests/core_tests/v2_tests.cpp
index d05456287..fe6b8b279 100644
--- a/tests/core_tests/v2_tests.cpp
+++ b/tests/core_tests/v2_tests.cpp
@@ -38,7 +38,7 @@ using namespace cryptonote;
//----------------------------------------------------------------------------------------------------------------------
// Tests
-bool gen_v2_tx_validation_base::generate_with(std::vector<test_event_entry>& events, const int *out_idx, int mixin, uint64_t amount_paid, size_t max_outs, bool valid) const
+bool gen_v2_tx_validation_base::generate_with(std::vector<test_event_entry>& events, const int *out_idx, int mixin, uint64_t amount_paid, bool valid) const
{
uint64_t ts_start = 1338224400;
@@ -52,9 +52,9 @@ bool gen_v2_tx_validation_base::generate_with(std::vector<test_event_entry>& eve
for (size_t n = 0; n < 4; ++n) {
miner_accounts[n].generate();
CHECK_AND_ASSERT_MES(generator.construct_block_manually(blocks[n], *prev_block, miner_accounts[n],
- test_generator::bf_major_ver | test_generator::bf_minor_ver | test_generator::bf_timestamp | test_generator::bf_max_outs,
+ test_generator::bf_major_ver | test_generator::bf_minor_ver | test_generator::bf_timestamp,
2, 2, prev_block->timestamp + DIFFICULTY_BLOCKS_ESTIMATE_TIMESPAN * 2, // v2 has blocks twice as long
- crypto::hash(), 0, transaction(), std::vector<crypto::hash>(), 0, max_outs),
+ crypto::hash(), 0, transaction(), std::vector<crypto::hash>(), 0, 0),
false, "Failed to generate block");
events.push_back(blocks[n]);
prev_block = blocks + n;
@@ -68,9 +68,9 @@ bool gen_v2_tx_validation_base::generate_with(std::vector<test_event_entry>& eve
{
cryptonote::block blk;
CHECK_AND_ASSERT_MES(generator.construct_block_manually(blk, blk_last, miner_account,
- test_generator::bf_major_ver | test_generator::bf_minor_ver | test_generator::bf_timestamp | test_generator::bf_max_outs,
+ test_generator::bf_major_ver | test_generator::bf_minor_ver | test_generator::bf_timestamp,
2, 2, blk_last.timestamp + DIFFICULTY_BLOCKS_ESTIMATE_TIMESPAN * 2, // v2 has blocks twice as long
- crypto::hash(), 0, transaction(), std::vector<crypto::hash>(), 0, max_outs),
+ crypto::hash(), 0, transaction(), std::vector<crypto::hash>(), 0, 0),
false, "Failed to generate block");
events.push_back(blk);
blk_last = blk;
@@ -123,8 +123,7 @@ bool gen_v2_tx_mixable_0_mixin::generate(std::vector<test_event_entry>& events)
const int mixin = 0;
const int out_idx[] = {1, -1};
const uint64_t amount_paid = 10000;
- const size_t max_outs = 11;
- return generate_with(events, out_idx, mixin, amount_paid, max_outs, false);
+ return generate_with(events, out_idx, mixin, amount_paid, false);
}
bool gen_v2_tx_mixable_low_mixin::generate(std::vector<test_event_entry>& events) const
@@ -132,8 +131,7 @@ bool gen_v2_tx_mixable_low_mixin::generate(std::vector<test_event_entry>& events
const int mixin = 1;
const int out_idx[] = {1, -1};
const uint64_t amount_paid = 10000;
- const size_t max_outs = 11;
- return generate_with(events, out_idx, mixin, amount_paid, max_outs, false);
+ return generate_with(events, out_idx, mixin, amount_paid, false);
}
bool gen_v2_tx_unmixable_only::generate(std::vector<test_event_entry>& events) const
@@ -141,8 +139,7 @@ bool gen_v2_tx_unmixable_only::generate(std::vector<test_event_entry>& events) c
const int mixin = 0;
const int out_idx[] = {0, -1};
const uint64_t amount_paid = 10000;
- const size_t max_outs = 1;
- return generate_with(events, out_idx, mixin, amount_paid, max_outs, true);
+ return generate_with(events, out_idx, mixin, amount_paid, true);
}
bool gen_v2_tx_unmixable_one::generate(std::vector<test_event_entry>& events) const
@@ -150,8 +147,7 @@ bool gen_v2_tx_unmixable_one::generate(std::vector<test_event_entry>& events) co
const int mixin = 0;
const int out_idx[] = {0, 1, -1};
const uint64_t amount_paid = 10000;
- const size_t max_outs = 11;
- return generate_with(events, out_idx, mixin, amount_paid, max_outs, true);
+ return generate_with(events, out_idx, mixin, amount_paid, true);
}
bool gen_v2_tx_unmixable_two::generate(std::vector<test_event_entry>& events) const
@@ -159,8 +155,7 @@ bool gen_v2_tx_unmixable_two::generate(std::vector<test_event_entry>& events) co
const int mixin = 0;
const int out_idx[] = {0, 1, 2, -1};
const uint64_t amount_paid = 10000;
- const size_t max_outs = 11;
- return generate_with(events, out_idx, mixin, amount_paid, max_outs, false);
+ return generate_with(events, out_idx, mixin, amount_paid, false);
}
bool gen_v2_tx_dust::generate(std::vector<test_event_entry>& events) const
@@ -168,6 +163,5 @@ bool gen_v2_tx_dust::generate(std::vector<test_event_entry>& events) const
const int mixin = 2;
const int out_idx[] = {1, -1};
const uint64_t amount_paid = 10001;
- const size_t max_outs = 11;
- return generate_with(events, out_idx, mixin, amount_paid, max_outs, false);
+ return generate_with(events, out_idx, mixin, amount_paid, false);
}
diff --git a/tests/core_tests/v2_tests.h b/tests/core_tests/v2_tests.h
index c296f0d8b..10049ec95 100644
--- a/tests/core_tests/v2_tests.h
+++ b/tests/core_tests/v2_tests.h
@@ -70,7 +70,7 @@ struct gen_v2_tx_validation_base : public test_chain_unit_base
}
bool generate_with(std::vector<test_event_entry>& events, const int *out_idx, int mixin,
- uint64_t amount_paid, size_t max_outs, bool valid) const;
+ uint64_t amount_paid, bool valid) const;
private:
size_t m_invalid_tx_index;