Skip to content

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Jun 23, 2025

Bumps pytest from 7.4.4 to 8.4.1.

Release notes

Sourced from pytest's releases.

8.4.1

pytest 8.4.1 (2025-06-17)

Bug fixes

  • #13461: Corrected _pytest.terminal.TerminalReporter.isatty to support being called as a method. Before it was just a boolean which could break correct code when using -o log_cli=true).

  • #13477: Reintroduced pytest.PytestReturnNotNoneWarning{.interpreted-text role="class"} which was removed by accident in pytest [8.4]{.title-ref}.

    This warning is raised when a test functions returns a value other than None, which is often a mistake made by beginners.

    See return-not-none{.interpreted-text role="ref"} for more information.

  • #13497: Fixed compatibility with Twisted 25+.

Improved documentation

  • #13492: Fixed outdated warning about faulthandler not working on Windows.

8.4.0

pytest 8.4.0 (2025-06-02)

Removals and backward incompatible breaking changes

  • #11372: Async tests will now fail, instead of warning+skipping, if you don't have any suitable plugin installed.

  • #12346: Tests will now fail, instead of raising a warning, if they return any value other than None.

  • #12874: We dropped support for Python 3.8 following its end of life (2024-10-07).

  • #12960: Test functions containing a yield now cause an explicit error. They have not been run since pytest 4.0, and were previously marked as an expected failure and deprecation warning.

    See the docs <yield tests deprecated>{.interpreted-text role="ref"} for more information.

Deprecations (removal in next major release)

  • #10839: Requesting an asynchronous fixture without a [pytest_fixture_setup]{.title-ref} hook that resolves it will now give a DeprecationWarning. This most commonly happens if a sync test requests an async fixture. This should have no effect on a majority of users with async tests or fixtures using async pytest plugins, but may affect non-standard hook setups or autouse=True. For guidance on how to work around this warning see sync-test-async-fixture{.interpreted-text role="ref"}.

New features

  • #11538: Added pytest.RaisesGroup{.interpreted-text role="class"} as an equivalent to pytest.raises{.interpreted-text role="func"} for expecting ExceptionGroup{.interpreted-text role="exc"}. Also adds pytest.RaisesExc{.interpreted-text role="class"} which is now the logic behind pytest.raises{.interpreted-text role="func"} and used as parameter to pytest.RaisesGroup{.interpreted-text role="class"}. RaisesGroup includes the ability to specify multiple different expected exceptions, the structure of nested exception groups, and flags for emulating except* <except_star>{.interpreted-text role="ref"}. See assert-matching-exception-groups{.interpreted-text role="ref"} and docstrings for more information.

  • #12081: Added capteesys{.interpreted-text role="fixture"} to capture AND pass output to next handler set by --capture=.

  • #12504: pytest.mark.xfail{.interpreted-text role="func"} now accepts pytest.RaisesGroup{.interpreted-text role="class"} for the raises parameter when you expect an exception group. You can also pass a pytest.RaisesExc{.interpreted-text role="class"} if you e.g. want to make use of the check parameter.

  • #12713: New [--force-short-summary]{.title-ref} option to force condensed summary output regardless of verbosity level.

... (truncated)

Commits

Dependabot compatibility score

You can trigger a rebase of this PR 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)

Note
Automatic rebases have been disabled on this pull request as it has been open for over 30 days.

@dependabot dependabot bot requested a review from danvatca June 23, 2025 11:04
@dependabot @github
Copy link
Contributor Author

dependabot bot commented on behalf of github Jun 23, 2025

The reviewers field in the dependabot.yml file will be removed soon. Please use the code owners file to specify reviewers for Dependabot PRs. For more information, see this blog post.

@dependabot dependabot bot added dependencies Pull requests that update a dependency file python Pull requests that update python code labels Jun 23, 2025
@dependabot dependabot bot force-pushed the dependabot/pip/pytest-8.4.1 branch from 618060d to 22a09fe Compare June 24, 2025 14:49
@codecov
Copy link

codecov bot commented Jun 24, 2025

❌ 1 Tests Failed:

Tests completed Failed Passed Skipped
446 1 445 0
View the top 1 failed test(s) by shortest run time
tests/integration/test_doorman_docs_integration.py::TestDoormanDocsIntegration::test_doorman_docs_with_general_docs
Stack Traces | 0.176s run time
self = <tests.integration.test_doorman_docs_integration.TestDoormanDocsIntegration object at 0x7fbb6a7324e0>
temp_docs_dir = PosixPath('/tmp/tmpbybyg4no')

    def test_doorman_docs_with_general_docs(self, temp_docs_dir: Any) -> None:
        """Test that general docs are properly loaded and available in the loader."""
        # The temp_docs_dir should already include general_docs.md from the fixture
        loader = MarkdownDocumentationLoader(docs_directory=str(temp_docs_dir), recursive=True, cache_enabled=False)
    
        documentation = loader.load_documentation()
    
        # Should have endpoints
        assert len(documentation.endpoints) > 0
    
        print("\n#x1F4C4 General Docs Integration Test:")
        print("   Testing general docs loading functionality")
    
        # Check that general docs are loaded into the loader's _general_docs_content
        assert hasattr(loader, "_general_docs_content"), "Loader should have _general_docs_content attribute"
        general_docs_content = loader._general_docs_content
        assert general_docs_content is not None, "General docs content should be loaded"
    
        print(f"   General docs content length: {len(general_docs_content)} characters")
    
        # Check that general docs content is loaded correctly
        # Based on the general_docs.md fixture content
        general_docs_indicators = [
            "SynetoOS Authentication Service",
            "centralized authentication and authorization",
            "Quick Start",
            "Supported Authentication Methods",
            "Session Cookie Authentication",
            "Bearer Token Authentication",
            "API Key Authentication",
            "Error Handling",
        ]
    
        found_indicators = []
        for indicator in general_docs_indicators:
            if indicator in general_docs_content:
                found_indicators.append(indicator)
    
        print(f"   Found {len(found_indicators)}/{len(general_docs_indicators)} general docs indicators")
        for indicator in found_indicators:
            print(f"     ✓ {indicator}")
    
        # Should have at least some general docs content
        assert len(found_indicators) > 0, "Should load general documentation content"
    
        # Find a specific endpoint to test that it does NOT include general docs
        session_post = next(
            (ep for ep in documentation.endpoints if ep.path == "/v1/session" and ep.method == HTTPMethod.POST), None
        )
    
        if session_post:
            description = session_post.description or ""
            print(f"   Endpoint description length: {len(description)} characters")
    
            # Should have endpoint-specific content
            endpoint_indicators = [
                "Login with username and password",
                "Request Examples",
                "POST /v1/session",
                "Login with PIN",
                "Verify OTP code",
                "support access",
            ]
    
            found_endpoint_indicators = []
            for indicator in endpoint_indicators:
                if indicator in description:
                    found_endpoint_indicators.append(indicator)
    
            print(f"   Found {len(found_endpoint_indicators)}/{len(endpoint_indicators)} endpoint-specific indicators")
            for indicator in found_endpoint_indicators:
                print(f"     ✓ {indicator}")
    
            # Should have endpoint-specific content
>           assert len(found_endpoint_indicators) > 0, "Should include endpoint-specific content"
E           AssertionError: Should include endpoint-specific content
E           assert 0 > 0
E            +  where 0 = len([])

tests/integration/test_doorman_docs_integration.py:430: 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.

@dependabot dependabot bot force-pushed the dependabot/pip/pytest-8.4.1 branch 2 times, most recently from 36a9c14 to 914241a Compare June 30, 2025 12:48
Bumps [pytest](https://github.com/pytest-dev/pytest) from 7.4.4 to 8.4.1.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](pytest-dev/pytest@7.4.4...8.4.1)

---
updated-dependencies:
- dependency-name: pytest
  dependency-version: 8.4.1
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot force-pushed the dependabot/pip/pytest-8.4.1 branch from 914241a to 9444acf Compare July 14, 2025 12:36
@dependabot @github
Copy link
Contributor Author

dependabot bot commented on behalf of github Sep 8, 2025

Superseded by #49.

@dependabot dependabot bot closed this Sep 8, 2025
@dependabot dependabot bot deleted the dependabot/pip/pytest-8.4.1 branch September 8, 2025 09:45
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 python Pull requests that update python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants