Add tests covering the current interaction of alerts with subver comments

This commit is contained in:
Jack Grigg 2017-10-25 15:38:44 +13:00
parent c1ed8080f2
commit 00d1efde32
No known key found for this signature in database
GPG Key ID: 9E8255172BBF9898
2 changed files with 28 additions and 4 deletions

View File

@ -174,6 +174,14 @@ void GenerateAlertTests()
alert.strStatusBar = "Alert 1 for MagicBean 0.1.0, 0.2.0";
SignAndSerialize(alert, sBuffer);
alert.setSubVer.insert(std::string("/MagicBean:0.2.1(foo)/"));
alert.strStatusBar = "Alert 1 for MagicBean 0.1.0, 0.2.0, 0.2.1(foo)";
SignAndSerialize(alert, sBuffer);
alert.setSubVer.insert(std::string("/MagicBean:0.2.1/"));
alert.strStatusBar = "Alert 1 for MagicBean 0.1.0, 0.2.0, 0.2.1(foo), 0.2.1";
SignAndSerialize(alert, sBuffer);
alert.setSubVer.clear();
++alert.nID;
alert.nCancel = 1;
@ -304,6 +312,15 @@ BOOST_AUTO_TEST_CASE(AlertApplies)
BOOST_CHECK(alerts[2].AppliesTo(1, "/MagicBean:0.1.0/"));
BOOST_CHECK(alerts[2].AppliesTo(1, "/MagicBean:0.2.0/"));
BOOST_CHECK(alerts[3].AppliesTo(1, "/MagicBean:0.1.0/"));
BOOST_CHECK(alerts[3].AppliesTo(1, "/MagicBean:0.2.0/"));
BOOST_CHECK(alerts[3].AppliesTo(1, "/MagicBean:0.2.1(foo)/"));
BOOST_CHECK(alerts[4].AppliesTo(1, "/MagicBean:0.1.0/"));
BOOST_CHECK(alerts[4].AppliesTo(1, "/MagicBean:0.2.0/"));
BOOST_CHECK(alerts[4].AppliesTo(1, "/MagicBean:0.2.1(foo)/"));
BOOST_CHECK(alerts[4].AppliesTo(1, "/MagicBean:0.2.1/"));
// Don't match:
BOOST_CHECK(!alerts[0].AppliesTo(-1, ""));
BOOST_CHECK(!alerts[0].AppliesTo(999002, ""));
@ -314,10 +331,17 @@ BOOST_AUTO_TEST_CASE(AlertApplies)
BOOST_CHECK(!alerts[1].AppliesTo(1, "MagicBean:0.1.0/"));
BOOST_CHECK(!alerts[1].AppliesTo(-1, "/MagicBean:0.1.0/"));
BOOST_CHECK(!alerts[1].AppliesTo(999002, "/MagicBean:0.1.0/"));
BOOST_CHECK(!alerts[1].AppliesTo(1, "/MagicBean:0.1.0/FlowerPot:0.0.1/"));
BOOST_CHECK(!alerts[1].AppliesTo(1, "/MagicBean:0.2.0/"));
// SubVer with comment doesn't match SubVer pattern without
BOOST_CHECK(!alerts[2].AppliesTo(1, "/MagicBean:0.2.0(foo)/"));
BOOST_CHECK(!alerts[2].AppliesTo(1, "/MagicBean:0.2.1/"));
BOOST_CHECK(!alerts[2].AppliesTo(1, "/MagicBean:0.3.0/"));
// SubVer without comment doesn't match SubVer pattern with
BOOST_CHECK(!alerts[3].AppliesTo(1, "/MagicBean:0.2.1/"));
SetMockTime(0);
}
@ -371,13 +395,13 @@ BOOST_AUTO_TEST_CASE(AlertDisablesRPC)
BOOST_CHECK_EQUAL(GetWarnings("rpc"), "");
// First alert should disable RPC
alerts[5].ProcessAlert(alertKey, false);
BOOST_CHECK_EQUAL(alerts[5].strRPCError, "RPC disabled");
alerts[7].ProcessAlert(alertKey, false);
BOOST_CHECK_EQUAL(alerts[7].strRPCError, "RPC disabled");
BOOST_CHECK_EQUAL(GetWarnings("rpc"), "RPC disabled");
// Second alert should re-enable RPC
alerts[6].ProcessAlert(alertKey, false);
BOOST_CHECK_EQUAL(alerts[6].strRPCError, "");
alerts[8].ProcessAlert(alertKey, false);
BOOST_CHECK_EQUAL(alerts[8].strRPCError, "");
BOOST_CHECK_EQUAL(GetWarnings("rpc"), "");
SetMockTime(0);

Binary file not shown.