Merge bitcoin/bitcoin#30463: qa: Functional test improvements

a8e3af1a82 qa: Do not assume running `feature_asmap.py` from source directory (Hennadii Stepanov)
9bf7ca6cad qa: Consider `cache` and `config.ini` relative to invocation directory (Hennadii Stepanov)
a0473442d1 scripted-diff: Add `__file__` argument to `BitcoinTestFramework.init()` (Hennadii Stepanov)

Pull request description:

  This PR includes changes split from https://github.com/bitcoin/bitcoin/pull/30454. They improve the functional test framework, allowing users to [run individual functional tests](https://github.com/hebasto/bitcoin/issues/146) from the build directory in the new CMake-based build system.

  This functionality is not available for out-of-source builds using the current Autotools-based build system, which always requires write permissions for the source directory. Nevertheless, this PR can be tested as suggested in https://github.com/bitcoin/bitcoin/pull/30463#issuecomment-2232618421:
  1. Make an out-of-source build:
  ```
  $ ./autogen.sh
  $ mkdir ../build && cd ../build
  $ ../bitcoin/configure
  $ make
  ```
  2. Create a symlink in the build directory to a functional test:
  ```
  $ ln --symbolic ../../../bitcoin/test/functional/wallet_disable.py ./test/functional/
  ```
  3. Run this symlink:
  ```
  $ ./test/functional/wallet_disable.py
  ```
  The last command fails on the master branch:
  ```
  Traceback (most recent call last):
    File "/home/hebasto/git/build/./test/functional/wallet_disable.py", line 31, in <module>
      DisableWalletTest().main()
      ^^^^^^^^^^^^^^^^^^^
    File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 106, in __init__
      self.parse_args()
    File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 210, in parse_args
      config.read_file(open(self.options.configfile))
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  FileNotFoundError: [Errno 2] No such file or directory: '/home/hebasto/git/bitcoin/test/config.ini'

  ```
  and succeeds with this PR.

ACKs for top commit:
  maflcko:
    tested ACK a8e3af1a82 🎨
  glozow:
    ACK a8e3af1a82, tested with the steps in op
  stickies-v:
    ACK a8e3af1a82

Tree-SHA512: 899e4efc09edec13ea3f5b47825d03173fb21d3569c360deda7fa6a56b99b4d24e09ad4f0883bad1ee926b1c706e47ba07c6a6160c63c07c82b3cf4ae5816e91
This commit is contained in:
glozow 2024-07-22 12:07:16 +01:00
commit 3a29ff5dea
No known key found for this signature in database
GPG Key ID: BA03F4DBE0C63FB4
247 changed files with 254 additions and 253 deletions

View File

@ -24,4 +24,4 @@ class CreateCache(BitcoinTestFramework):
pass
if __name__ == '__main__':
CreateCache().main()
CreateCache(__file__).main()

View File

@ -225,4 +225,4 @@ class ExampleTest(BitcoinTestFramework):
if __name__ == '__main__':
ExampleTest().main()
ExampleTest(__file__).main()

View File

@ -42,4 +42,4 @@ class AbortNodeTest(BitcoinTestFramework):
if __name__ == '__main__':
AbortNodeTest().main()
AbortNodeTest(__file__).main()

View File

@ -160,4 +160,4 @@ class AddrmanTest(BitcoinTestFramework):
if __name__ == "__main__":
AddrmanTest().main()
AddrmanTest(__file__).main()

View File

@ -141,4 +141,4 @@ class AnchorsTest(BitcoinTestFramework):
if __name__ == "__main__":
AnchorsTest().main()
AnchorsTest(__file__).main()

View File

@ -30,7 +30,7 @@ from test_framework.test_framework import BitcoinTestFramework
from test_framework.util import assert_equal
DEFAULT_ASMAP_FILENAME = 'ip_asn.map' # defined in src/init.cpp
ASMAP = '../../src/test/data/asmap.raw' # path to unit test skeleton asmap
ASMAP = 'src/test/data/asmap.raw' # path to unit test skeleton asmap
VERSION = 'fec61fa21a9f46f3b17bdcd660d7f4cd90b966aad3aec593c99b35f0aca15853'
def expected_messages(filename):
@ -133,7 +133,8 @@ class AsmapTest(BitcoinTestFramework):
self.node = self.nodes[0]
self.datadir = self.node.chain_path
self.default_asmap = os.path.join(self.datadir, DEFAULT_ASMAP_FILENAME)
self.asmap_raw = os.path.join(os.path.dirname(os.path.realpath(__file__)), ASMAP)
base_dir = self.config["environment"]["SRCDIR"]
self.asmap_raw = os.path.join(base_dir, ASMAP)
self.test_without_asmap_arg()
self.test_asmap_with_absolute_path()
@ -146,4 +147,4 @@ class AsmapTest(BitcoinTestFramework):
if __name__ == '__main__':
AsmapTest().main()
AsmapTest(__file__).main()

View File

@ -581,4 +581,4 @@ class Block:
chain_tx: int
if __name__ == '__main__':
AssumeutxoTest().main()
AssumeutxoTest(__file__).main()

View File

@ -172,4 +172,4 @@ class AssumeValidTest(BitcoinTestFramework):
if __name__ == '__main__':
AssumeValidTest().main()
AssumeValidTest(__file__).main()

View File

@ -88,4 +88,4 @@ class BindExtraTest(BitcoinTestFramework):
assert_equal(binds, set(expected_services))
if __name__ == '__main__':
BindExtraTest().main()
BindExtraTest(__file__).main()

View File

@ -75,4 +75,4 @@ class BindPortDiscoverTest(BitcoinTestFramework):
assert found_addr1
if __name__ == '__main__':
BindPortDiscoverTest().main()
BindPortDiscoverTest(__file__).main()

View File

@ -72,4 +72,4 @@ class BindPortExternalIPTest(BitcoinTestFramework):
assert found
if __name__ == '__main__':
BindPortExternalIPTest().main()
BindPortExternalIPTest(__file__).main()

View File

@ -412,4 +412,4 @@ class BIP68Test(BitcoinTestFramework):
if __name__ == '__main__':
BIP68Test().main()
BIP68Test(__file__).main()

View File

@ -1434,4 +1434,4 @@ class FullBlockTest(BitcoinTestFramework):
if __name__ == '__main__':
FullBlockTest().main()
FullBlockTest(__file__).main()

View File

@ -35,4 +35,4 @@ class BlocksdirTest(BitcoinTestFramework):
if __name__ == '__main__':
BlocksdirTest().main()
BlocksdirTest(__file__).main()

View File

@ -195,4 +195,4 @@ class BIP65Test(BitcoinTestFramework):
if __name__ == '__main__':
BIP65Test().main()
BIP65Test(__file__).main()

View File

@ -324,4 +324,4 @@ class CoinStatsIndexTest(BitcoinTestFramework):
if __name__ == '__main__':
CoinStatsIndexTest().main()
CoinStatsIndexTest(__file__).main()

View File

@ -431,4 +431,4 @@ class ConfArgsTest(BitcoinTestFramework):
if __name__ == '__main__':
ConfArgsTest().main()
ConfArgsTest(__file__).main()

View File

@ -482,4 +482,4 @@ class BIP68_112_113Test(BitcoinTestFramework):
if __name__ == '__main__':
BIP68_112_113Test().main()
BIP68_112_113Test(__file__).main()

View File

@ -286,4 +286,4 @@ class ChainstateWriteCrashTest(BitcoinTestFramework):
if __name__ == "__main__":
ChainstateWriteCrashTest().main()
ChainstateWriteCrashTest(__file__).main()

View File

@ -148,4 +148,4 @@ class BIP66Test(BitcoinTestFramework):
if __name__ == '__main__':
BIP66Test().main()
BIP66Test(__file__).main()

View File

@ -38,4 +38,4 @@ class SymlinkTest(BitcoinTestFramework):
if __name__ == "__main__":
SymlinkTest().main()
SymlinkTest(__file__).main()

View File

@ -72,4 +72,4 @@ class DiscoverTest(BitcoinTestFramework):
if __name__ == '__main__':
DiscoverTest().main()
DiscoverTest(__file__).main()

View File

@ -26,4 +26,4 @@ class FeatureFastpruneTest(BitcoinTestFramework):
if __name__ == '__main__':
FeatureFastpruneTest().main()
FeatureFastpruneTest(__file__).main()

View File

@ -439,4 +439,4 @@ class EstimateFeeTest(BitcoinTestFramework):
if __name__ == "__main__":
EstimateFeeTest().main()
EstimateFeeTest(__file__).main()

View File

@ -54,4 +54,4 @@ class FilelockTest(BitcoinTestFramework):
check_wallet_filelock(True)
if __name__ == '__main__':
FilelockTest().main()
FilelockTest(__file__).main()

View File

@ -46,4 +46,4 @@ class FeatureFrameworkMiniWalletTest(BitcoinTestFramework):
if __name__ == '__main__':
FeatureFrameworkMiniWalletTest().main()
FeatureFrameworkMiniWalletTest(__file__).main()

View File

@ -59,4 +59,4 @@ class HelpTest(BitcoinTestFramework):
if __name__ == '__main__':
HelpTest().main()
HelpTest(__file__).main()

View File

@ -83,4 +83,4 @@ class IncludeConfTest(BitcoinTestFramework):
assert subversion.endswith("main; relative; relative2)/")
if __name__ == '__main__':
IncludeConfTest().main()
IncludeConfTest(__file__).main()

View File

@ -155,4 +155,4 @@ class FeatureIndexPruneTest(BitcoinTestFramework):
if __name__ == '__main__':
FeatureIndexPruneTest().main()
FeatureIndexPruneTest(__file__).main()

View File

@ -149,4 +149,4 @@ class InitStressTest(BitcoinTestFramework):
if __name__ == '__main__':
InitStressTest().main()
InitStressTest(__file__).main()

View File

@ -80,4 +80,4 @@ class LoadblockTest(BitcoinTestFramework):
if __name__ == '__main__':
LoadblockTest().main()
LoadblockTest(__file__).main()

View File

@ -101,4 +101,4 @@ class LoggingTest(BitcoinTestFramework):
if __name__ == '__main__':
LoggingTest().main()
LoggingTest(__file__).main()

View File

@ -62,4 +62,4 @@ class MaxTipAgeTest(BitcoinTestFramework):
if __name__ == '__main__':
MaxTipAgeTest().main()
MaxTipAgeTest(__file__).main()

View File

@ -206,4 +206,4 @@ class MaxUploadTest(BitcoinTestFramework):
self.nodes[0].assert_start_raises_init_error(extra_args=["-maxuploadtarget=abc"], expected_msg="Error: Unable to parse -maxuploadtarget: 'abc'")
if __name__ == '__main__':
MaxUploadTest().main()
MaxUploadTest(__file__).main()

View File

@ -115,4 +115,4 @@ class MinimumChainWorkTest(BitcoinTestFramework):
if __name__ == '__main__':
MinimumChainWorkTest().main()
MinimumChainWorkTest(__file__).main()

View File

@ -194,4 +194,4 @@ class NotificationsTest(BitcoinTestFramework):
if __name__ == '__main__':
NotificationsTest().main()
NotificationsTest(__file__).main()

View File

@ -154,4 +154,4 @@ class NULLDUMMYTest(BitcoinTestFramework):
if __name__ == '__main__':
NULLDUMMYTest().main()
NULLDUMMYTest(__file__).main()

View File

@ -40,4 +40,4 @@ class PosixFsPermissionsTest(BitcoinTestFramework):
if __name__ == '__main__':
PosixFsPermissionsTest().main()
PosixFsPermissionsTest(__file__).main()

View File

@ -54,4 +54,4 @@ class SegwitUpgradeTest(BitcoinTestFramework):
if __name__ == '__main__':
SegwitUpgradeTest().main()
SegwitUpgradeTest(__file__).main()

View File

@ -457,4 +457,4 @@ class ProxyTest(BitcoinTestFramework):
os.unlink(socket_path)
if __name__ == '__main__':
ProxyTest().main()
ProxyTest(__file__).main()

View File

@ -513,4 +513,4 @@ class PruneTest(BitcoinTestFramework):
assert_equal(pruneheight, new_pruneheight)
if __name__ == '__main__':
PruneTest().main()
PruneTest(__file__).main()

View File

@ -727,4 +727,4 @@ class ReplaceByFeeTest(BitcoinTestFramework):
assert conflicting_tx['txid'] in self.nodes[0].getrawmempool()
if __name__ == '__main__':
ReplaceByFeeTest().main()
ReplaceByFeeTest(__file__).main()

View File

@ -103,4 +103,4 @@ class ReindexTest(BitcoinTestFramework):
if __name__ == '__main__':
ReindexTest().main()
ReindexTest(__file__).main()

View File

@ -87,4 +87,4 @@ class BlockstoreReindexTest(BitcoinTestFramework):
if __name__ == '__main__':
BlockstoreReindexTest().main()
BlockstoreReindexTest(__file__).main()

View File

@ -52,4 +52,4 @@ class FeatureRemovePrunedFilesOnStartupTest(BitcoinTestFramework):
assert not os.path.exists(rev1)
if __name__ == '__main__':
FeatureRemovePrunedFilesOnStartupTest().main()
FeatureRemovePrunedFilesOnStartupTest(__file__).main()

View File

@ -657,4 +657,4 @@ class SegWitTest(BitcoinTestFramework):
if __name__ == '__main__':
SegWitTest().main()
SegWitTest(__file__).main()

View File

@ -88,4 +88,4 @@ class SettingsTest(BitcoinTestFramework):
if __name__ == '__main__':
SettingsTest().main()
SettingsTest(__file__).main()

View File

@ -32,4 +32,4 @@ class ShutdownTest(BitcoinTestFramework):
self.stop_node(0, wait=1000)
if __name__ == '__main__':
ShutdownTest().main()
ShutdownTest(__file__).main()

View File

@ -82,4 +82,4 @@ class SignetBasicTest(BitcoinTestFramework):
if __name__ == '__main__':
SignetBasicTest().main()
SignetBasicTest(__file__).main()

View File

@ -39,4 +39,4 @@ class StartupNotifyTest(BitcoinTestFramework):
if __name__ == '__main__':
StartupNotifyTest().main()
StartupNotifyTest(__file__).main()

View File

@ -1766,4 +1766,4 @@ class TaprootTest(BitcoinTestFramework):
if __name__ == '__main__':
TaprootTest().main()
TaprootTest(__file__).main()

View File

@ -37,4 +37,4 @@ class UacommentTest(BitcoinTestFramework):
if __name__ == '__main__':
UacommentTest().main()
UacommentTest(__file__).main()

View File

@ -58,4 +58,4 @@ class UnsupportedUtxoDbTest(BitcoinTestFramework):
if __name__ == "__main__":
UnsupportedUtxoDbTest().main()
UnsupportedUtxoDbTest(__file__).main()

View File

@ -75,4 +75,4 @@ class UTXOSetHashTest(BitcoinTestFramework):
if __name__ == '__main__':
UTXOSetHashTest().main()
UTXOSetHashTest(__file__).main()

View File

@ -100,4 +100,4 @@ class VersionBitsWarningTest(BitcoinTestFramework):
self.wait_until(lambda: self.versionbits_in_alert_file())
if __name__ == '__main__':
VersionBitsWarningTest().main()
VersionBitsWarningTest(__file__).main()

View File

@ -383,4 +383,4 @@ class TestBitcoinCli(BitcoinTestFramework):
if __name__ == '__main__':
TestBitcoinCli().main()
TestBitcoinCli(__file__).main()

View File

@ -106,4 +106,4 @@ class HTTPBasicsTest (BitcoinTestFramework):
if __name__ == '__main__':
HTTPBasicsTest ().main ()
HTTPBasicsTest(__file__).main()

View File

@ -439,4 +439,4 @@ class RESTTest (BitcoinTestFramework):
assert_equal(resp.read().decode('utf-8').rstrip(), f"Invalid hash: {INVALID_PARAM}")
if __name__ == '__main__':
RESTTest().main()
RESTTest(__file__).main()

View File

@ -246,4 +246,4 @@ class RPCInterfaceTest(BitcoinTestFramework):
if __name__ == '__main__':
RPCInterfaceTest().main()
RPCInterfaceTest(__file__).main()

View File

@ -231,4 +231,4 @@ class CoinSelectionTracepointTest(BitcoinTestFramework):
if __name__ == '__main__':
CoinSelectionTracepointTest().main()
CoinSelectionTracepointTest(__file__).main()

View File

@ -322,4 +322,4 @@ class MempoolTracepointTest(BitcoinTestFramework):
if __name__ == "__main__":
MempoolTracepointTest().main()
MempoolTracepointTest(__file__).main()

View File

@ -168,4 +168,4 @@ class NetTracepointTest(BitcoinTestFramework):
if __name__ == '__main__':
NetTracepointTest().main()
NetTracepointTest(__file__).main()

View File

@ -407,4 +407,4 @@ class UTXOCacheTracepointTest(BitcoinTestFramework):
if __name__ == '__main__':
UTXOCacheTracepointTest().main()
UTXOCacheTracepointTest(__file__).main()

View File

@ -131,4 +131,4 @@ class ValidationTracepointTest(BitcoinTestFramework):
if __name__ == '__main__':
ValidationTracepointTest().main()
ValidationTracepointTest(__file__).main()

View File

@ -597,4 +597,4 @@ class ZMQTest (BitcoinTestFramework):
if __name__ == '__main__':
ZMQTest().main()
ZMQTest(__file__).main()

View File

@ -409,4 +409,4 @@ class MempoolAcceptanceTest(BitcoinTestFramework):
)
if __name__ == '__main__':
MempoolAcceptanceTest().main()
MempoolAcceptanceTest(__file__).main()

View File

@ -125,4 +125,4 @@ class MempoolWtxidTest(BitcoinTestFramework):
assert_equal(node.getmempoolinfo()["unbroadcastcount"], 0)
if __name__ == '__main__':
MempoolWtxidTest().main()
MempoolWtxidTest(__file__).main()

View File

@ -78,4 +78,4 @@ class MempoolCompatibilityTest(BitcoinTestFramework):
if __name__ == "__main__":
MempoolCompatibilityTest().main()
MempoolCompatibilityTest(__file__).main()

View File

@ -88,4 +88,4 @@ class DataCarrierTest(BitcoinTestFramework):
if __name__ == '__main__':
DataCarrierTest().main()
DataCarrierTest(__file__).main()

View File

@ -110,4 +110,4 @@ class DustRelayFeeTest(BitcoinTestFramework):
if __name__ == '__main__':
DustRelayFeeTest().main()
DustRelayFeeTest(__file__).main()

View File

@ -114,4 +114,4 @@ class MempoolExpiryTest(BitcoinTestFramework):
if __name__ == '__main__':
MempoolExpiryTest().main()
MempoolExpiryTest(__file__).main()

View File

@ -342,4 +342,4 @@ class MempoolLimitTest(BitcoinTestFramework):
if __name__ == '__main__':
MempoolLimitTest().main()
MempoolLimitTest(__file__).main()

View File

@ -343,4 +343,4 @@ class MempoolPackageLimitsTest(BitcoinTestFramework):
if __name__ == "__main__":
MempoolPackageLimitsTest().main()
MempoolPackageLimitsTest(__file__).main()

View File

@ -77,4 +77,4 @@ class MempoolPackagesTest(BitcoinTestFramework):
if __name__ == '__main__':
MempoolPackagesTest().main()
MempoolPackagesTest(__file__).main()

View File

@ -596,4 +596,4 @@ class PackageRBFTest(BitcoinTestFramework):
assert child_result["txid"] not in mempool_info
if __name__ == "__main__":
PackageRBFTest().main()
PackageRBFTest(__file__).main()

View File

@ -298,4 +298,4 @@ class MempoolPackagesTest(BitcoinTestFramework):
self.sync_blocks()
if __name__ == '__main__':
MempoolPackagesTest().main()
MempoolPackagesTest(__file__).main()

View File

@ -263,4 +263,4 @@ class MempoolPersistTest(BitcoinTestFramework):
if __name__ == "__main__":
MempoolPersistTest().main()
MempoolPersistTest(__file__).main()

View File

@ -194,4 +194,4 @@ class MempoolCoinbaseTest(BitcoinTestFramework):
if __name__ == '__main__':
MempoolCoinbaseTest().main()
MempoolCoinbaseTest(__file__).main()

View File

@ -55,4 +55,4 @@ class MempoolCoinbaseTest(BitcoinTestFramework):
if __name__ == '__main__':
MempoolCoinbaseTest().main()
MempoolCoinbaseTest(__file__).main()

View File

@ -196,4 +196,4 @@ class BytesPerSigOpTest(BitcoinTestFramework):
if __name__ == '__main__':
BytesPerSigOpTest().main()
BytesPerSigOpTest(__file__).main()

View File

@ -57,4 +57,4 @@ class MempoolSpendCoinbaseTest(BitcoinTestFramework):
if __name__ == '__main__':
MempoolSpendCoinbaseTest().main()
MempoolSpendCoinbaseTest(__file__).main()

View File

@ -644,4 +644,4 @@ class MempoolTRUC(BitcoinTestFramework):
if __name__ == "__main__":
MempoolTRUC().main()
MempoolTRUC(__file__).main()

View File

@ -109,4 +109,4 @@ class MempoolUnbroadcastTest(BitcoinTestFramework):
if __name__ == "__main__":
MempoolUnbroadcastTest().main()
MempoolUnbroadcastTest(__file__).main()

View File

@ -103,4 +103,4 @@ class MempoolUpdateFromBlockTest(BitcoinTestFramework):
if __name__ == '__main__':
MempoolUpdateFromBlockTest().main()
MempoolUpdateFromBlockTest(__file__).main()

View File

@ -325,4 +325,4 @@ class MiningTest(BitcoinTestFramework):
if __name__ == '__main__':
MiningTest().main()
MiningTest(__file__).main()

View File

@ -73,4 +73,4 @@ class GetBlockTemplateLPTest(BitcoinTestFramework):
assert not thr.is_alive()
if __name__ == '__main__':
GetBlockTemplateLPTest().main()
GetBlockTemplateLPTest(__file__).main()

View File

@ -305,4 +305,4 @@ class PrioritiseTransactionTest(BitcoinTestFramework):
assert template != new_template
if __name__ == '__main__':
PrioritiseTransactionTest().main()
PrioritiseTransactionTest(__file__).main()

View File

@ -163,4 +163,4 @@ class PackageRelayTest(BitcoinTestFramework):
if __name__ == '__main__':
PackageRelayTest().main()
PackageRelayTest(__file__).main()

View File

@ -129,4 +129,4 @@ class P2PAddConnections(BitcoinTestFramework):
if __name__ == '__main__':
P2PAddConnections().main()
P2PAddConnections(__file__).main()

View File

@ -441,4 +441,4 @@ class AddrTest(BitcoinTestFramework):
if __name__ == '__main__':
AddrTest().main()
AddrTest(__file__).main()

View File

@ -83,4 +83,4 @@ class P2PAddrFetch(BitcoinTestFramework):
if __name__ == '__main__':
P2PAddrFetch().main()
P2PAddrFetch(__file__).main()

View File

@ -110,4 +110,4 @@ class AddrTest(BitcoinTestFramework):
if __name__ == '__main__':
AddrTest().main()
AddrTest(__file__).main()

View File

@ -34,4 +34,4 @@ class BlockSyncTest(BitcoinTestFramework):
if __name__ == '__main__':
BlockSyncTest().main()
BlockSyncTest(__file__).main()

View File

@ -282,4 +282,4 @@ def compute_last_header(prev_header, hashes):
if __name__ == '__main__':
CompactFiltersTest().main()
CompactFiltersTest(__file__).main()

View File

@ -125,4 +125,4 @@ class P2PBlocksOnly(BitcoinTestFramework):
if __name__ == '__main__':
P2PBlocksOnly().main()
P2PBlocksOnly(__file__).main()

View File

@ -965,4 +965,4 @@ class CompactBlocksTest(BitcoinTestFramework):
if __name__ == '__main__':
CompactBlocksTest().main()
CompactBlocksTest(__file__).main()

View File

@ -127,4 +127,4 @@ class P2PCompactBlocksBlocksOnly(BitcoinTestFramework):
p2p_conn_blocksonly.wait_until(lambda: test_for_cmpctblock(block2))
if __name__ == '__main__':
P2PCompactBlocksBlocksOnly().main()
P2PCompactBlocksBlocksOnly(__file__).main()

View File

@ -97,4 +97,4 @@ class CompactBlocksConnectionTest(BitcoinTestFramework):
if __name__ == '__main__':
CompactBlocksConnectionTest().main()
CompactBlocksConnectionTest(__file__).main()

View File

@ -147,4 +147,4 @@ class DisconnectBanTest(BitcoinTestFramework):
assert not [node for node in self.nodes[0].getpeerinfo() if node['id'] == id1]
if __name__ == '__main__':
DisconnectBanTest().main()
DisconnectBanTest(__file__).main()

View File

@ -126,4 +126,4 @@ class P2PDNSSeeds(BitcoinTestFramework):
if __name__ == '__main__':
P2PDNSSeeds().main()
P2PDNSSeeds(__file__).main()

Some files were not shown because too many files have changed in this diff Show More