Skip to content

coverage and our self-tests #4261

Open
Open
@Zac-HD

Description

@Zac-HD

Hypothesis requires our self-test suite to maintain 100% branch coverage of Hypothesis, after various exclude-patterns are applied, specifically from the coverage tox task which runs most of our tests under CPython 3.10 and has historically been separated out for performance reasons.

The excluded branches are a combination of version-specific code, integration with optional dependencies, cpython/pypy differences, and occasionally tricky code that just isn't worth the trouble to cover. But... we could combine coverage across CI tasks now, and from Python 3.12 onwards the sys.monitoring functionality allows for very low-overhead coverage collection.

So what if we took advantage of that?

  • enable coverage in all tasks that are (a) running in CI, and (b) have sys.monitoring for performance
  • add the aggregation job, and delete our current coverage job.
  • make whatever reductions to our nocover pragmas this enables

Metadata

Metadata

Assignees

No one assigned

    Labels

    tests/build/CIabout testing or deployment *of* Hypothesis

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions