pytest-dev / pytest-dev/pytest

implementation of pytest lastfailed usecases that don't prematurely remove tests from the failure set

Open
#1,248 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

topic: selection
Dominant language
Python
Stars
14.5k
Forks
3.4k
Avg merge
2d 9h
Merged PRs (30d)
35

Description

with the current ad hoc implementation its not possible to track all edge cases while remembering the last failure set over into the next iteration

for implementing lastfailed that does not subtract passing tests prematurely from the last failure set
it is necessary to spec out a exact and well defined behavior for the detail interactions between
lastfailed, xdist and sets of tests and failures

there are a few boundaries that create huge potential for edge-cases
the ones i'm aware of while creating the ticket are

  • current collection vs full collection
  • current selection
  • collector failure vs test failure
  • known set of tests vs actual set o f tests (currently untracked and preventing adding newly found tests to the set of tests to the set of tests to run)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by specifying the interactions among lastfailed, xdist, current versus full collection, current selection, collector failures, test failures, and known versus actual test sets. Done means the behavior is exact and well defined, including preserving failures across iterations without prematurely removing passing tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
testing
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.