• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

romis2012 / python-socks / 88

pending completion
88

push

travis-ci-com

romis2012
Read socks5 server bound address

26 of 26 new or added lines in 3 files covered. (100.0%)

1588 of 1596 relevant lines covered (99.5%)

3.65 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

93.75
/python_socks/async_/trio/_connect.py
1
from typing import Optional, Tuple
4✔
2

3
import trio
4✔
4

5
from ._resolver import Resolver
4✔
6
from ..._helpers import is_ipv4_address, is_ipv6_address
4✔
7

8

9
async def connect_tcp(
4✔
10
    host: str,
11
    port: int,
12
    local_addr: Optional[Tuple[str, int]] = None,
13
) -> trio.socket.SocketType:
14

15
    family, host = await _resolve_host(host)
4✔
16

17
    sock = trio.socket.socket(family=family, type=trio.socket.SOCK_STREAM)
4✔
18
    if local_addr is not None:  # pragma: no cover
19
        await sock.bind(local_addr)
20

21
    await sock.connect((host, port))
4✔
22
    return sock
4✔
23

24

25
async def _resolve_host(host):
4✔
26
    if is_ipv4_address(host):
4✔
27
        return trio.socket.AF_INET, host
4✔
28
    if is_ipv6_address(host):
4✔
29
        return trio.socket.AF_INET6, host
×
30

31
    resolver = Resolver()
4✔
32
    return await resolver.resolve(host=host)
4✔
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc