Skip to content

Commit 888f105

Browse files
authored
Merge pull request #1136 from pipermerriam/piper/continue-extraction-of-trinty-from-p2p-module
Finish moving trinity code from p2p module
2 parents 64853f0 + 2ccf657 commit 888f105

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+1274
-1224
lines changed

p2p/chain.py

Lines changed: 0 additions & 944 deletions
This file was deleted.

p2p/executor.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import os
2+
import logging
3+
from concurrent.futures import Executor, ProcessPoolExecutor
4+
5+
6+
def get_asyncio_executor() -> Executor:
7+
# Use CPU_COUNT - 1 processes to make sure we always leave one CPU idle so that it can run
8+
# asyncio's event loop.
9+
os_cpu_count = os.cpu_count()
10+
if os_cpu_count in (None, 0):
11+
# Need this because os.cpu_count() returns None when the # of CPUs is indeterminable.
12+
logger = logging.getLogger('p2p.executor')
13+
logger.warning(
14+
"Could not determine number of CPUs, defaulting to 1 instead of %s",
15+
os_cpu_count,
16+
)
17+
cpu_count = 1
18+
else:
19+
cpu_count = max(1, os_cpu_count - 1)
20+
return ProcessPoolExecutor(cpu_count)

p2p/rlp.py

Lines changed: 0 additions & 13 deletions
This file was deleted.

p2p/sedes.py

Lines changed: 0 additions & 14 deletions
This file was deleted.

p2p/utils.py

Lines changed: 0 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,4 @@
1-
from concurrent.futures import Executor, ProcessPoolExecutor
21
import datetime
3-
import logging
4-
import os
5-
import time
62
from typing import Tuple
73

84
import rlp
@@ -31,39 +27,8 @@ def get_devp2p_cmd_id(msg: bytes) -> int:
3127
return rlp.decode(msg[:1], sedes=rlp.sedes.big_endian_int)
3228

3329

34-
def get_asyncio_executor() -> Executor:
35-
# Use CPU_COUNT - 1 processes to make sure we always leave one CPU idle so that it can run
36-
# asyncio's event loop.
37-
os_cpu_count = os.cpu_count()
38-
if os_cpu_count in (None, 0):
39-
# Need this because os.cpu_count() returns None when the # of CPUs is indeterminable.
40-
logger = logging.getLogger('p2p.utils')
41-
logger.warning(
42-
f"Could not determine number of CPUs, defaulting to 1 instead of {os_cpu_count}"
43-
)
44-
cpu_count = 1
45-
else:
46-
cpu_count = max(1, os_cpu_count - 1)
47-
return ProcessPoolExecutor(cpu_count)
48-
49-
5030
def time_since(start_time: datetime.datetime) -> Tuple[int, int, int, int]:
5131
delta = datetime.datetime.now() - start_time
5232
hours, remainder = divmod(delta.seconds, 3600)
5333
minutes, seconds = divmod(remainder, 60)
5434
return delta.days, hours, minutes, seconds
55-
56-
57-
class Timer:
58-
_start: float = None
59-
60-
def __init__(self, auto_start: bool = True) -> None:
61-
if auto_start:
62-
self.start()
63-
64-
def start(self) -> None:
65-
self._start = time.time()
66-
67-
@property
68-
def elapsed(self) -> float:
69-
return time.time() - self._start

tests/conftest.py

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -23,23 +23,27 @@
2323
from eth.vm.forks.spurious_dragon import SpuriousDragonVM
2424

2525

26+
LOGGING_NAMESPACES = ('eth', 'p2p', 'trinity')
27+
28+
2629
@pytest.fixture(autouse=True, scope="session")
27-
def vm_logger():
28-
logger = logging.getLogger('eth')
30+
def vm_logger(namespaces=LOGGING_NAMESPACES):
31+
for namespace in namespaces:
32+
logger = logging.getLogger(namespace)
2933

30-
handler = logging.StreamHandler(sys.stdout)
34+
handler = logging.StreamHandler(sys.stdout)
3135

32-
# level = TRACE_LEVEL_NUM
33-
# level = logging.DEBUG
34-
# level = logging.INFO
35-
level = logging.ERROR
36+
# level = TRACE_LEVEL_NUM
37+
# level = logging.DEBUG
38+
# level = logging.INFO
39+
level = logging.ERROR
3640

37-
logger.setLevel(level)
38-
handler.setLevel(level)
41+
logger.setLevel(level)
42+
handler.setLevel(level)
3943

40-
logger.addHandler(handler)
44+
logger.addHandler(handler)
4145

42-
return logger
46+
return logger
4347

4448

4549
# Uncomment this to have logs from tests written to a file. This is useful for

tests/p2p/conftest.py

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,6 @@
11
import pytest
22

33

4-
def pytest_addoption(parser):
5-
parser.addoption("--enode", type=str, required=False)
6-
parser.addoption("--integration", action="store_true", default=False)
7-
8-
94
"""
105
# Uncomment the following lines to globally change the logging level for all
116
# `p2p` namespaced loggers. Useful for debugging failing tests in async code

tests/p2p/test_auth.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,18 +17,19 @@
1717
HandshakeInitiator,
1818
HandshakeResponder,
1919
)
20-
from p2p.server import decode_authentication
20+
from p2p.auth import decode_authentication
2121

2222
from auth_constants import (
2323
eip8_values,
2424
test_values,
2525
)
26-
from dumb_peer import DumbPeer
27-
from peer_helpers import MockStreamWriter
26+
from tests.trinity.core.dumb_peer import DumbPeer
27+
from tests.trinity.core.peer_helpers import MockStreamWriter
2828

2929

3030
@pytest.mark.asyncio
3131
async def test_handshake():
32+
# TODO: this test should be re-written to not depend on functionality in the `ETHPeer` class.
3233
cancel_token = CancelToken("test_handshake")
3334
use_eip8 = False
3435
initiator_remote = kademlia.Node(

tests/trinity/conftest.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,16 @@
66
import uuid
77

88
from p2p.peer import PeerPool
9-
from p2p.server import (
10-
Server
11-
)
129

1310
from trinity.rpc.main import (
1411
RPCServer,
1512
)
1613
from trinity.rpc.ipc import (
1714
IPCServer,
1815
)
16+
from trinity.server import (
17+
Server
18+
)
1919
from trinity.utils.xdg import (
2020
get_xdg_trinity_root,
2121
)
@@ -24,6 +24,11 @@
2424
)
2525

2626

27+
def pytest_addoption(parser):
28+
parser.addoption("--enode", type=str, required=False)
29+
parser.addoption("--integration", action="store_true", default=False)
30+
31+
2732
@pytest.fixture(autouse=True)
2833
def xdg_trinity_root(monkeypatch, tmpdir):
2934
"""

tests/p2p/dumb_peer.py renamed to tests/trinity/core/dumb_peer.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from p2p import protocol
2+
23
from trinity.protocol.eth.peer import (
34
ETHPeer,
45
)

0 commit comments

Comments
 (0)