Page MenuHomePhabricator

Fix the abc_sigops_mempool_mining test
AbandonedPublic

Authored by Fabien on Apr 27 2020, 14:12.

Details

Reviewers
deadalnix
Group Reviewers
Restricted Project
Summary

In order to check the behavior under congestion, the test fills the
mempool with transactions and check the min feerate increased by some
amount. The mempool is filled until the mempool is full (no space left)
or the minimal fee has jumped and is no longer enough for the tx to be
accepted into the mempool. As commented in the test, this can occur when
running on 32 bits architectures.
The issue is that the test checks the min feerate against a value that
is only valid when the mempool is full. This diff fixes this behavior
and adds a comment to explain it.

Test Plan
./test/functional/test_runner.py abc-sigops-mempool-mining

Running on 32 bits without this patch will reveal the issue.

Diff Detail

Repository
rABC Bitcoin ABC
Branch
fix_abc_sigops_mempool_mining_32
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 10425
Build 18671: Default Diff Build & TestsLink to the build
Build 18670: arc lint + arc unit

Event Timeline

deadalnix requested changes to this revision.Apr 27 2020, 15:52
deadalnix added a subscriber: deadalnix.

That is the wrong approach. The reason the mempool is not full on 32 bits machines is because pointers are smaller which causes memory limit to not be reached. IMO this is an issue that is worth solving regardless of this test. A better way to solve this is to change the memory accounting in the mempool for 32 bits system to be identical to what happens on 64 bits systems.

This revision now requires changes to proceed.Apr 27 2020, 15:52
Fabien planned changes to this revision.Apr 27 2020, 15:57

Test comment with markup and reference @Fabien