Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump setuptools from 75.1.0 to 75.2.0 #9495

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Oct 16, 2024

Bumps setuptools from 75.1.0 to 75.2.0.

Changelog

Sourced from setuptools's changelog.

v75.2.0

Features

  • Made errors when parsing Distribution data more explicit about the expected type (tuple[str, ...] | list[str]) -- by :user:Avasam (#4578)

Bugfixes

  • Fix a TypeError when a Distribution's old included attribute was a tuple -- by :user:Avasam (#4578)
  • Add workaround for bdist_wheel --dist-info-dir errors when customisation does not inherit from setuptools. (#4684)

v75.1.1

Bugfixes

  • Re-use pre-existing .dist-info dir when creating wheels via the build backend APIs (PEP 517) and the metadata_directory argument is passed -- by :user:pelson. (#1825)
  • Changed egg_info command to avoid adding an empty .egg-info directory while iterating over entry-points. This avoids triggering integration problems with importlib.metadata/importlib_metadata (reference: pypa/pyproject-hooks#206). (#4680)
Commits
  • 61a5a03 Bump version: 75.1.1 → 75.2.0
  • 8ad3ea7 Workaround for bdist_wheel.dist_info_dir problems (#4684)
  • 9af0877 Type sequence checks in setuptools/dist.py (#4578)
  • 0534fde Add news fragment
  • 50b732a Check for more specific error message
  • a663287 Add pragma for edge-case code path
  • 96be735 Workaround for bdist_wheel.dist_info_dir problems
  • 000a413 Deprecate public access to setuptools.dist.sequence
  • 00995c1 Use variable msg instead of tmpl in setuptools/dist
  • d457d0e Type sequence checks in setuptools/dist.py
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [setuptools](https://github.com/pypa/setuptools) from 75.1.0 to 75.2.0.
- [Release notes](https://github.com/pypa/setuptools/releases)
- [Changelog](https://github.com/pypa/setuptools/blob/main/NEWS.rst)
- [Commits](pypa/setuptools@v75.1.0...v75.2.0)

---
updated-dependencies:
- dependency-name: setuptools
  dependency-type: indirect
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added the dependencies Pull requests that update a dependency file label Oct 16, 2024
@github-actions github-actions bot enabled auto-merge (squash) October 16, 2024 11:12
Copy link

codecov bot commented Oct 16, 2024

❌ 1 Tests Failed:

Tests completed Failed Passed Skipped
3338 1 3337 28
View the top 1 failed tests by shortest run time
tests.test_run_app.TestShutdown test_shutdown_new_conn_rejected
Stack Traces | 3.1s run time
self = &lt;aiohttp.connector.TCPConnector object at 0x110185d80&gt;, addr_infos = []
req = &lt;aiohttp.client_reqrep.ClientRequest object at 0x1101fa890&gt;
timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5)
client_error = &lt;class 'aiohttp.client_exceptions.ClientConnectorError'&gt;
args = (functools.partial(&lt;class 'aiohttp.client_proto.ResponseHandler'&gt;, loop=&lt;_UnixSelectorEventLoop running=False closed=True debug=False&gt;),)
kwargs = {'server_hostname': None, 'ssl': None}

    #x1B[0m#x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m #x1B[92m_wrap_create_connection#x1B[39;49;00m(#x1B[90m#x1B[39;49;00m
        #x1B[96mself#x1B[39;49;00m,#x1B[90m#x1B[39;49;00m
        *args: Any,#x1B[90m#x1B[39;49;00m
        addr_infos: List[aiohappyeyeballs.AddrInfoType],#x1B[90m#x1B[39;49;00m
        req: ClientRequest,#x1B[90m#x1B[39;49;00m
        timeout: #x1B[33m"#x1B[39;49;00m#x1B[33mClientTimeout#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m,#x1B[90m#x1B[39;49;00m
        client_error: Type[#x1B[96mException#x1B[39;49;00m] = ClientConnectorError,#x1B[90m#x1B[39;49;00m
        **kwargs: Any,#x1B[90m#x1B[39;49;00m
    ) -&gt; Tuple[asyncio.Transport, ResponseHandler]:#x1B[90m#x1B[39;49;00m
        #x1B[94mtry#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
            #x1B[94masync#x1B[39;49;00m #x1B[94mwith#x1B[39;49;00m ceil_timeout(#x1B[90m#x1B[39;49;00m
                timeout.sock_connect, ceil_threshold=timeout.ceil_threshold#x1B[90m#x1B[39;49;00m
            ):#x1B[90m#x1B[39;49;00m
&gt;               sock = #x1B[94mawait#x1B[39;49;00m aiohappyeyeballs.start_connection(#x1B[90m#x1B[39;49;00m
                    addr_infos=addr_infos,#x1B[90m#x1B[39;49;00m
                    local_addr_infos=#x1B[96mself#x1B[39;49;00m._local_addr_infos,#x1B[90m#x1B[39;49;00m
                    happy_eyeballs_delay=#x1B[96mself#x1B[39;49;00m._happy_eyeballs_delay,#x1B[90m#x1B[39;49;00m
                    interleave=#x1B[96mself#x1B[39;49;00m._interleave,#x1B[90m#x1B[39;49;00m
                    loop=#x1B[96mself#x1B[39;49;00m._loop,#x1B[90m#x1B[39;49;00m
                )#x1B[90m#x1B[39;49;00m

addr_infos = []
args       = (functools.partial(&lt;class 'aiohttp.client_proto.ResponseHandler'&gt;, loop=&lt;_UnixSelectorEventLoop running=False closed=True debug=False&gt;),)
client_error = &lt;class 'aiohttp.client_exceptions.ClientConnectorError'&gt;
kwargs     = {'server_hostname': None, 'ssl': None}
req        = &lt;aiohttp.client_reqrep.ClientRequest object at 0x1101fa890&gt;
self       = &lt;aiohttp.connector.TCPConnector object at 0x110185d80&gt;
timeout    = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5)

#x1B[1m#x1B[31maiohttp/connector.py#x1B[0m:1072: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

addr_infos = [(&lt;AddressFamily.AF_INET: 2&gt;, &lt;SocketKind.SOCK_STREAM: 1&gt;, 6, '', ('127.0.0.1', 49862)), (&lt;AddressFamily.AF_INET6: 30&gt;, &lt;SocketKind.SOCK_STREAM: 1&gt;, 6, '', ('::1', 49862, 0, 0))]

    #x1B[0m#x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m #x1B[92mstart_connection#x1B[39;49;00m(#x1B[90m#x1B[39;49;00m
        addr_infos: Sequence[AddrInfoType],#x1B[90m#x1B[39;49;00m
        *,#x1B[90m#x1B[39;49;00m
        local_addr_infos: Optional[Sequence[AddrInfoType]] = #x1B[94mNone#x1B[39;49;00m,#x1B[90m#x1B[39;49;00m
        happy_eyeballs_delay: Optional[#x1B[96mfloat#x1B[39;49;00m] = #x1B[94mNone#x1B[39;49;00m,#x1B[90m#x1B[39;49;00m
        interleave: Optional[#x1B[96mint#x1B[39;49;00m] = #x1B[94mNone#x1B[39;49;00m,#x1B[90m#x1B[39;49;00m
        loop: Optional[asyncio.AbstractEventLoop] = #x1B[94mNone#x1B[39;49;00m,#x1B[90m#x1B[39;49;00m
    ) -&gt; socket.socket:#x1B[90m#x1B[39;49;00m
    #x1B[90m    #x1B[39;49;00m#x1B[33m"""#x1B[39;49;00m
    #x1B[33m    Connect to a TCP server.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m    Create a socket connection to a specified destination.  The#x1B[39;49;00m
    #x1B[33m    destination is specified as a list of AddrInfoType tuples as#x1B[39;49;00m
    #x1B[33m    returned from getaddrinfo().#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m    The arguments are, in order:#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m    * ``family``: the address family, e.g. ``socket.AF_INET`` or#x1B[39;49;00m
    #x1B[33m        ``socket.AF_INET6``.#x1B[39;49;00m
    #x1B[33m    * ``type``: the socket type, e.g. ``socket.SOCK_STREAM`` or#x1B[39;49;00m
    #x1B[33m        ``socket.SOCK_DGRAM``.#x1B[39;49;00m
    #x1B[33m    * ``proto``: the protocol, e.g. ``socket.IPPROTO_TCP`` or#x1B[39;49;00m
    #x1B[33m        ``socket.IPPROTO_UDP``.#x1B[39;49;00m
    #x1B[33m    * ``canonname``: the canonical name of the address, e.g.#x1B[39;49;00m
    #x1B[33m        ``"www.python.org"``.#x1B[39;49;00m
    #x1B[33m    * ``sockaddr``: the socket address#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m    This method is a coroutine which will try to establish the connection#x1B[39;49;00m
    #x1B[33m    in the background. When successful, the coroutine returns a#x1B[39;49;00m
    #x1B[33m    socket.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m    The expected use case is to use this method in conjunction with#x1B[39;49;00m
    #x1B[33m    loop.create_connection() to establish a connection to a server::#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m            socket = await start_connection(addr_infos)#x1B[39;49;00m
    #x1B[33m            transport, protocol = await loop.create_connection(#x1B[39;49;00m
    #x1B[33m                MyProtocol, sock=socket, ...)#x1B[39;49;00m
    #x1B[33m    """#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        #x1B[94mif#x1B[39;49;00m #x1B[95mnot#x1B[39;49;00m (current_loop := loop):#x1B[90m#x1B[39;49;00m
            current_loop = asyncio.get_running_loop()#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        single_addr_info = #x1B[96mlen#x1B[39;49;00m(addr_infos) == #x1B[94m1#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[94mif#x1B[39;49;00m happy_eyeballs_delay #x1B[95mis#x1B[39;49;00m #x1B[95mnot#x1B[39;49;00m #x1B[94mNone#x1B[39;49;00m #x1B[95mand#x1B[39;49;00m interleave #x1B[95mis#x1B[39;49;00m #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
            #x1B[90m# If using happy eyeballs, default to interleave addresses by family#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
            interleave = #x1B[94m1#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[94mif#x1B[39;49;00m interleave #x1B[95mand#x1B[39;49;00m #x1B[95mnot#x1B[39;49;00m single_addr_info:#x1B[90m#x1B[39;49;00m
            addr_infos = _interleave_addrinfos(addr_infos, interleave)#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        sock: Optional[socket.socket] = #x1B[94mNone#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        #x1B[90m# uvloop can raise RuntimeError instead of OSError#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        exceptions: List[List[Union[#x1B[96mOSError#x1B[39;49;00m, #x1B[96mRuntimeError#x1B[39;49;00m]]] = []#x1B[90m#x1B[39;49;00m
        #x1B[94mif#x1B[39;49;00m happy_eyeballs_delay #x1B[95mis#x1B[39;49;00m #x1B[94mNone#x1B[39;49;00m #x1B[95mor#x1B[39;49;00m single_addr_info:#x1B[90m#x1B[39;49;00m
            #x1B[90m# not using happy eyeballs#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
            #x1B[94mfor#x1B[39;49;00m addrinfo #x1B[95min#x1B[39;49;00m addr_infos:#x1B[90m#x1B[39;49;00m
                #x1B[94mtry#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
                    sock = #x1B[94mawait#x1B[39;49;00m _connect_sock(#x1B[90m#x1B[39;49;00m
                        current_loop, exceptions, addrinfo, local_addr_infos#x1B[90m#x1B[39;49;00m
                    )#x1B[90m#x1B[39;49;00m
                    #x1B[94mbreak#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
                #x1B[94mexcept#x1B[39;49;00m (#x1B[96mRuntimeError#x1B[39;49;00m, #x1B[96mOSError#x1B[39;49;00m):#x1B[90m#x1B[39;49;00m
                    #x1B[94mcontinue#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        #x1B[94melse#x1B[39;49;00m:  #x1B[90m# using happy eyeballs#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
            sock, _, _ = #x1B[94mawait#x1B[39;49;00m _staggered.staggered_race(#x1B[90m#x1B[39;49;00m
                (#x1B[90m#x1B[39;49;00m
                    functools.partial(#x1B[90m#x1B[39;49;00m
                        _connect_sock, current_loop, exceptions, addrinfo, local_addr_infos#x1B[90m#x1B[39;49;00m
                    )#x1B[90m#x1B[39;49;00m
                    #x1B[94mfor#x1B[39;49;00m addrinfo #x1B[95min#x1B[39;49;00m addr_infos#x1B[90m#x1B[39;49;00m
                ),#x1B[90m#x1B[39;49;00m
                happy_eyeballs_delay,#x1B[90m#x1B[39;49;00m
            )#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[94mif#x1B[39;49;00m sock #x1B[95mis#x1B[39;49;00m #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
            all_exceptions = [exc #x1B[94mfor#x1B[39;49;00m sub #x1B[95min#x1B[39;49;00m exceptions #x1B[94mfor#x1B[39;49;00m exc #x1B[95min#x1B[39;49;00m sub]#x1B[90m#x1B[39;49;00m
            #x1B[94mtry#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
                first_exception = all_exceptions[#x1B[94m0#x1B[39;49;00m]#x1B[90m#x1B[39;49;00m
                #x1B[94mif#x1B[39;49;00m #x1B[96mlen#x1B[39;49;00m(all_exceptions) == #x1B[94m1#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
                    #x1B[94mraise#x1B[39;49;00m first_exception#x1B[90m#x1B[39;49;00m
                #x1B[94melse#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
                    #x1B[90m# If they all have the same str(), raise one.#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
                    model = #x1B[96mstr#x1B[39;49;00m(first_exception)#x1B[90m#x1B[39;49;00m
                    #x1B[94mif#x1B[39;49;00m #x1B[96mall#x1B[39;49;00m(#x1B[96mstr#x1B[39;49;00m(exc) == model #x1B[94mfor#x1B[39;49;00m exc #x1B[95min#x1B[39;49;00m all_exceptions):#x1B[90m#x1B[39;49;00m
                        #x1B[94mraise#x1B[39;49;00m first_exception#x1B[90m#x1B[39;49;00m
                    #x1B[90m# Raise a combined exception so the user can see all#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
                    #x1B[90m# the various error messages.#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
                    msg = #x1B[33m"#x1B[39;49;00m#x1B[33mMultiple exceptions: #x1B[39;49;00m#x1B[33m{}#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m.format(#x1B[90m#x1B[39;49;00m
                        #x1B[33m"#x1B[39;49;00m#x1B[33m, #x1B[39;49;00m#x1B[33m"#x1B[39;49;00m.join(#x1B[96mstr#x1B[39;49;00m(exc) #x1B[94mfor#x1B[39;49;00m exc #x1B[95min#x1B[39;49;00m all_exceptions)#x1B[90m#x1B[39;49;00m
                    )#x1B[90m#x1B[39;49;00m
                    #x1B[90m# If the errno is the same for all exceptions, raise#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
                    #x1B[90m# an OSError with that errno.#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
                    #x1B[94mif#x1B[39;49;00m #x1B[96misinstance#x1B[39;49;00m(first_exception, #x1B[96mOSError#x1B[39;49;00m):#x1B[90m#x1B[39;49;00m
                        first_errno = first_exception.errno#x1B[90m#x1B[39;49;00m
                        #x1B[94mif#x1B[39;49;00m #x1B[96mall#x1B[39;49;00m(#x1B[90m#x1B[39;49;00m
                            #x1B[96misinstance#x1B[39;49;00m(exc, #x1B[96mOSError#x1B[39;49;00m) #x1B[95mand#x1B[39;49;00m exc.errno == first_errno#x1B[90m#x1B[39;49;00m
                            #x1B[94mfor#x1B[39;49;00m exc #x1B[95min#x1B[39;49;00m all_exceptions#x1B[90m#x1B[39;49;00m
                        ):#x1B[90m#x1B[39;49;00m
&gt;                           #x1B[94mraise#x1B[39;49;00m #x1B[96mOSError#x1B[39;49;00m(first_errno, msg)#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE                           ConnectionRefusedError: [Errno 61] Multiple exceptions: [Errno 61] Connect call failed ('127.0.0.1', 49862), [Errno 61] Connect call failed ('::1', 49862, 0, 0)#x1B[0m

_          = [ConnectionRefusedError(61, "Connect call failed ('127.0.0.1', 49862)"), ConnectionRefusedError(61, "Connect call failed ('::1', 49862, 0, 0)")]
addr_infos = [(&lt;AddressFamily.AF_INET: 2&gt;, &lt;SocketKind.SOCK_STREAM: 1&gt;, 6, '', ('127.0.0.1', 49862)), (&lt;AddressFamily.AF_INET6: 30&gt;, &lt;SocketKind.SOCK_STREAM: 1&gt;, 6, '', ('::1', 49862, 0, 0))]
all_exceptions = None
current_loop = &lt;_UnixSelectorEventLoop running=False closed=True debug=False&gt;
exceptions = None
first_errno = 61
first_exception = ConnectionRefusedError(61, "Connect call failed ('127.0.0.1', 49862)")
happy_eyeballs_delay = 0.25
interleave = 1
local_addr_infos = None
loop       = &lt;_UnixSelectorEventLoop running=False closed=True debug=False&gt;
model      = "[Errno 61] Connect call failed ('127.0.0.1', 49862)"
msg        = "Multiple exceptions: [Errno 61] Connect call failed ('127.0.0.1', 49862), [Errno 61] Connect call failed ('::1', 49862, 0, 0)"
single_addr_info = False
sock       = None

#x1B[1m#x1B[.../Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10.../site-packages/aiohappyeyeballs/impl.py#x1B[0m:123: ConnectionRefusedError

#x1B[33mThe above exception was the direct cause of the following exception:#x1B[0m

self = &lt;test_run_app.TestShutdown object at 0x105ae6740&gt;
aiohttp_unused_port = &lt;function unused_port at 0x102b29870&gt;

    #x1B[0m#x1B[94mdef#x1B[39;49;00m #x1B[92mtest_shutdown_new_conn_rejected#x1B[39;49;00m(#x1B[90m#x1B[39;49;00m
        #x1B[96mself#x1B[39;49;00m, aiohttp_unused_port: Callable[[], #x1B[96mint#x1B[39;49;00m]#x1B[90m#x1B[39;49;00m
    ) -&gt; #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
        port = aiohttp_unused_port()#x1B[90m#x1B[39;49;00m
        finished = #x1B[94mFalse#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m #x1B[92mtask#x1B[39;49;00m() -&gt; #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
            #x1B[94mnonlocal#x1B[39;49;00m finished#x1B[90m#x1B[39;49;00m
            #x1B[94mawait#x1B[39;49;00m asyncio.sleep(#x1B[94m9#x1B[39;49;00m)#x1B[90m#x1B[39;49;00m
            finished = #x1B[94mTrue#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m #x1B[92mtest#x1B[39;49;00m(sess: ClientSession) -&gt; #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
            #x1B[90m# Ensure we are in the middle of shutdown (waiting for task()).#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
            #x1B[94mawait#x1B[39;49;00m asyncio.sleep(#x1B[94m1#x1B[39;49;00m)#x1B[90m#x1B[39;49;00m
            #x1B[94mwith#x1B[39;49;00m pytest.raises(ClientConnectorError):#x1B[90m#x1B[39;49;00m
                #x1B[90m# Use a new session to try and open a new connection.#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
                #x1B[94masync#x1B[39;49;00m #x1B[94mwith#x1B[39;49;00m ClientSession() #x1B[94mas#x1B[39;49;00m sess:#x1B[90m#x1B[39;49;00m
                    #x1B[94masync#x1B[39;49;00m #x1B[94mwith#x1B[39;49;00m sess.get(#x1B[33mf#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[33mhttp://localhost:#x1B[39;49;00m#x1B[33m{#x1B[39;49;00mport#x1B[33m}#x1B[39;49;00m#x1B[33m/#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m):#x1B[90m#x1B[39;49;00m
                        #x1B[94mpass#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
            #x1B[94massert#x1B[39;49;00m finished #x1B[95mis#x1B[39;49;00m #x1B[94mFalse#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
&gt;       t, connection_count = #x1B[96mself#x1B[39;49;00m.run_app(port, #x1B[94m10#x1B[39;49;00m, task, test)#x1B[90m#x1B[39;49;00m

aiohttp_unused_port = &lt;function unused_port at 0x102b29870&gt;
finished   = False
port       = 49862
self       = &lt;test_run_app.TestShutdown object at 0x105ae6740&gt;
task       = &lt;function TestShutdown.test_shutdown_new_conn_rejected.&lt;locals&gt;.task at 0x1101f0670&gt;
test       = &lt;function TestShutdown.test_shutdown_new_conn_rejected.&lt;locals&gt;.test at 0x1101f27a0&gt;

#x1B[1m#x1B[31mtests/test_run_app.py#x1B[0m:1154: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31mtests/test_run_app.py#x1B[0m:1071: in run_app
    #x1B[0mweb.run_app(app, port=port, shutdown_timeout=timeout)#x1B[90m#x1B[39;49;00m
        DictRecordClear = &lt;class 'test_run_app.TestShutdown.run_app.&lt;locals&gt;.DictRecordClear'&gt;
        ServerWithRecordClear = &lt;class 'test_run_app.TestShutdown.run_app.&lt;locals&gt;.ServerWithRecordClear'&gt;
        app        = &lt;Application 0x107ff1dd0&gt;
        extra_test = &lt;function TestShutdown.test_shutdown_new_conn_rejected.&lt;locals&gt;.test at 0x1101f27a0&gt;
        handler    = &lt;function TestShutdown.run_app.&lt;locals&gt;.handler at 0x1101f0550&gt;
        num_connections = 0
        port       = 49862
        run_test   = &lt;function TestShutdown.run_app.&lt;locals&gt;.run_test at 0x1101f0160&gt;
        self       = &lt;test_run_app.TestShutdown object at 0x105ae6740&gt;
        t          = None
        task       = &lt;function TestShutdown.test_shutdown_new_conn_rejected.&lt;locals&gt;.task at 0x1101f0670&gt;
        test       = &lt;function TestShutdown.run_app.&lt;locals&gt;.test at 0x1101f24d0&gt;
        test_task  = &lt;Task finished name='Task-3545' coro=&lt;TestShutdown.run_app.&lt;locals&gt;.test() done, defined at .../runner/work/aiohttp...xceptions: [Errno 61] Connect call failed ('127.0.0.1', 49862), [Errno 61] Connect call failed ('::1', 49862, 0, 0)"))&gt;
        timeout    = 10
#x1B[1m#x1B[31maiohttp/web.py#x1B[0m:508: in run_app
    #x1B[0mloop.run_until_complete(main_task)#x1B[90m#x1B[39;49;00m
        access_log = &lt;Logger aiohttp.access (WARNING)&gt;
        access_log_class = &lt;class 'aiohttp.web_log.AccessLogger'&gt;
        access_log_format = '%a %t "%r" %s %b "%{Referer}i" "%{User-Agent}i"'
        app        = &lt;Application 0x107ff1dd0&gt;
        backlog    = 128
        debug      = False
        handle_signals = True
        handler_cancellation = False
        host       = None
        keepalive_timeout = 75.0
        loop       = &lt;_UnixSelectorEventLoop running=False closed=True debug=False&gt;
        main_task  = &lt;Task finished name='Task-3544' coro=&lt;_run_app() done, defined at .../aiohttp/aiohttp/web.py:28...xceptions: [Errno 61] Connect call failed ('127.0.0.1', 49862), [Errno 61] Connect call failed ('::1', 49862, 0, 0)"))&gt;
        path       = None
        port       = 49862
        print      = &lt;built-in function print&gt;
        reuse_address = None
        reuse_port = None
        shutdown_timeout = 10
        sock       = None
        ssl_context = None
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = &lt;_UnixSelectorEventLoop running=False closed=True debug=False&gt;
future = &lt;Task finished name='Task-3544' coro=&lt;_run_app() done, defined at .../aiohttp/aiohttp/web.py:28...xceptions: [Errno 61] Connect call failed ('127.0.0.1', 49862), [Errno 61] Connect call failed ('::1', 49862, 0, 0)"))&gt;

    #x1B[0m#x1B[94mdef#x1B[39;49;00m #x1B[92mrun_until_complete#x1B[39;49;00m(#x1B[96mself#x1B[39;49;00m, future):#x1B[90m#x1B[39;49;00m
    #x1B[90m    #x1B[39;49;00m#x1B[33m"""Run until the Future is done.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m    If the argument is a coroutine, it is wrapped in a Task.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m    WARNING: It would be disastrous to call run_until_complete()#x1B[39;49;00m
    #x1B[33m    with the same coroutine twice -- it would wrap it in two#x1B[39;49;00m
    #x1B[33m    different Tasks and that can't be good.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m    Return the Future's result, or raise its exception.#x1B[39;49;00m
    #x1B[33m    """#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        #x1B[96mself#x1B[39;49;00m._check_closed()#x1B[90m#x1B[39;49;00m
        #x1B[96mself#x1B[39;49;00m._check_running()#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        new_task = #x1B[95mnot#x1B[39;49;00m futures.isfuture(future)#x1B[90m#x1B[39;49;00m
        future = tasks.ensure_future(future, loop=#x1B[96mself#x1B[39;49;00m)#x1B[90m#x1B[39;49;00m
        #x1B[94mif#x1B[39;49;00m new_task:#x1B[90m#x1B[39;49;00m
            #x1B[90m# An exception is raised if the future didn't complete, so there#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
            #x1B[90m# is no need to log the "destroy pending task" message#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
            future._log_destroy_pending = #x1B[94mFalse#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        future.add_done_callback(_run_until_complete_cb)#x1B[90m#x1B[39;49;00m
        #x1B[94mtry#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
            #x1B[96mself#x1B[39;49;00m.run_forever()#x1B[90m#x1B[39;49;00m
        #x1B[94mexcept#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
            #x1B[94mif#x1B[39;49;00m new_task #x1B[95mand#x1B[39;49;00m future.done() #x1B[95mand#x1B[39;49;00m #x1B[95mnot#x1B[39;49;00m future.cancelled():#x1B[90m#x1B[39;49;00m
                #x1B[90m# The coroutine raised a BaseException. Consume the exception#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
                #x1B[90m# to not log a warning, the caller doesn't have access to the#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
                #x1B[90m# local task.#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
                future.exception()#x1B[90m#x1B[39;49;00m
            #x1B[94mraise#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        #x1B[94mfinally#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
            future.remove_done_callback(_run_until_complete_cb)#x1B[90m#x1B[39;49;00m
        #x1B[94mif#x1B[39;49;00m #x1B[95mnot#x1B[39;49;00m future.done():#x1B[90m#x1B[39;49;00m
            #x1B[94mraise#x1B[39;49;00m #x1B[96mRuntimeError#x1B[39;49;00m(#x1B[33m'#x1B[39;49;00m#x1B[33mEvent loop stopped before Future completed.#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m)#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
&gt;       #x1B[94mreturn#x1B[39;49;00m future.result()#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE       aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host localhost:49862 ssl:default [Multiple exceptions: [Errno 61] Connect call failed ('127.0.0.1', 49862), [Errno 61] Connect call failed ('::1', 49862, 0, 0)]#x1B[0m

future     = &lt;Task finished name='Task-3544' coro=&lt;_run_app() done, defined at .../aiohttp/aiohttp/web.py:28...xceptions: [Errno 61] Connect call failed ('127.0.0.1', 49862), [Errno 61] Connect call failed ('::1', 49862, 0, 0)"))&gt;
new_task   = False
self       = &lt;_UnixSelectorEventLoop running=False closed=True debug=False&gt;

#x1B[1m#x1B[.../Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/asyncio/base_events.py#x1B[0m:649: ClientConnectorError

To view individual test run time comparison to the main branch, go to the Test Analytics Dashboard

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants