test: Remove --noshutdown flag, Tidy startup failures
Summary:
test: Treat leftover process as error
Printing to stderr instead of stdout makes the test_runner.py fail on
leftover processes. This is desired and fine, because a leftover process
should only happen on a test failure anyway.
test: Remove --noshutdown flag
The --noshutdown flag is brittle, confusing, and redundant:
Someone wanting to inspect the state after a test failure will likely also want to debug the state on the python side, so the option is redundant with --pdbonfailure. If there was a use case to replicate --pdbonfailure without starting pdb, a dedicated flag could be added for that use case. It is brittle to use the flag for a passing test, because it will disable checks in the test. For example, on shutdown LSan will perform a leak check, and the test framework will check that the node did not crash, and it will check that the node did not print errors to stderr.Fix all issues by removing it.
test: Avoid redundant stop and error spam on startup failure
Trying to immediately shut down a node after a startup failure without
waiting for the RPC to be fully up will in most cases just fail and lead
to an RPC error.Also, it is confusing to sidestep the existing fallback to kill any
leftover nodes on a test failure.So just rely on the fallback.
test: Avoid redundant stop and error spam on shutdown
Trying to shut down a node after a test failure may fail and lead to an
RPC error.Also, it is confusing to sidestep the existing fallback to kill any
leftover nodes on a test failure.So just rely on the fallback.
Idea by Hodlinator.
Co-Authored-By: Hodlinator <172445034+hodlinator@users.noreply.github.com>
This is a backport of core#31620
Test Plan: ninja check-functional-extended
Reviewers: #bitcoin_abc, Fabien
Reviewed By: #bitcoin_abc, Fabien
Differential Revision: https://reviews.bitcoinabc.org/D19409