From f170f4c2c22e2e62a745b91c0e2824a1eb4fcac3 Mon Sep 17 00:00:00 2001 From: Mayukha Vadari Date: Tue, 24 Mar 2026 11:54:02 -0700 Subject: [PATCH] fix tests, improve code --- src/test/rpc/Feature_test.cpp | 55 ++++++-------------- src/xrpld/app/misc/detail/AmendmentTable.cpp | 15 ++---- 2 files changed, 20 insertions(+), 50 deletions(-) diff --git a/src/test/rpc/Feature_test.cpp b/src/test/rpc/Feature_test.cpp index 8e0d00c57a..400563f432 100644 --- a/src/test/rpc/Feature_test.cpp +++ b/src/test/rpc/Feature_test.cpp @@ -155,19 +155,10 @@ class Feature_test : public beast::unit_test::suite BEAST_EXPECTS( feature[jss::vetoed].asBool() == (expectVeto || expectObsolete), feature[jss::name].asString() + " vetoed value"); - if (expectObsolete) - { - BEAST_EXPECTS( - feature.isMember(jss::obsolete) && feature[jss::obsolete].isBool() && - feature[jss::obsolete].asBool() == true, - feature[jss::name].asString() + " obsolete"); - } - else - { - BEAST_EXPECTS( - !feature.isMember(jss::obsolete), - feature[jss::name].asString() + " no obsolete"); - } + BEAST_EXPECTS( + feature.isMember(jss::obsolete) && feature[jss::obsolete].isBool() && + feature[jss::obsolete].asBool() == expectObsolete, + feature[jss::name].asString() + " obsolete"); BEAST_EXPECTS( feature.isMember(jss::supported) && feature[jss::supported].asBool(), feature[jss::name].asString() + " supported"); @@ -299,8 +290,10 @@ class Feature_test : public beast::unit_test::suite (*it).isMember(jss::supported) && (*it)[jss::supported].asBool() == expectSupported, (*it)[jss::name].asString() + " supported"); + BEAST_EXPECTS( + (*it).isMember(jss::obsolete) && (*it)[jss::obsolete].isBool(), + (*it)[jss::name].asString() + " unknown obsolete"); BEAST_EXPECT(!(*it).isMember(jss::vetoed)); - BEAST_EXPECT(!(*it).isMember(jss::obsolete)); BEAST_EXPECT(!(*it).isMember(jss::majority)); BEAST_EXPECT(!(*it).isMember(jss::count)); BEAST_EXPECT(!(*it).isMember(jss::validations)); @@ -372,19 +365,10 @@ class Feature_test : public beast::unit_test::suite BEAST_EXPECTS( (*it)[jss::vetoed].asBool() == (expectVeto || expectObsolete), (*it)[jss::name].asString() + " vetoed value"); - if (expectObsolete) - { - BEAST_EXPECTS( - (*it).isMember(jss::obsolete) && (*it)[jss::obsolete].isBool() && - (*it)[jss::obsolete].asBool() == true, - (*it)[jss::name].asString() + " obsolete"); - } - else - { - BEAST_EXPECTS( - !(*it).isMember(jss::obsolete), - (*it)[jss::name].asString() + " no obsolete"); - } + BEAST_EXPECTS( + (*it).isMember(jss::obsolete) && (*it)[jss::obsolete].isBool() && + (*it)[jss::obsolete].asBool() == expectObsolete, + (*it)[jss::name].asString() + " obsolete"); } BEAST_EXPECTS( (*it).isMember(jss::supported) && (*it)[jss::supported].asBool() == expectSupported, @@ -458,19 +442,10 @@ class Feature_test : public beast::unit_test::suite BEAST_EXPECTS( feature[jss::vetoed].asBool() == (expectVeto || expectObsolete), feature[jss::name].asString() + " vetoed value"); - if (expectObsolete) - { - BEAST_EXPECTS( - feature.isMember(jss::obsolete) && feature[jss::obsolete].isBool() && - feature[jss::obsolete].asBool() == true, - feature[jss::name].asString() + " obsolete"); - } - else - { - BEAST_EXPECTS( - !feature.isMember(jss::obsolete), - feature[jss::name].asString() + " no obsolete"); - } + BEAST_EXPECTS( + feature.isMember(jss::obsolete) && feature[jss::obsolete].isBool() && + feature[jss::obsolete].asBool() == expectObsolete, + feature[jss::name].asString() + " obsolete"); BEAST_EXPECTS(feature.isMember(jss::count), feature[jss::name].asString() + " count"); BEAST_EXPECTS( feature.isMember(jss::threshold), feature[jss::name].asString() + " threshold"); diff --git a/src/xrpld/app/misc/detail/AmendmentTable.cpp b/src/xrpld/app/misc/detail/AmendmentTable.cpp index 679bb56920..be4b2ec284 100644 --- a/src/xrpld/app/misc/detail/AmendmentTable.cpp +++ b/src/xrpld/app/misc/detail/AmendmentTable.cpp @@ -924,17 +924,12 @@ AmendmentTableImpl::injectJson( v[jss::name] = fs.name; v[jss::supported] = fs.supported; - if (fs.vote == AmendmentVote::obsolete) - { - v[jss::obsolete] = true; - if (isAdmin) - v[jss::vetoed] = true; - } - else if (isAdmin) - { - v[jss::vetoed] = fs.vote == AmendmentVote::down; - } v[jss::enabled] = fs.enabled; + v[jss::obsolete] = fs.vote == AmendmentVote::obsolete; + if (isAdmin) + { + v[jss::vetoed] = fs.vote == AmendmentVote::down || fs.vote == AmendmentVote::obsolete; + } if (!fs.enabled && lastVote_ && isAdmin) {