Page MenuHomePhabricator

Make transaction ordering tests easier to debug
ClosedPublic

Authored by schancel on Aug 2 2018, 20:55.

Details

Summary

As per title

Test Plan
make VERBOSE=1 check

Diff Detail

Repository
rABC Bitcoin ABC
Branch
mempool-tests
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 3001
Build 4096: Bitcoin ABC Buildbot (legacy)
Build 4095: arc lint + arc unit

Event Timeline

jasonbcox requested changes to this revision.Aug 6 2018, 15:31
jasonbcox added a subscriber: jasonbcox.

This change shouldn't be necessary. Debugging steps (using gdb) to replicate similar behavior:

  • break @ CheckSort() calls
  • break @ BOOST_CHECK_EQUAL() then disable the breakpoint
  • run
  • once the breakpoint @ CheckSort() is hit, enable the breakpoint @ BOOST_CHECK_EQUAL()
  • continue to BOOST_CHECK_EQUAL()

This process can be repeated to skip over unnecessary CheckSort() calls. Additionally, the breakpoint @ BOOST_CHECK_EQUAL() can be made conditional to only hit specific values of count to further reduce the number of breakpoints hit.

This revision now requires changes to proceed.Aug 6 2018, 15:31

Those steps don't actually work for being able to debug these tests. Having some kind of annotation makes debugging much simpler since this test is fragile.

Chatted more offline. This change is an improvement over what we have currently.

This revision is now accepted and ready to land.Aug 6 2018, 17:28
This revision was automatically updated to reflect the committed changes.