mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-02-08 10:31:50 -05:00
Merge #20954: test: Declare nodes
type in test_framework.py.
5353b0c64d
Change type definitions for "chain" and "setup_clean_chain" from type comments to Python 3.6+ types. Additionally, set type for "nodes". (Kiminuo) Pull request description: ### Motivation When I wanted to understand better https://github.com/bitcoin/bitcoin/pull/19145/files#diff-4bebbd3b112dc222ea7e75ef051838ceffcee63b9e9234a98a4cc7251d34451b test, I noticed that navigation in PyCharm/VS Code did not work for `nodes` variable. I think this is frustrating, especially for newcomers. ### Summary * This PR modifies Python 3.5 [type comments](https://mypy.readthedocs.io/en/stable/cheat_sheet_py3.html#variables) to Python 3.6+ types and adds a proper type for `nodes` [instance attribute](https://mypy.readthedocs.io/en/stable/class_basics.html#instance-and-class-attributes). * This PR does not change behavior. * This PR is intentionally very small, if the concept is accepted, a follow-up PRs can be more ambitious. ### End result 1. Open `test/functional/feature_abortnode.py` 2. Move your caret to: `self.nodes[0].generate[caret here](3)` 3. Use "Go to definition" [F12] should work now. I have tested this on PyCharm (Windows, Ubuntu) and VS Code (Windows, Ubuntu). Note: Some `TestNode` methods (e.g. `self.nodes[0].getblock(...)` ) use `__call__` mechanism and navigation does not work for them even with this PR. ACKs for top commit: laanwj: ACK5353b0c64d
theStack: ACK5353b0c64d
Tree-SHA512: 821773f052ab9b2889dc357d38c59407a4af09e3b86d7134fcca7d78e5edf3a5ede9bfb37595ea97caf9ebfcbda372bcf73763b7f89b0677670f21b3e396a12b
This commit is contained in:
commit
4c55f92c76
1 changed files with 4 additions and 6 deletions
|
@ -18,6 +18,7 @@ import sys
|
|||
import tempfile
|
||||
import time
|
||||
|
||||
from typing import List
|
||||
from .authproxy import JSONRPCException
|
||||
from . import coverage
|
||||
from .p2p import NetworkThread
|
||||
|
@ -89,14 +90,11 @@ class BitcoinTestFramework(metaclass=BitcoinTestMetaClass):
|
|||
|
||||
This class also contains various public and private helper methods."""
|
||||
|
||||
chain = None # type: str
|
||||
setup_clean_chain = None # type: bool
|
||||
|
||||
def __init__(self):
|
||||
"""Sets test framework defaults. Do not override this method. Instead, override the set_test_params() method"""
|
||||
self.chain = 'regtest'
|
||||
self.setup_clean_chain = False
|
||||
self.nodes = []
|
||||
self.chain: str = 'regtest'
|
||||
self.setup_clean_chain: bool = False
|
||||
self.nodes: List[TestNode] = []
|
||||
self.network_thread = None
|
||||
self.rpc_timeout = 60 # Wait for up to 60 seconds for the RPC server to respond
|
||||
self.supports_cli = True
|
||||
|
|
Loading…
Add table
Reference in a new issue