From fecba4e2699359e25cccd40266de9697f30ea95e Mon Sep 17 00:00:00 2001 From: Pieter Wuille Date: Wed, 19 Feb 2014 01:54:11 +0100 Subject: [PATCH] Total money limit test Added bounds check by @il--ya. Updated-by: Wladimir van der Laan --- src/test/Makefile.am | 1 + src/test/main_tests.cpp | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 src/test/main_tests.cpp diff --git a/src/test/Makefile.am b/src/test/Makefile.am index 667e53c6b..5a1f42ee6 100644 --- a/src/test/Makefile.am +++ b/src/test/Makefile.am @@ -45,6 +45,7 @@ test_bitcoin_SOURCES = \ DoS_tests.cpp \ getarg_tests.cpp \ key_tests.cpp \ + main_tests.cpp \ miner_tests.cpp \ mruset_tests.cpp \ multisig_tests.cpp \ diff --git a/src/test/main_tests.cpp b/src/test/main_tests.cpp new file mode 100644 index 000000000..b7f4312cd --- /dev/null +++ b/src/test/main_tests.cpp @@ -0,0 +1,20 @@ +#include "core.h" +#include "main.h" + +#include + +BOOST_AUTO_TEST_SUITE(main_tests) + +BOOST_AUTO_TEST_CASE(subsidy_limit_test) +{ + uint64_t nSum = 0; + for (int nHeight = 0; nHeight < 7000000; nHeight += 1000) { + uint64_t nSubsidy = GetBlockValue(nHeight, 0); + BOOST_CHECK(nSubsidy <= 50 * COIN); + nSum += nSubsidy * 1000; + BOOST_CHECK(MoneyRange(nSum)); + } + BOOST_CHECK(nSum == 2099999997690000ULL); +} + +BOOST_AUTO_TEST_SUITE_END()