Page MenuHomePhabricator

[avalanche] Avoid connecting via addavalanchenode in tests
ClosedPublic

Authored by Fabien on Oct 7 2022, 15:36.

Details

Summary

This splits the get_ava_p2p_interface in 2 flavors: with or without handshake. This allows for using the natural peer discovery for connecting the avalanche peers in tests rather than requiring to manual connection via addavalanchenode. The tests that can benefit from a noban whitelist to speed up the tests gets updated as well.

Depends on D12176.

Test Plan
ninja check-functional-extended

Diff Detail

Repository
rABC Bitcoin ABC
Branch
avalanche_no_addavalanchenode_tests
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 20412
Build 40497: Build Diffbuild-clang-tidy · build-debug · build-clang · build-diff · build-without-wallet
Build 40496: arc lint + arc unit

Event Timeline

Fabien requested review of this revision.Oct 7 2022, 15:36
sdulfari requested changes to this revision.Oct 7 2022, 23:53
sdulfari added a subscriber: sdulfari.
sdulfari added inline comments.
test/functional/abc_feature_proof_cleanup.py
113 ↗(On Diff #35529)

Does this not use get_ava_p2p_interface_no_handshake simply because it is not necessary?

test/functional/abc_p2p_avalanche_transaction_voting.py
21 ↗(On Diff #35529)

Why?

test/functional/test_framework/avatools.py
352 ↗(On Diff #35529)
This revision now requires changes to proceed.Oct 7 2022, 23:53
test/functional/abc_feature_proof_cleanup.py
113 ↗(On Diff #35529)

No, it's just a leftover and should be get_ava_p2p_interface_no_handshake

test/functional/abc_p2p_avalanche_transaction_voting.py
21 ↗(On Diff #35529)

Because if the change in behavior in the below get_ava_p2p_interface, that now creates a proof from a coinbase and sends it.

26 ↗(On Diff #35529)

here

Tail of the build log:

wallet_importprunedfunds.py               | ✓ Passed  | 2 s
wallet_importprunedfunds.py --descriptors | ✓ Passed  | 3 s
wallet_keypool.py                         | ✓ Passed  | 3 s
wallet_keypool_topup.py                   | ✓ Passed  | 4 s
wallet_keypool_topup.py --descriptors     | ✓ Passed  | 4 s
wallet_labels.py                          | ✓ Passed  | 2 s
wallet_labels.py --descriptors            | ✓ Passed  | 2 s
wallet_listreceivedby.py                  | ✓ Passed  | 8 s
wallet_listsinceblock.py                  | ✓ Passed  | 6 s
wallet_listsinceblock.py --descriptors    | ✓ Passed  | 8 s
wallet_listtransactions.py                | ✓ Passed  | 4 s
wallet_listtransactions.py --descriptors  | ✓ Passed  | 4 s
wallet_multiwallet.py                     | ✓ Passed  | 48 s
wallet_multiwallet.py --usecli            | ✓ Passed  | 16 s
wallet_reorgsrestore.py                   | ✓ Passed  | 5 s
wallet_resendwallettransactions.py        | ✓ Passed  | 3 s
wallet_send.py                            | ✓ Passed  | 10 s
wallet_startup.py                         | ✓ Passed  | 4 s
wallet_txn_clone.py                       | ✓ Passed  | 3 s
wallet_txn_clone.py --mineblock           | ✓ Passed  | 4 s
wallet_txn_doublespend.py                 | ✓ Passed  | 3 s
wallet_txn_doublespend.py --mineblock     | ✓ Passed  | 4 s
wallet_watchonly.py                       | ✓ Passed  | 1 s
wallet_watchonly.py --usecli              | ✓ Passed  | 2 s

ALL                                       | ✓ Passed  | 1786 s (accumulated) 
Runtime: 358 s

[206/478] Test Bitcoin RPC authentication...
...
----------------------------------------------------------------------
Ran 3 tests in 0.005s

OK
[208/478] cd /work/contrib/devtools/chainparams && /usr/bin/python3.9 ./test_make_chainparams.py
.....
----------------------------------------------------------------------
Ran 5 tests in 0.001s

OK
[212/478] Running seeder test suite
PASSED: seeder test suite
[261/478] bitcoin: testing validationinterface_tests
FAILED: src/test/CMakeFiles/check-bitcoin-validationinterface_tests 
cd /work/abc-ci-builds/build-debug/src/test && /usr/bin/cmake -E make_directory /work/abc-ci-builds/build-debug/test/junit && /usr/bin/cmake -E make_directory /work/abc-ci-builds/build-debug/test/log && /usr/bin/cmake -E env /work/cmake/utils/log-and-print-on-failure.sh /work/abc-ci-builds/build-debug/test/log/bitcoin-validationinterface_tests.log /work/abc-ci-builds/build-debug/src/test/test_bitcoin --run_test=validationinterface_tests --logger=HRF,message:JUNIT,message,bitcoin-validationinterface_tests.xml --catch_system_errors=no
Running 3 test cases...
../../src/test/validationinterface_tests.cpp(108): error: in "validationinterface_tests/unregister_all_during_call": check destroyed has failed

*** 1 failure is detected in the test module "Bitcoin ABC unit tests"
[447/478] Running avalanche test suite
PASSED: avalanche test suite
[450/478] Running pow test suite
PASSED: pow test suite
[459/478] Running bitcoin-qt test suite
PASSED: bitcoin-qt test suite
[463/478] Running secp256k1 test suite
PASSED: secp256k1 test suite
[475/478] Running utility command for check-bitcoin-coins_tests
ninja: build stopped: cannot make progress due to previous errors.
Build build-debug failed with exit code 1
This revision is now accepted and ready to land.Oct 10 2022, 17:06