Skip to content

coverage feature increases test runtime by factor 3 #879

@MarkusH

Description

@MarkusH

Hi,

The 3.29.0 release added support to use coverage for its example optimization. According to the release notes, "Tests that are already running Hypothesis under coverage will likely get faster.".

We were and are running this command from within a tox environment, testing a Django project:

{envbindir}/coverage run project/manage.py test --setting project.test_settings -v 2 {posargs:project tests}

When updating to hypothesis >=3.29.0 our test runtime increases from around 10 minutes to 35 minutes. We did not set the use_coverage flag and don't have any other hypothesis settings.

The culprit seems to be / could be that coverage all the sudden starts collecting stats for files in the .tox environment as well as in /opt/ (we're running on CircleCI), not just in the application code. Here's the [run] section from the .coveragerc file:

[run]
source =
        project
        tests
branch = True
omit =
        project/*/migrations/*

I'm happy to give further details, just not sure what's helpful right now.

Metadata

Metadata

Assignees

No one assigned

    Labels

    performancego faster! use less memory!

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions