From 13f144a0e373cf6368de91833b7e0f5038d0df15 Mon Sep 17 00:00:00 2001 From: Charlie Lee Date: Tue, 9 Sep 2014 01:08:47 -1000 Subject: [PATCH] Litecoin: Alert Tests --- src/test/alert_tests.cpp | 81 ++++++++++++++++++----------------- src/test/data/alertTests.raw | Bin 1279 -> 1281 bytes 2 files changed, 41 insertions(+), 40 deletions(-) diff --git a/src/test/alert_tests.cpp b/src/test/alert_tests.cpp index 4869ba52a..a2170773b 100644 --- a/src/test/alert_tests.cpp +++ b/src/test/alert_tests.cpp @@ -10,6 +10,7 @@ #include "clientversion.h" #include "data/alertTests.raw.h" +#include "chainparams.h" #include "serialize.h" #include "streams.h" #include "util.h" @@ -83,16 +84,7 @@ struct ReadAlerts ReadAlerts() { std::vector vch(alert_tests::alertTests, alert_tests::alertTests + sizeof(alert_tests::alertTests)); - CDataStream stream(vch, SER_DISK, CLIENT_VERSION); - try { - while (!stream.eof()) - { - CAlert alert; - stream >> alert; - alerts.push_back(alert); - } - } - catch (std::exception) { } + CDataStream(vch, SER_DISK, CLIENT_VERSION) >> allAlerts[CBaseChainParams::MAIN]; } ~ReadAlerts() { } @@ -108,7 +100,7 @@ struct ReadAlerts return result; } - std::vector alerts; + std::map > allAlerts; }; BOOST_FIXTURE_TEST_SUITE(Alert_tests, ReadAlerts) @@ -118,39 +110,46 @@ BOOST_AUTO_TEST_CASE(AlertApplies) { SetMockTime(11); - BOOST_FOREACH(const CAlert& alert, alerts) + BOOST_FOREACH(const PAIRTYPE(CBaseChainParams::Network, std::vector) &net, allAlerts) { - BOOST_CHECK(alert.CheckSignature()); + SelectParams(net.first); + const std::vector &alerts = net.second; + + BOOST_FOREACH(const CAlert& alert, alerts) + { + BOOST_CHECK(alert.CheckSignature()); + } + + BOOST_CHECK(alerts.size() >= 3); + + // Matches: + BOOST_CHECK(alerts[0].AppliesTo(1, "")); + BOOST_CHECK(alerts[0].AppliesTo(999001, "")); + BOOST_CHECK(alerts[0].AppliesTo(1, "/Satoshi:11.11.11/")); + + BOOST_CHECK(alerts[1].AppliesTo(1, "/Satoshi:0.1.0/")); + BOOST_CHECK(alerts[1].AppliesTo(999001, "/Satoshi:0.1.0/")); + + BOOST_CHECK(alerts[2].AppliesTo(1, "/Satoshi:0.1.0/")); + BOOST_CHECK(alerts[2].AppliesTo(1, "/Satoshi:0.2.0/")); + + // Don't match: + BOOST_CHECK(!alerts[0].AppliesTo(-1, "")); + BOOST_CHECK(!alerts[0].AppliesTo(999002, "")); + + BOOST_CHECK(!alerts[1].AppliesTo(1, "")); + BOOST_CHECK(!alerts[1].AppliesTo(1, "Satoshi:0.1.0")); + BOOST_CHECK(!alerts[1].AppliesTo(1, "/Satoshi:0.1.0")); + BOOST_CHECK(!alerts[1].AppliesTo(1, "Satoshi:0.1.0/")); + BOOST_CHECK(!alerts[1].AppliesTo(-1, "/Satoshi:0.1.0/")); + BOOST_CHECK(!alerts[1].AppliesTo(999002, "/Satoshi:0.1.0/")); + BOOST_CHECK(!alerts[1].AppliesTo(1, "/Satoshi:0.2.0/")); + + BOOST_CHECK(!alerts[2].AppliesTo(1, "/Satoshi:0.3.0/")); } - BOOST_CHECK(alerts.size() >= 3); - - // Matches: - BOOST_CHECK(alerts[0].AppliesTo(1, "")); - BOOST_CHECK(alerts[0].AppliesTo(999001, "")); - BOOST_CHECK(alerts[0].AppliesTo(1, "/Satoshi:11.11.11/")); - - BOOST_CHECK(alerts[1].AppliesTo(1, "/Satoshi:0.1.0/")); - BOOST_CHECK(alerts[1].AppliesTo(999001, "/Satoshi:0.1.0/")); - - BOOST_CHECK(alerts[2].AppliesTo(1, "/Satoshi:0.1.0/")); - BOOST_CHECK(alerts[2].AppliesTo(1, "/Satoshi:0.2.0/")); - - // Don't match: - BOOST_CHECK(!alerts[0].AppliesTo(-1, "")); - BOOST_CHECK(!alerts[0].AppliesTo(999002, "")); - - BOOST_CHECK(!alerts[1].AppliesTo(1, "")); - BOOST_CHECK(!alerts[1].AppliesTo(1, "Satoshi:0.1.0")); - BOOST_CHECK(!alerts[1].AppliesTo(1, "/Satoshi:0.1.0")); - BOOST_CHECK(!alerts[1].AppliesTo(1, "Satoshi:0.1.0/")); - BOOST_CHECK(!alerts[1].AppliesTo(-1, "/Satoshi:0.1.0/")); - BOOST_CHECK(!alerts[1].AppliesTo(999002, "/Satoshi:0.1.0/")); - BOOST_CHECK(!alerts[1].AppliesTo(1, "/Satoshi:0.2.0/")); - - BOOST_CHECK(!alerts[2].AppliesTo(1, "/Satoshi:0.3.0/")); - SetMockTime(0); + SelectParams(CBaseChainParams::MAIN); } @@ -158,6 +157,8 @@ BOOST_AUTO_TEST_CASE(AlertNotify) { SetMockTime(11); + const std::vector &alerts = allAlerts.find(CBaseChainParams::MAIN)->second; + boost::filesystem::path temp = GetTempPath() / "alertnotify.txt"; boost::filesystem::remove(temp); diff --git a/src/test/data/alertTests.raw b/src/test/data/alertTests.raw index 01f50680b95aa307a1a013b643ded4ae0bc47162..a4e787634897de4f6460a01173b4d19a63dc6217 100644 GIT binary patch delta 620 zcmV-y0+ap!34sa$2#`WZMleJIARIe2jk)(sTWvXLoO%jS8Vm;|1`uKkptppgyW>eR zE&?DjH&BEpTvQ)Hwu4|rTT3_0w=-*z$ttdlD_$Yy%0v@mkpU%;nKT-DtEqmkpU%>TLD@_Y!TbJgWy22U3dBz4@b#=V=Pu_Ti?Qv&&=LP4COj}&qR{`@0B?abc^}|e&0Th!A0ys!VFhv3(0F=E@ z3XPI?WZz36)|T~jW4R^y+WALHt%LX;g3=(3MFJoKmvCB&p5uLNd|Imi7wi`#-lY%% zbB;`B8Wm{71L=R0AOjVXpaMQZs=74NczbzULHjb=q{<+B7AMb@eS8W@K-(YCs;^mk z0w6>Wbp#wuIL^jN_4ZHGrfH&S|BT;l=>~~WdtO*=l{Awe15HRqFhl|%Zw8jfWVKLZ zsu4{WP*sk^VetJti$=q3IWnL9O1&4Q0w88$O?EqGg_MVjYv2Sgp9&f=vrsPU9^WhV zoy-KohfZUYAp;bX$^%tGm-o$n?j&n{NxVxYIkI{4n|S6M`vJifr=l)A_|u>k0w8@m zRC0EwZs8FAL!*$D7xp_10|D9eAIQ$P>(A*sE>gwlZ+YN