Skip to content

Infinity helps debugging the most sophisticated bugs.

Notifications You must be signed in to change notification settings

yuvalino/pytest-infinity

Repository files navigation

pytest-infinity

pytest-infinity is a wrapper for pytest, designed to easily command a test session running infinitely using xdist --dist loadgroup option.

Below is a demonstration for running tests with an "android" and "ios" group:

anim

Infinity was created for complex low-level test suites in mind for hunting down non-deterministic bugs (running high-level or native tests on multiple mobile devices simultaneously).

These are the main principles of infinity:

  • Ease-of-use.
  • Test history.
  • Infinitely-long sessions.

Infinity uses the following pytest plugins for its functionality:

Infinity uses the following plugins for its UI:

  • textual - create UI apps in terminal.
  • rich - rich text for terminals.

PLEASE REPORT BUGS!

Usage

Just run infinity <pytest args> ...

The wrapper adds the following flags implicitly:

$ pytest --color yes -v 
         -n auto --dist loadgroup
         --xstress
         --publish http://localhost:... <impl defined>
         --pubdir <impl defined>
        
         <pytest args> ...

Your pytest args are appended to the end of the cmdline.

Functions

There are a few useful tabs implemented into infinity:

RUN

See a matrix of groups X tests updated live with [pass][fail][skip] text.

run

OUTPUT

Raw stdout output of pytest.

output

LOG

Internal log of infinity, with the output directory printed first.

log

FILES

Navigatable filesystem with test run info.

files

About

Infinity helps debugging the most sophisticated bugs.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages