Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Nov 18, 2025

This PR contains the following updates:

Package Change Age Confidence
mkdocs-material (changelog) ==9.6.21 -> ==9.7.0 age confidence

Release Notes

squidfunk/mkdocs-material (mkdocs-material)

v9.7.0: mkdocs-material-9.7.0

Compare Source

[!WARNING]

Material for MkDocs is now in maintenance mode

This is the last release of Material for MkDocs that will receive new features. Going forward, the Material for MkDocs team focuses on Zensical, a next-gen static site generator built from first principles. We will provide critical bug fixes and security updates for Material for MkDocs for 12 months at least.

Read the full announcement on our blog

This release includes all features that were previously exclusive to the Insiders edition. These features are now freely available to everyone.

Note on deprecated plugins: The projects and typeset plugins are included in this release, but must be considered deprecated. Both plugins proved unsustainable to maintain and represent architectural dead ends. They are provided as-is without ongoing support.

Changes:

  • Added support for projects plugin (for compat, now deprecated)
  • Added support for typeset plugin (for compat, now deprecated)
  • Added support for pinned blog posts and author profiles
  • Added support for customizing pagination for blog index pages
  • Added support for customizing blog category sort order
  • Added support for staying on page when switching languages
  • Added support for disabling tags in table of contents
  • Added support for nested tags and shadow tags
  • Added support for footnote tooltips
  • Added support for instant previews
  • Added support for instant prefetching
  • Added support for custom social card layouts
  • Added support for custom social card background images
  • Added support for selectable rangs in code blocks
  • Added support for custom selectors for code annotations
  • Added support for configurable log level in privacy plugin
  • Added support for processing of external links in privacy plugin
  • Added support for automatic image optimization via optimize plugin
  • Added support for navigation paths (breadcrumbs)
  • Fixed #​8519: Vector accents do not render when using KaTeX

v9.6.23: mkdocs-material-9.6.23

Compare Source

  • Updated Burmese translation

v9.6.22: mkdocs-material-9.6.22

Compare Source

  • Updated Georgian translation

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot enabled auto-merge (squash) November 18, 2025 23:30
@codecov
Copy link

codecov bot commented Nov 18, 2025

❌ 1 Tests Failed:

Tests completed Failed Passed Skipped
588 1 587 14
View the top 3 failed test(s) by shortest run time
tests.interaction.test_http_interaction::test_basic_request_method[PATCH]
Stack Traces | 0.001s run time
pact = <Pact: consumer='consumer', provider='provider', handle=PactHandle(49742)>
method = 'PATCH'

    #x1B[0m#x1B[37m@pytest#x1B[39;49;00m.mark.parametrize(#x1B[90m#x1B[39;49;00m
        #x1B[33m"#x1B[39;49;00m#x1B[33mmethod#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m,#x1B[90m#x1B[39;49;00m
        ALL_HTTP_METHODS,#x1B[90m#x1B[39;49;00m
    )#x1B[90m#x1B[39;49;00m
    #x1B[37m@pytest#x1B[39;49;00m.mark.asyncio#x1B[90m#x1B[39;49;00m
    #x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mtest_basic_request_method#x1B[39;49;00m(pact: Pact, method: #x1B[96mstr#x1B[39;49;00m) -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
        (#x1B[90m#x1B[39;49;00m
            pact.upon_receiving(#x1B[33mf#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[33ma basic #x1B[39;49;00m#x1B[33m{#x1B[39;49;00mmethod#x1B[33m}#x1B[39;49;00m#x1B[33m request#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m)#x1B[90m#x1B[39;49;00m
            .with_request(method, #x1B[33m"#x1B[39;49;00m#x1B[33m/#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m)#x1B[90m#x1B[39;49;00m
            .will_respond_with(#x1B[94m200#x1B[39;49;00m)#x1B[90m#x1B[39;49;00m
        )#x1B[90m#x1B[39;49;00m
>       #x1B[94mwith#x1B[39;49;00m pact.serve(raises=#x1B[94mFalse#x1B[39;49;00m) #x1B[94mas#x1B[39;49;00m srv:#x1B[90m#x1B[39;49;00m

#x1B[1m#x1B[31mtests/interaction/test_http_interaction.py#x1B[0m:67: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31msrc/pact/pact.py#x1B[0m:773: in __enter__
    #x1B[0m#x1B[96mself#x1B[39;49;00m._handle = pact_ffi.create_mock_server_for_transport(#x1B[90m#x1B[39;49;00m
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

pact = PactHandle(49742), addr = 'localhost', port = 45547, transport = 'http'
transport_config = None

    #x1B[0m#x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mcreate_mock_server_for_transport#x1B[39;49;00m(#x1B[90m#x1B[39;49;00m
        pact: PactHandle,#x1B[90m#x1B[39;49;00m
        addr: #x1B[96mstr#x1B[39;49;00m,#x1B[90m#x1B[39;49;00m
        port: #x1B[96mint#x1B[39;49;00m,#x1B[90m#x1B[39;49;00m
        transport: #x1B[96mstr#x1B[39;49;00m,#x1B[90m#x1B[39;49;00m
        transport_config: #x1B[96mstr#x1B[39;49;00m | #x1B[94mNone#x1B[39;49;00m,#x1B[90m#x1B[39;49;00m
    ) -> PactServerHandle:#x1B[90m#x1B[39;49;00m
    #x1B[90m    #x1B[39;49;00m#x1B[33m"""#x1B[39;49;00m
    #x1B[33m    Create a mock server for the provided Pact handle and transport.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m    [Rust#x1B[39;49;00m
    #x1B[33m    `pactffi_create_mock_server_for_transport`](https://docs.rs/pact_ffi/0.4.28/pact_ffi/?search=pactffi_create_mock_server_for_transport)#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m    Args:#x1B[39;49;00m
    #x1B[33m        pact:#x1B[39;49;00m
    #x1B[33m            Handle to the Pact model.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m        addr:#x1B[39;49;00m
    #x1B[33m            The address to bind to.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m        port:#x1B[39;49;00m
    #x1B[33m            The port number to bind to. A value of zero will result in the#x1B[39;49;00m
    #x1B[33m            operating system allocating an available port.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m        transport:#x1B[39;49;00m
    #x1B[33m            The transport to use (i.e. http, https, grpc). The underlying Pact#x1B[39;49;00m
    #x1B[33m            library will interpret this, typically in a case-sensitive way.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m        transport_config:#x1B[39;49;00m
    #x1B[33m            Configuration to be passed to the transport. This must be a valid#x1B[39;49;00m
    #x1B[33m            JSON string, or `None` if not required.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m    Returns:#x1B[39;49;00m
    #x1B[33m        A handle to the mock server.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m    Raises:#x1B[39;49;00m
    #x1B[33m        RuntimeError:#x1B[39;49;00m
    #x1B[33m            If the mock server could not be created. The error message will#x1B[39;49;00m
    #x1B[33m            contain details of the error.#x1B[39;49;00m
    #x1B[33m    """#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        ret: #x1B[96mint#x1B[39;49;00m = lib.pactffi_create_mock_server_for_transport(#x1B[90m#x1B[39;49;00m
            pact._ref,#x1B[90m#x1B[39;49;00m
            addr.encode(#x1B[33m"#x1B[39;49;00m#x1B[33mutf-8#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m),#x1B[90m#x1B[39;49;00m
            port,#x1B[90m#x1B[39;49;00m
            transport.encode(#x1B[33m"#x1B[39;49;00m#x1B[33mutf-8#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m),#x1B[90m#x1B[39;49;00m
            (transport_config.encode(#x1B[33m"#x1B[39;49;00m#x1B[33mutf-8#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m) #x1B[94mif#x1B[39;49;00m transport_config #x1B[94melse#x1B[39;49;00m ffi.NULL),#x1B[90m#x1B[39;49;00m
        )#x1B[90m#x1B[39;49;00m
        #x1B[94mif#x1B[39;49;00m ret > #x1B[94m0#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
            #x1B[94mreturn#x1B[39;49;00m PactServerHandle(ret)#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[94mif#x1B[39;49;00m ret == -#x1B[94m1#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
            msg = #x1B[33mf#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[33mAn invalid Pact handle was received: #x1B[39;49;00m#x1B[33m{#x1B[39;49;00mpact#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[94melif#x1B[39;49;00m ret == -#x1B[94m2#x1B[39;49;00m:  #x1B[90m# noqa: PLR2004#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
            msg = #x1B[33m"#x1B[39;49;00m#x1B[33mInvalid transport_config JSON.#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        #x1B[94melif#x1B[39;49;00m ret == -#x1B[94m3#x1B[39;49;00m:  #x1B[90m# noqa: PLR2004#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
            msg = #x1B[33mf#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[33mPact mock server could not be started for #x1B[39;49;00m#x1B[33m{#x1B[39;49;00mpact#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[94melif#x1B[39;49;00m ret == -#x1B[94m4#x1B[39;49;00m:  #x1B[90m# noqa: PLR2004#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
            msg = #x1B[33mf#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[33mPanick during Pact mock server creation for #x1B[39;49;00m#x1B[33m{#x1B[39;49;00mpact#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[94melif#x1B[39;49;00m ret == -#x1B[94m5#x1B[39;49;00m:  #x1B[90m# noqa: PLR2004#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
            msg = #x1B[33mf#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[33mAddress is invalid: #x1B[39;49;00m#x1B[33m{#x1B[39;49;00maddr#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[94melse#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
            msg = #x1B[33mf#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[33mAn unknown error occurred during Pact mock server creation for #x1B[39;49;00m#x1B[33m{#x1B[39;49;00mpact#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[94mraise#x1B[39;49;00m #x1B[96mRuntimeError#x1B[39;49;00m(msg)#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE       RuntimeError: Pact mock server could not be started for PactHandle(49742).#x1B[0m

#x1B[1m#x1B[.../src/pact_ffi/__init__.py#x1B[0m:5035: RuntimeError
tests.interaction.test_http_interaction::test_basic_response_status[538]
Stack Traces | 0.001s run time
pact = <Pact: consumer='consumer', provider='provider', handle=PactHandle(11695)>
status = 538

    #x1B[0m#x1B[37m@pytest#x1B[39;49;00m.mark.parametrize(#x1B[90m#x1B[39;49;00m
        #x1B[33m"#x1B[39;49;00m#x1B[33mstatus#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m,#x1B[90m#x1B[39;49;00m
        #x1B[96mlist#x1B[39;49;00m(#x1B[96mrange#x1B[39;49;00m(#x1B[94m200#x1B[39;49;00m, #x1B[94m600#x1B[39;49;00m, #x1B[94m13#x1B[39;49;00m)),#x1B[90m#x1B[39;49;00m
    )#x1B[90m#x1B[39;49;00m
    #x1B[37m@pytest#x1B[39;49;00m.mark.asyncio#x1B[90m#x1B[39;49;00m
    #x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mtest_basic_response_status#x1B[39;49;00m(pact: Pact, status: #x1B[96mint#x1B[39;49;00m) -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
        (#x1B[90m#x1B[39;49;00m
            pact.upon_receiving(#x1B[33mf#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[33ma basic request producing status #x1B[39;49;00m#x1B[33m{#x1B[39;49;00mstatus#x1B[33m}#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m)#x1B[90m#x1B[39;49;00m
            .with_request(#x1B[33m"#x1B[39;49;00m#x1B[33mGET#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m, #x1B[33m"#x1B[39;49;00m#x1B[33m/#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m)#x1B[90m#x1B[39;49;00m
            .will_respond_with(status)#x1B[90m#x1B[39;49;00m
        )#x1B[90m#x1B[39;49;00m
>       #x1B[94mwith#x1B[39;49;00m pact.serve() #x1B[94mas#x1B[39;49;00m srv:#x1B[90m#x1B[39;49;00m
             ^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m

#x1B[1m#x1B[31mtests/interaction/test_http_interaction.py#x1B[0m:89: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31msrc/pact/pact.py#x1B[0m:773: in __enter__
    #x1B[0m#x1B[96mself#x1B[39;49;00m._handle = pact_ffi.create_mock_server_for_transport(#x1B[90m#x1B[39;49;00m
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

pact = PactHandle(11695), addr = 'localhost', port = 56675, transport = 'http'
transport_config = None

    #x1B[0m#x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mcreate_mock_server_for_transport#x1B[39;49;00m(#x1B[90m#x1B[39;49;00m
        pact: PactHandle,#x1B[90m#x1B[39;49;00m
        addr: #x1B[96mstr#x1B[39;49;00m,#x1B[90m#x1B[39;49;00m
        port: #x1B[96mint#x1B[39;49;00m,#x1B[90m#x1B[39;49;00m
        transport: #x1B[96mstr#x1B[39;49;00m,#x1B[90m#x1B[39;49;00m
        transport_config: #x1B[96mstr#x1B[39;49;00m | #x1B[94mNone#x1B[39;49;00m,#x1B[90m#x1B[39;49;00m
    ) -> PactServerHandle:#x1B[90m#x1B[39;49;00m
    #x1B[90m    #x1B[39;49;00m#x1B[33m"""#x1B[39;49;00m
    #x1B[33m    Create a mock server for the provided Pact handle and transport.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m    [Rust#x1B[39;49;00m
    #x1B[33m    `pactffi_create_mock_server_for_transport`](https://docs.rs/pact_ffi/0.4.28/pact_ffi/?search=pactffi_create_mock_server_for_transport)#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m    Args:#x1B[39;49;00m
    #x1B[33m        pact:#x1B[39;49;00m
    #x1B[33m            Handle to the Pact model.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m        addr:#x1B[39;49;00m
    #x1B[33m            The address to bind to.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m        port:#x1B[39;49;00m
    #x1B[33m            The port number to bind to. A value of zero will result in the#x1B[39;49;00m
    #x1B[33m            operating system allocating an available port.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m        transport:#x1B[39;49;00m
    #x1B[33m            The transport to use (i.e. http, https, grpc). The underlying Pact#x1B[39;49;00m
    #x1B[33m            library will interpret this, typically in a case-sensitive way.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m        transport_config:#x1B[39;49;00m
    #x1B[33m            Configuration to be passed to the transport. This must be a valid#x1B[39;49;00m
    #x1B[33m            JSON string, or `None` if not required.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m    Returns:#x1B[39;49;00m
    #x1B[33m        A handle to the mock server.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m    Raises:#x1B[39;49;00m
    #x1B[33m        RuntimeError:#x1B[39;49;00m
    #x1B[33m            If the mock server could not be created. The error message will#x1B[39;49;00m
    #x1B[33m            contain details of the error.#x1B[39;49;00m
    #x1B[33m    """#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        ret: #x1B[96mint#x1B[39;49;00m = lib.pactffi_create_mock_server_for_transport(#x1B[90m#x1B[39;49;00m
            pact._ref,#x1B[90m#x1B[39;49;00m
            addr.encode(#x1B[33m"#x1B[39;49;00m#x1B[33mutf-8#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m),#x1B[90m#x1B[39;49;00m
            port,#x1B[90m#x1B[39;49;00m
            transport.encode(#x1B[33m"#x1B[39;49;00m#x1B[33mutf-8#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m),#x1B[90m#x1B[39;49;00m
            (transport_config.encode(#x1B[33m"#x1B[39;49;00m#x1B[33mutf-8#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m) #x1B[94mif#x1B[39;49;00m transport_config #x1B[94melse#x1B[39;49;00m ffi.NULL),#x1B[90m#x1B[39;49;00m
        )#x1B[90m#x1B[39;49;00m
        #x1B[94mif#x1B[39;49;00m ret > #x1B[94m0#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
            #x1B[94mreturn#x1B[39;49;00m PactServerHandle(ret)#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[94mif#x1B[39;49;00m ret == -#x1B[94m1#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
            msg = #x1B[33mf#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[33mAn invalid Pact handle was received: #x1B[39;49;00m#x1B[33m{#x1B[39;49;00mpact#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[94melif#x1B[39;49;00m ret == -#x1B[94m2#x1B[39;49;00m:  #x1B[90m# noqa: PLR2004#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
            msg = #x1B[33m"#x1B[39;49;00m#x1B[33mInvalid transport_config JSON.#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        #x1B[94melif#x1B[39;49;00m ret == -#x1B[94m3#x1B[39;49;00m:  #x1B[90m# noqa: PLR2004#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
            msg = #x1B[33mf#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[33mPact mock server could not be started for #x1B[39;49;00m#x1B[33m{#x1B[39;49;00mpact#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[94melif#x1B[39;49;00m ret == -#x1B[94m4#x1B[39;49;00m:  #x1B[90m# noqa: PLR2004#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
            msg = #x1B[33mf#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[33mPanick during Pact mock server creation for #x1B[39;49;00m#x1B[33m{#x1B[39;49;00mpact#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[94melif#x1B[39;49;00m ret == -#x1B[94m5#x1B[39;49;00m:  #x1B[90m# noqa: PLR2004#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
            msg = #x1B[33mf#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[33mAddress is invalid: #x1B[39;49;00m#x1B[33m{#x1B[39;49;00maddr#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[94melse#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
            msg = #x1B[33mf#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[33mAn unknown error occurred during Pact mock server creation for #x1B[39;49;00m#x1B[33m{#x1B[39;49;00mpact#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[94mraise#x1B[39;49;00m #x1B[96mRuntimeError#x1B[39;49;00m(msg)#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE       RuntimeError: Pact mock server could not be started for PactHandle(11695).#x1B[0m

#x1B[1m#x1B[.../src/pact_ffi/__init__.py#x1B[0m:5035: RuntimeError
tests.compatibility_suite.test_v3_generators::test_supports_a_random_decimal_generator
Stack Traces | 0.002s run time
fixturefunc = <function the_request_is_prepared_for_use at 0x7f1a11a212d0>
request = <FixtureRequest for <Function test_supports_a_random_decimal_generator>>
kwargs = {'pact': <Pact: consumer='v3-generators-consumer', provider='v3-generators-provider', handle=PactHandle(30373)>}

    #x1B[0m#x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mcall_fixture_func#x1B[39;49;00m(#x1B[90m#x1B[39;49;00m
        fixturefunc: _FixtureFunc[FixtureValue], request: FixtureRequest, kwargs#x1B[90m#x1B[39;49;00m
    ) -> FixtureValue:#x1B[90m#x1B[39;49;00m
        #x1B[94mif#x1B[39;49;00m inspect.isgeneratorfunction(fixturefunc):#x1B[90m#x1B[39;49;00m
            fixturefunc = cast(Callable[..., Generator[FixtureValue]], fixturefunc)#x1B[90m#x1B[39;49;00m
            generator = fixturefunc(**kwargs)#x1B[90m#x1B[39;49;00m
            #x1B[94mtry#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
                fixture_result = #x1B[96mnext#x1B[39;49;00m(generator)#x1B[90m#x1B[39;49;00m
            #x1B[94mexcept#x1B[39;49;00m #x1B[96mStopIteration#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
                #x1B[94mraise#x1B[39;49;00m #x1B[96mValueError#x1B[39;49;00m(#x1B[33mf#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[33m{#x1B[39;49;00mrequest.fixturename#x1B[33m}#x1B[39;49;00m#x1B[33m did not yield a value#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m) #x1B[94mfrom#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[94mNone#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
            finalizer = functools.partial(_teardown_yield_fixture, fixturefunc, generator)#x1B[90m#x1B[39;49;00m
            request.addfinalizer(finalizer)#x1B[90m#x1B[39;49;00m
        #x1B[94melse#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
            fixturefunc = cast(Callable[..., FixtureValue], fixturefunc)#x1B[90m#x1B[39;49;00m
>           fixture_result = fixturefunc(**kwargs)#x1B[90m#x1B[39;49;00m

#x1B[1m#x1B[31m..../test/lib/python3.10.../site-packages/_pytest/fixtures.py#x1B[0m:930: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31mtests/compatibility_suite/test_v3_generators.py#x1B[0m:141: in the_request_is_prepared_for_use
    #x1B[0m#x1B[94mwith#x1B[39;49;00m pact.serve() #x1B[94mas#x1B[39;49;00m srv:#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31msrc/pact/pact.py#x1B[0m:773: in __enter__
    #x1B[0m#x1B[96mself#x1B[39;49;00m._handle = pact_ffi.create_mock_server_for_transport(#x1B[90m#x1B[39;49;00m
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

pact = PactHandle(30373), addr = 'localhost', port = 49639, transport = 'http'
transport_config = None

    #x1B[0m#x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mcreate_mock_server_for_transport#x1B[39;49;00m(#x1B[90m#x1B[39;49;00m
        pact: PactHandle,#x1B[90m#x1B[39;49;00m
        addr: #x1B[96mstr#x1B[39;49;00m,#x1B[90m#x1B[39;49;00m
        port: #x1B[96mint#x1B[39;49;00m,#x1B[90m#x1B[39;49;00m
        transport: #x1B[96mstr#x1B[39;49;00m,#x1B[90m#x1B[39;49;00m
        transport_config: #x1B[96mstr#x1B[39;49;00m | #x1B[94mNone#x1B[39;49;00m,#x1B[90m#x1B[39;49;00m
    ) -> PactServerHandle:#x1B[90m#x1B[39;49;00m
    #x1B[90m    #x1B[39;49;00m#x1B[33m"""#x1B[39;49;00m
    #x1B[33m    Create a mock server for the provided Pact handle and transport.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m    [Rust#x1B[39;49;00m
    #x1B[33m    `pactffi_create_mock_server_for_transport`](https://docs.rs/pact_ffi/0.4.28/pact_ffi/?search=pactffi_create_mock_server_for_transport)#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m    Args:#x1B[39;49;00m
    #x1B[33m        pact:#x1B[39;49;00m
    #x1B[33m            Handle to the Pact model.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m        addr:#x1B[39;49;00m
    #x1B[33m            The address to bind to.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m        port:#x1B[39;49;00m
    #x1B[33m            The port number to bind to. A value of zero will result in the#x1B[39;49;00m
    #x1B[33m            operating system allocating an available port.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m        transport:#x1B[39;49;00m
    #x1B[33m            The transport to use (i.e. http, https, grpc). The underlying Pact#x1B[39;49;00m
    #x1B[33m            library will interpret this, typically in a case-sensitive way.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m        transport_config:#x1B[39;49;00m
    #x1B[33m            Configuration to be passed to the transport. This must be a valid#x1B[39;49;00m
    #x1B[33m            JSON string, or `None` if not required.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m    Returns:#x1B[39;49;00m
    #x1B[33m        A handle to the mock server.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m    Raises:#x1B[39;49;00m
    #x1B[33m        RuntimeError:#x1B[39;49;00m
    #x1B[33m            If the mock server could not be created. The error message will#x1B[39;49;00m
    #x1B[33m            contain details of the error.#x1B[39;49;00m
    #x1B[33m    """#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        ret: #x1B[96mint#x1B[39;49;00m = lib.pactffi_create_mock_server_for_transport(#x1B[90m#x1B[39;49;00m
            pact._ref,#x1B[90m#x1B[39;49;00m
            addr.encode(#x1B[33m"#x1B[39;49;00m#x1B[33mutf-8#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m),#x1B[90m#x1B[39;49;00m
            port,#x1B[90m#x1B[39;49;00m
            transport.encode(#x1B[33m"#x1B[39;49;00m#x1B[33mutf-8#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m),#x1B[90m#x1B[39;49;00m
            (transport_config.encode(#x1B[33m"#x1B[39;49;00m#x1B[33mutf-8#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m) #x1B[94mif#x1B[39;49;00m transport_config #x1B[94melse#x1B[39;49;00m ffi.NULL),#x1B[90m#x1B[39;49;00m
        )#x1B[90m#x1B[39;49;00m
        #x1B[94mif#x1B[39;49;00m ret > #x1B[94m0#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
            #x1B[94mreturn#x1B[39;49;00m PactServerHandle(ret)#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[94mif#x1B[39;49;00m ret == -#x1B[94m1#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
            msg = #x1B[33mf#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[33mAn invalid Pact handle was received: #x1B[39;49;00m#x1B[33m{#x1B[39;49;00mpact#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[94melif#x1B[39;49;00m ret == -#x1B[94m2#x1B[39;49;00m:  #x1B[90m# noqa: PLR2004#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
            msg = #x1B[33m"#x1B[39;49;00m#x1B[33mInvalid transport_config JSON.#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        #x1B[94melif#x1B[39;49;00m ret == -#x1B[94m3#x1B[39;49;00m:  #x1B[90m# noqa: PLR2004#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
            msg = #x1B[33mf#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[33mPact mock server could not be started for #x1B[39;49;00m#x1B[33m{#x1B[39;49;00mpact#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[94melif#x1B[39;49;00m ret == -#x1B[94m4#x1B[39;49;00m:  #x1B[90m# noqa: PLR2004#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
            msg = #x1B[33mf#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[33mPanick during Pact mock server creation for #x1B[39;49;00m#x1B[33m{#x1B[39;49;00mpact#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[94melif#x1B[39;49;00m ret == -#x1B[94m5#x1B[39;49;00m:  #x1B[90m# noqa: PLR2004#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
            msg = #x1B[33mf#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[33mAddress is invalid: #x1B[39;49;00m#x1B[33m{#x1B[39;49;00maddr#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[94melse#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
            msg = #x1B[33mf#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[33mAn unknown error occurred during Pact mock server creation for #x1B[39;49;00m#x1B[33m{#x1B[39;49;00mpact#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[94mraise#x1B[39;49;00m #x1B[96mRuntimeError#x1B[39;49;00m(msg)#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE       RuntimeError: Pact mock server could not be started for PactHandle(30373).#x1B[0m

#x1B[1m#x1B[.../src/pact_ffi/__init__.py#x1B[0m:5035: RuntimeError
tests.compatibility_suite.test_v1_consumer::test_request_with_a_multipart_body_positive_case
Stack Traces | 0.003s run time
fixturefunc = <function the_mock_server_is_started_with_interactions.<locals>._ at 0x7effa346eb60>
request = <FixtureRequest for <Function test_request_with_a_multipart_body_positive_case>>
kwargs = {'ids': [9], 'interaction_definitions': {1: <Body: type='HTTP', id=1, description=None, states=[], metadata=None, pend...one, response_headers=<MultiDict()>, response_body=None, response_matching_rules=None, response_generators=None>, ...}}

    #x1B[0m#x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mcall_fixture_func#x1B[39;49;00m(#x1B[90m#x1B[39;49;00m
        fixturefunc: _FixtureFunc[FixtureValue], request: FixtureRequest, kwargs#x1B[90m#x1B[39;49;00m
    ) -> FixtureValue:#x1B[90m#x1B[39;49;00m
        #x1B[94mif#x1B[39;49;00m inspect.isgeneratorfunction(fixturefunc):#x1B[90m#x1B[39;49;00m
            fixturefunc = cast(Callable[..., Generator[FixtureValue]], fixturefunc)#x1B[90m#x1B[39;49;00m
            generator = fixturefunc(**kwargs)#x1B[90m#x1B[39;49;00m
            #x1B[94mtry#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
>               fixture_result = #x1B[96mnext#x1B[39;49;00m(generator)#x1B[90m#x1B[39;49;00m
                                 ^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m

#x1B[1m#x1B[31m..../test/lib/python3.11.../site-packages/_pytest/fixtures.py#x1B[0m:923: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[.../compatibility_suite/util/consumer.py#x1B[0m:169: in _
    #x1B[0m#x1B[94mwith#x1B[39;49;00m pact.serve(raises=#x1B[94mFalse#x1B[39;49;00m) #x1B[94mas#x1B[39;49;00m srv:#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31msrc/pact/pact.py#x1B[0m:773: in __enter__
    #x1B[0m#x1B[96mself#x1B[39;49;00m._handle = pact_ffi.create_mock_server_for_transport(#x1B[90m#x1B[39;49;00m
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

pact = PactHandle(8890), addr = 'localhost', port = 53201, transport = 'http'
transport_config = None

    #x1B[0m#x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mcreate_mock_server_for_transport#x1B[39;49;00m(#x1B[90m#x1B[39;49;00m
        pact: PactHandle,#x1B[90m#x1B[39;49;00m
        addr: #x1B[96mstr#x1B[39;49;00m,#x1B[90m#x1B[39;49;00m
        port: #x1B[96mint#x1B[39;49;00m,#x1B[90m#x1B[39;49;00m
        transport: #x1B[96mstr#x1B[39;49;00m,#x1B[90m#x1B[39;49;00m
        transport_config: #x1B[96mstr#x1B[39;49;00m | #x1B[94mNone#x1B[39;49;00m,#x1B[90m#x1B[39;49;00m
    ) -> PactServerHandle:#x1B[90m#x1B[39;49;00m
    #x1B[90m    #x1B[39;49;00m#x1B[33m"""#x1B[39;49;00m
    #x1B[33m    Create a mock server for the provided Pact handle and transport.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m    [Rust#x1B[39;49;00m
    #x1B[33m    `pactffi_create_mock_server_for_transport`](https://docs.rs/pact_ffi/0.4.28/pact_ffi/?search=pactffi_create_mock_server_for_transport)#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m    Args:#x1B[39;49;00m
    #x1B[33m        pact:#x1B[39;49;00m
    #x1B[33m            Handle to the Pact model.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m        addr:#x1B[39;49;00m
    #x1B[33m            The address to bind to.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m        port:#x1B[39;49;00m
    #x1B[33m            The port number to bind to. A value of zero will result in the#x1B[39;49;00m
    #x1B[33m            operating system allocating an available port.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m        transport:#x1B[39;49;00m
    #x1B[33m            The transport to use (i.e. http, https, grpc). The underlying Pact#x1B[39;49;00m
    #x1B[33m            library will interpret this, typically in a case-sensitive way.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m        transport_config:#x1B[39;49;00m
    #x1B[33m            Configuration to be passed to the transport. This must be a valid#x1B[39;49;00m
    #x1B[33m            JSON string, or `None` if not required.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m    Returns:#x1B[39;49;00m
    #x1B[33m        A handle to the mock server.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m    Raises:#x1B[39;49;00m
    #x1B[33m        RuntimeError:#x1B[39;49;00m
    #x1B[33m            If the mock server could not be created. The error message will#x1B[39;49;00m
    #x1B[33m            contain details of the error.#x1B[39;49;00m
    #x1B[33m    """#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        ret: #x1B[96mint#x1B[39;49;00m = lib.pactffi_create_mock_server_for_transport(#x1B[90m#x1B[39;49;00m
            pact._ref,#x1B[90m#x1B[39;49;00m
            addr.encode(#x1B[33m"#x1B[39;49;00m#x1B[33mutf-8#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m),#x1B[90m#x1B[39;49;00m
            port,#x1B[90m#x1B[39;49;00m
            transport.encode(#x1B[33m"#x1B[39;49;00m#x1B[33mutf-8#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m),#x1B[90m#x1B[39;49;00m
            (transport_config.encode(#x1B[33m"#x1B[39;49;00m#x1B[33mutf-8#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m) #x1B[94mif#x1B[39;49;00m transport_config #x1B[94melse#x1B[39;49;00m ffi.NULL),#x1B[90m#x1B[39;49;00m
        )#x1B[90m#x1B[39;49;00m
        #x1B[94mif#x1B[39;49;00m ret > #x1B[94m0#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
            #x1B[94mreturn#x1B[39;49;00m PactServerHandle(ret)#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[94mif#x1B[39;49;00m ret == -#x1B[94m1#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
            msg = #x1B[33mf#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[33mAn invalid Pact handle was received: #x1B[39;49;00m#x1B[33m{#x1B[39;49;00mpact#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[94melif#x1B[39;49;00m ret == -#x1B[94m2#x1B[39;49;00m:  #x1B[90m# noqa: PLR2004#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
            msg = #x1B[33m"#x1B[39;49;00m#x1B[33mInvalid transport_config JSON.#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        #x1B[94melif#x1B[39;49;00m ret == -#x1B[94m3#x1B[39;49;00m:  #x1B[90m# noqa: PLR2004#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
            msg = #x1B[33mf#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[33mPact mock server could not be started for #x1B[39;49;00m#x1B[33m{#x1B[39;49;00mpact#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[94melif#x1B[39;49;00m ret == -#x1B[94m4#x1B[39;49;00m:  #x1B[90m# noqa: PLR2004#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
            msg = #x1B[33mf#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[33mPanick during Pact mock server creation for #x1B[39;49;00m#x1B[33m{#x1B[39;49;00mpact#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[94melif#x1B[39;49;00m ret == -#x1B[94m5#x1B[39;49;00m:  #x1B[90m# noqa: PLR2004#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
            msg = #x1B[33mf#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[33mAddress is invalid: #x1B[39;49;00m#x1B[33m{#x1B[39;49;00maddr#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[94melse#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
            msg = #x1B[33mf#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[33mAn unknown error occurred during Pact mock server creation for #x1B[39;49;00m#x1B[33m{#x1B[39;49;00mpact#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[94mraise#x1B[39;49;00m #x1B[96mRuntimeError#x1B[39;49;00m(msg)#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE       RuntimeError: Pact mock server could not be started for PactHandle(8890).#x1B[0m

#x1B[1m#x1B[.../src/pact_ffi/__init__.py#x1B[0m:5035: RuntimeError
tests.compatibility_suite.test_v1_consumer::test_request_with_json_body_positive_case
Stack Traces | 0.003s run time
fixturefunc = <function the_mock_server_is_started_with_interactions.<locals>._ at 0x7f6069f0e3e0>
request = <FixtureRequest for <Function test_request_with_json_body_positive_case>>
kwargs = {'ids': [4], 'interaction_definitions': {1: <Body: type='HTTP', id=1, description=None, states=[], metadata=None, pend...one, response_headers=<MultiDict()>, response_body=None, response_matching_rules=None, response_generators=None>, ...}}

    #x1B[0m#x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mcall_fixture_func#x1B[39;49;00m(#x1B[90m#x1B[39;49;00m
        fixturefunc: _FixtureFunc[FixtureValue], request: FixtureRequest, kwargs#x1B[90m#x1B[39;49;00m
    ) -> FixtureValue:#x1B[90m#x1B[39;49;00m
        #x1B[94mif#x1B[39;49;00m inspect.isgeneratorfunction(fixturefunc):#x1B[90m#x1B[39;49;00m
            fixturefunc = cast(Callable[..., Generator[FixtureValue]], fixturefunc)#x1B[90m#x1B[39;49;00m
            generator = fixturefunc(**kwargs)#x1B[90m#x1B[39;49;00m
            #x1B[94mtry#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
>               fixture_result = #x1B[96mnext#x1B[39;49;00m(generator)#x1B[90m#x1B[39;49;00m
                                 ^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m

#x1B[1m#x1B[31m..../test/lib/python3.12.../site-packages/_pytest/fixtures.py#x1B[0m:923: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[.../compatibility_suite/util/consumer.py#x1B[0m:169: in _
    #x1B[0m#x1B[94mwith#x1B[39;49;00m pact.serve(raises=#x1B[94mFalse#x1B[39;49;00m) #x1B[94mas#x1B[39;49;00m srv:#x1B[90m#x1B[39;49;00m
         ^^^^^^^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31msrc/pact/pact.py#x1B[0m:773: in __enter__
    #x1B[0m#x1B[96mself#x1B[39;49;00m._handle = pact_ffi.create_mock_server_for_transport(#x1B[90m#x1B[39;49;00m
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

pact = PactHandle(28088), addr = 'localhost', port = 56001, transport = 'http'
transport_config = None

    #x1B[0m#x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mcreate_mock_server_for_transport#x1B[39;49;00m(#x1B[90m#x1B[39;49;00m
        pact: PactHandle,#x1B[90m#x1B[39;49;00m
        addr: #x1B[96mstr#x1B[39;49;00m,#x1B[90m#x1B[39;49;00m
        port: #x1B[96mint#x1B[39;49;00m,#x1B[90m#x1B[39;49;00m
        transport: #x1B[96mstr#x1B[39;49;00m,#x1B[90m#x1B[39;49;00m
        transport_config: #x1B[96mstr#x1B[39;49;00m | #x1B[94mNone#x1B[39;49;00m,#x1B[90m#x1B[39;49;00m
    ) -> PactServerHandle:#x1B[90m#x1B[39;49;00m
    #x1B[90m    #x1B[39;49;00m#x1B[33m"""#x1B[39;49;00m
    #x1B[33m    Create a mock server for the provided Pact handle and transport.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m    [Rust#x1B[39;49;00m
    #x1B[33m    `pactffi_create_mock_server_for_transport`](https://docs.rs/pact_ffi/0.4.28/pact_ffi/?search=pactffi_create_mock_server_for_transport)#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m    Args:#x1B[39;49;00m
    #x1B[33m        pact:#x1B[39;49;00m
    #x1B[33m            Handle to the Pact model.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m        addr:#x1B[39;49;00m
    #x1B[33m            The address to bind to.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m        port:#x1B[39;49;00m
    #x1B[33m            The port number to bind to. A value of zero will result in the#x1B[39;49;00m
    #x1B[33m            operating system allocating an available port.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m        transport:#x1B[39;49;00m
    #x1B[33m            The transport to use (i.e. http, https, grpc). The underlying Pact#x1B[39;49;00m
    #x1B[33m            library will interpret this, typically in a case-sensitive way.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m        transport_config:#x1B[39;49;00m
    #x1B[33m            Configuration to be passed to the transport. This must be a valid#x1B[39;49;00m
    #x1B[33m            JSON string, or `None` if not required.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m    Returns:#x1B[39;49;00m
    #x1B[33m        A handle to the mock server.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m    Raises:#x1B[39;49;00m
    #x1B[33m        RuntimeError:#x1B[39;49;00m
    #x1B[33m            If the mock server could not be created. The error message will#x1B[39;49;00m
    #x1B[33m            contain details of the error.#x1B[39;49;00m
    #x1B[33m    """#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        ret: #x1B[96mint#x1B[39;49;00m = lib.pactffi_create_mock_server_for_transport(#x1B[90m#x1B[39;49;00m
            pact._ref,#x1B[90m#x1B[39;49;00m
            addr.encode(#x1B[33m"#x1B[39;49;00m#x1B[33mutf-8#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m),#x1B[90m#x1B[39;49;00m
            port,#x1B[90m#x1B[39;49;00m
            transport.encode(#x1B[33m"#x1B[39;49;00m#x1B[33mutf-8#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m),#x1B[90m#x1B[39;49;00m
            (transport_config.encode(#x1B[33m"#x1B[39;49;00m#x1B[33mutf-8#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m) #x1B[94mif#x1B[39;49;00m transport_config #x1B[94melse#x1B[39;49;00m ffi.NULL),#x1B[90m#x1B[39;49;00m
        )#x1B[90m#x1B[39;49;00m
        #x1B[94mif#x1B[39;49;00m ret > #x1B[94m0#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
            #x1B[94mreturn#x1B[39;49;00m PactServerHandle(ret)#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[94mif#x1B[39;49;00m ret == -#x1B[94m1#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
            msg = #x1B[33mf#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[33mAn invalid Pact handle was received: #x1B[39;49;00m#x1B[33m{#x1B[39;49;00mpact#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[94melif#x1B[39;49;00m ret == -#x1B[94m2#x1B[39;49;00m:  #x1B[90m# noqa: PLR2004#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
            msg = #x1B[33m"#x1B[39;49;00m#x1B[33mInvalid transport_config JSON.#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        #x1B[94melif#x1B[39;49;00m ret == -#x1B[94m3#x1B[39;49;00m:  #x1B[90m# noqa: PLR2004#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
            msg = #x1B[33mf#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[33mPact mock server could not be started for #x1B[39;49;00m#x1B[33m{#x1B[39;49;00mpact#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[94melif#x1B[39;49;00m ret == -#x1B[94m4#x1B[39;49;00m:  #x1B[90m# noqa: PLR2004#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
            msg = #x1B[33mf#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[33mPanick during Pact mock server creation for #x1B[39;49;00m#x1B[33m{#x1B[39;49;00mpact#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[94melif#x1B[39;49;00m ret == -#x1B[94m5#x1B[39;49;00m:  #x1B[90m# noqa: PLR2004#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
            msg = #x1B[33mf#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[33mAddress is invalid: #x1B[39;49;00m#x1B[33m{#x1B[39;49;00maddr#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[94melse#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
            msg = #x1B[33mf#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[33mAn unknown error occurred during Pact mock server creation for #x1B[39;49;00m#x1B[33m{#x1B[39;49;00mpact#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[94mraise#x1B[39;49;00m #x1B[96mRuntimeError#x1B[39;49;00m(msg)#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE       RuntimeError: Pact mock server could not be started for PactHandle(28088).#x1B[0m

#x1B[1m#x1B[.../src/pact_ffi/__init__.py#x1B[0m:5035: RuntimeError
tests.test_server::test_message_post_http
Stack Traces | 0.503s run time
#x1B[0m#x1B[37m@pytest#x1B[39;49;00m.mark.asyncio#x1B[90m#x1B[39;49;00m
    #x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mtest_message_post_http#x1B[39;49;00m() -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
        handler = MagicMock(#x1B[90m#x1B[39;49;00m
            return_value={#x1B[90m#x1B[39;49;00m
                #x1B[33m"#x1B[39;49;00m#x1B[33mcontents#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m: json.dumps({#x1B[33m"#x1B[39;49;00m#x1B[33mhello#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m: #x1B[33m"#x1B[39;49;00m#x1B[33mworld#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m}).encode(),#x1B[90m#x1B[39;49;00m
                #x1B[33m"#x1B[39;49;00m#x1B[33mmetadata#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m: #x1B[94mNone#x1B[39;49;00m,#x1B[90m#x1B[39;49;00m
                #x1B[33m"#x1B[39;49;00m#x1B[33mcontent_type#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m: #x1B[33m"#x1B[39;49;00m#x1B[33mapplication/json#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m,#x1B[90m#x1B[39;49;00m
            }#x1B[90m#x1B[39;49;00m
        )#x1B[90m#x1B[39;49;00m
        server = MessageProducer(handler)#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[94mwith#x1B[39;49;00m server:#x1B[90m#x1B[39;49;00m
            #x1B[94masync#x1B[39;49;00m #x1B[94mwith#x1B[39;49;00m aiohttp.ClientSession() #x1B[94mas#x1B[39;49;00m session:#x1B[90m#x1B[39;49;00m
                #x1B[94masync#x1B[39;49;00m #x1B[94mwith#x1B[39;49;00m session.post(#x1B[90m#x1B[39;49;00m
                    server.url,#x1B[90m#x1B[39;49;00m
                    data=json.dumps({#x1B[90m#x1B[39;49;00m
                        #x1B[33m"#x1B[39;49;00m#x1B[33mdescription#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m: #x1B[33m"#x1B[39;49;00m#x1B[33mA simple message#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m,#x1B[90m#x1B[39;49;00m
                    }),#x1B[90m#x1B[39;49;00m
                ) #x1B[94mas#x1B[39;49;00m response:#x1B[90m#x1B[39;49;00m
>                   #x1B[94massert#x1B[39;49;00m response.status == #x1B[94m200#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE                   AssertionError: assert 500 == 200#x1B[0m
#x1B[1m#x1B[31mE                    +  where 500 = <ClientResponse(http://localhost:58997/_pact/message) [500 Internal Server Error]>\n<CIMultiDictProxy('Access-Control-A...on; charset=utf-8', 'x-pact': 'Unexpected-Request', 'Content-Length': '633', 'Date': 'Wed, 19 Nov 2025 00:43:43 GMT')>\n.status#x1B[0m

#x1B[1m#x1B[31mtests/test_server.py#x1B[0m:69: AssertionError

To view more test analytics, go to the Test Analytics Dashboard
📋 Got 3 mins? Take this short survey to help us improve Test Analytics.

@renovate renovate bot force-pushed the renovate/mkdocs-material-9.x branch 2 times, most recently from f5a3737 to 678549c Compare November 19, 2025 00:19
@renovate renovate bot force-pushed the renovate/mkdocs-material-9.x branch from 678549c to 59ddd2f Compare November 19, 2025 00:30
@JP-Ellis JP-Ellis disabled auto-merge November 19, 2025 00:41
@JP-Ellis JP-Ellis merged commit 5a373fe into main Nov 19, 2025
144 of 153 checks passed
@JP-Ellis JP-Ellis deleted the renovate/mkdocs-material-9.x branch November 19, 2025 01:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants