aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorRiccardo Spagni <ric@spagni.net>2014-10-23 16:43:34 +0200
committerRiccardo Spagni <ric@spagni.net>2014-10-23 16:43:39 +0200
commit699d93246105d004a0377f5df587d3ad4b20dc4b (patch)
treef4f4b39db0a3d6c94089d1e5fd578a99d0af242b /tests
parentApple and BSD don't need malloc.h (diff)
parentfixed unit tests (diff)
downloadmonero-699d93246105d004a0377f5df587d3ad4b20dc4b.tar.xz
Merge pull request #182
1795c38 fixed unit tests (Riccardo Spagni) bc537ac miniupnpc static define change (Riccardo Spagni)
Diffstat (limited to 'tests')
-rw-r--r--tests/CMakeLists.txt2
-rw-r--r--tests/unit_tests/base58.cpp3
-rw-r--r--tests/unit_tests/block_reward.cpp19
-rw-r--r--tests/unit_tests/dns_resolver.cpp5
-rw-r--r--tests/unit_tests/parse_amount.cpp43
-rw-r--r--tests/unit_tests/test_format_utils.cpp8
6 files changed, 45 insertions, 35 deletions
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index d663df0d9..533bf8c58 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -29,6 +29,8 @@
# Parts of this file are originally copyright (c) 2012-2013 The Cryptonote developers
add_definitions(-DSTATICLIB)
+# miniupnp changed their static define
+add_definitions(-DMINIUPNP_STATICLIB)
add_subdirectory(gtest)
include_directories(${gtest_SOURCE_DIR}/include ${gtest_SOURCE_DIR})
diff --git a/tests/unit_tests/base58.cpp b/tests/unit_tests/base58.cpp
index 28fb27f25..cdd8c4d68 100644
--- a/tests/unit_tests/base58.cpp
+++ b/tests/unit_tests/base58.cpp
@@ -466,7 +466,8 @@ namespace
"\x64\x18\x74\x51\x3a\x03\x57\x78\xa0\xc1\x77\x8d\x83\x32\x01\xe9"
"\x22\x09\x39\x68\x9e\xdf\x1a\xbd\x5b\xc1\xd0\x31\xf7\x3e\xcd\x6c"
"\x99\x3a\xdd\x66\xd6\x80\x88\x70\x45\x6a\xfe\xb8\xe7\xee\xb6\x8d");
- std::string test_keys_addr_str = "2AaF4qEmER6dNeM6dfiBFL7kqund3HYGvMBF3ttsNd9SfzgYB6L7ep1Yg1osYJzLdaKAYSLVh6e6jKnAuzj3bw1oGyd1x7Z";
+ // DON'T ever use this as a destination for funds, as the keys are right above this comment...
+ std::string test_keys_addr_str = "4AzKEX4gXdJdNeM6dfiBFL7kqund3HYGvMBF3ttsNd9SfzgYB6L7ep1Yg1osYJzLdaKAYSLVh6e6jKnAuzj3bw1oGy9kXCb";
}
TEST(get_account_address_as_str, works_correctly)
diff --git a/tests/unit_tests/block_reward.cpp b/tests/unit_tests/block_reward.cpp
index bf6cc8c84..7ae088d97 100644
--- a/tests/unit_tests/block_reward.cpp
+++ b/tests/unit_tests/block_reward.cpp
@@ -53,23 +53,24 @@ namespace
TEST_F(block_reward_and_already_generated_coins, handles_first_values)
{
- TEST_ALREADY_GENERATED_COINS(0, 70368744177663);
- TEST_ALREADY_GENERATED_COINS(m_block_reward, 70368475742208);
- TEST_ALREADY_GENERATED_COINS(UINT64_C(2756434948434199641), 59853779316998);
+ // 17592186044415 from neozaru, confirmed by fluffypony
+ TEST_ALREADY_GENERATED_COINS(0, 17592186044415);
+ TEST_ALREADY_GENERATED_COINS(m_block_reward, 17592169267200);
+ TEST_ALREADY_GENERATED_COINS(UINT64_C(2756434948434199641), 14963444829249);
}
TEST_F(block_reward_and_already_generated_coins, correctly_steps_from_2_to_1)
{
- TEST_ALREADY_GENERATED_COINS(MONEY_SUPPLY - ((2 << 18) + 1), 2);
- TEST_ALREADY_GENERATED_COINS(MONEY_SUPPLY - (2 << 18) , 2);
- TEST_ALREADY_GENERATED_COINS(MONEY_SUPPLY - ((2 << 18) - 1), 1);
+ TEST_ALREADY_GENERATED_COINS(MONEY_SUPPLY - ((2 << 20) + 1), 2);
+ TEST_ALREADY_GENERATED_COINS(MONEY_SUPPLY - (2 << 20) , 2);
+ TEST_ALREADY_GENERATED_COINS(MONEY_SUPPLY - ((2 << 20) - 1), 1);
}
TEST_F(block_reward_and_already_generated_coins, handles_max)
{
- TEST_ALREADY_GENERATED_COINS(MONEY_SUPPLY - ((1 << 18) + 1), 1);
- TEST_ALREADY_GENERATED_COINS(MONEY_SUPPLY - (1 << 18) , 1);
- TEST_ALREADY_GENERATED_COINS(MONEY_SUPPLY - ((1 << 18) - 1), 0);
+ TEST_ALREADY_GENERATED_COINS(MONEY_SUPPLY - ((1 << 20) + 1), 1);
+ TEST_ALREADY_GENERATED_COINS(MONEY_SUPPLY - (1 << 20) , 1);
+ TEST_ALREADY_GENERATED_COINS(MONEY_SUPPLY - ((1 << 20) - 1), 0);
}
//--------------------------------------------------------------------------------------------------------------------
diff --git a/tests/unit_tests/dns_resolver.cpp b/tests/unit_tests/dns_resolver.cpp
index d4b0efe43..e944411f3 100644
--- a/tests/unit_tests/dns_resolver.cpp
+++ b/tests/unit_tests/dns_resolver.cpp
@@ -68,7 +68,8 @@ TEST(DNSResolver, IPv4Failure)
ASSERT_EQ(0, ips.size());
}
-TEST(DNSResolver, IPv6Success)
+// It would be great to include an IPv6 test and assume it'll pass, but not every ISP / resolver plays nicely with IPv6;)
+/*TEST(DNSResolver, IPv6Success)
{
tools::DNSResolver resolver;
@@ -85,7 +86,7 @@ TEST(DNSResolver, IPv6Success)
ASSERT_EQ(1, ips.size());
ASSERT_STREQ("2606:2800:220:6d:26bf:1447:1097:aa7", ips[0].c_str());
-}
+}*/
TEST(DNSResolver, IPv6Failure)
{
diff --git a/tests/unit_tests/parse_amount.cpp b/tests/unit_tests/parse_amount.cpp
index 80770212a..5e677a0b2 100644
--- a/tests/unit_tests/parse_amount.cpp
+++ b/tests/unit_tests/parse_amount.cpp
@@ -105,22 +105,27 @@ TEST_pos(0, 00_00000000);
TEST_pos(0, 00_000000000);
TEST_pos(0, 00_00000000000000000000000000000000);
-TEST_pos(1, 0_00000001);
-TEST_pos(1, 0_000000010);
-TEST_pos(1, 0_000000010000000000000000000000000);
-TEST_pos(9, 0_00000009);
-TEST_pos(9, 0_000000090);
-TEST_pos(9, 0_000000090000000000000000000000000);
-
-TEST_pos( 100000000, 1);
-TEST_pos( 6553500000000, 65535);
-TEST_pos( 429496729500000000, 4294967295);
-TEST_pos(18446744073700000000, 184467440737_);
-TEST_pos(18446744073700000000, 184467440737_0);
-TEST_pos(18446744073700000000, 184467440737_00000000);
-TEST_pos(18446744073700000000, 184467440737_000000000);
-TEST_pos(18446744073700000000, 184467440737_0000000000000000000);
-TEST_pos(18446744073709551615, 184467440737_09551615);
+TEST_pos(1, 0_000000000001);
+TEST_pos(1, 0_0000000000010);
+TEST_pos(1, 0_0000000000010000000000000000000000000);
+TEST_pos(9, 0_000000000009);
+TEST_pos(9, 0_0000000000090);
+TEST_pos(9, 0_0000000000090000000000000000000000000);
+
+TEST_pos(1000000000000, 1);
+TEST_pos(10000000000000, 10);
+TEST_pos(100000000000000, 100);
+TEST_pos(1000000000000000, 1000);
+TEST_pos(6553500000000000, 6553_5);
+TEST_pos(429496729500000000, 429496_7295);
+TEST_pos(18446744073700000000, 18446744_0737);
+TEST_pos(18446744073700000000, 18446744_0737000);
+TEST_pos(18446744073700000000, 18446744_07370000);
+TEST_pos(18446744073700000000, 18446744_073700000);
+TEST_pos(18446744073700000000, 18446744_0737000000000000000);
+
+/* Max supply */
+TEST_pos(18446744073709551615, 18446744_073709551615);
// Invalid numbers
TEST_neg_n(~, empty_string);
@@ -130,9 +135,9 @@ TEST_neg_n(-1, minus_1);
TEST_neg_n(+1, plus_1);
TEST_neg_n(_, only_point);
-// A lot of fraction digits
-TEST_neg(0_000000001);
-TEST_neg(0_000000009);
+// Don't go below 10^-12
+TEST_neg(0_0000000000001);
+TEST_neg(0_0000000000009);
TEST_neg(184467440737_000000001);
// Overflow
diff --git a/tests/unit_tests/test_format_utils.cpp b/tests/unit_tests/test_format_utils.cpp
index 857b5b09f..9fa09b4e9 100644
--- a/tests/unit_tests/test_format_utils.cpp
+++ b/tests/unit_tests/test_format_utils.cpp
@@ -165,11 +165,11 @@ TEST(validate_parse_amount_case, validate_parse_amount)
uint64_t res = 0;
bool r = cryptonote::parse_amount(res, "0.0001");
ASSERT_TRUE(r);
- ASSERT_EQ(res, 10000);
+ ASSERT_EQ(res, 100000000);
r = cryptonote::parse_amount(res, "100.0001");
ASSERT_TRUE(r);
- ASSERT_EQ(res, 10000010000);
+ ASSERT_EQ(res, 100000100000000);
r = cryptonote::parse_amount(res, "000.0000");
ASSERT_TRUE(r);
@@ -182,11 +182,11 @@ TEST(validate_parse_amount_case, validate_parse_amount)
r = cryptonote::parse_amount(res, " 100.0001 ");
ASSERT_TRUE(r);
- ASSERT_EQ(res, 10000010000);
+ ASSERT_EQ(res, 100000100000000);
r = cryptonote::parse_amount(res, " 100.0000 ");
ASSERT_TRUE(r);
- ASSERT_EQ(res, 10000000000);
+ ASSERT_EQ(res, 100000000000000);
r = cryptonote::parse_amount(res, " 100. 0000 ");
ASSERT_FALSE(r);