From 7abfa538b5a4508e0cf0589ae3ac0620b2188912 Mon Sep 17 00:00:00 2001 From: Suhas Daftuar Date: Fri, 12 Jan 2018 12:40:55 -0500 Subject: Add test for new ancestor feerate sort behavior --- src/test/mempool_tests.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/test/mempool_tests.cpp b/src/test/mempool_tests.cpp index f56f341498..e6234c5abf 100644 --- a/src/test/mempool_tests.cpp +++ b/src/test/mempool_tests.cpp @@ -427,6 +427,23 @@ BOOST_AUTO_TEST_CASE(MempoolAncestorIndexingTest) sortedOrder.erase(sortedOrder.end()-2); sortedOrder.insert(sortedOrder.begin(), tx7.GetHash().ToString()); CheckSort(pool, sortedOrder); + + // High-fee parent, low-fee child + // tx7 -> tx8 + CMutableTransaction tx8 = CMutableTransaction(); + tx8.vin.resize(1); + tx8.vin[0].prevout = COutPoint(tx7.GetHash(), 0); + tx8.vin[0].scriptSig = CScript() << OP_11; + tx8.vout.resize(1); + tx8.vout[0].scriptPubKey = CScript() << OP_11 << OP_EQUAL; + tx8.vout[0].nValue = 10*COIN; + + // Check that we sort by min(feerate, ancestor_feerate): + // set the fee so that the ancestor feerate is above tx1/5, + // but the transaction's own feerate is lower + pool.addUnchecked(tx8.GetHash(), entry.Fee(5000LL).FromTx(tx8)); + sortedOrder.insert(sortedOrder.end()-1, tx8.GetHash().ToString()); + CheckSort(pool, sortedOrder); } -- cgit v1.2.3