Metadata-Version: 2.1
Name: mutation
Version: 0.4.3
Summary: test mutation for pytest.
Home-page: https://git.sr.ht/~amirouche/mutation
License: MIT
Author: Amirouche
Author-email: amirouche@hyper.dev
Requires-Python: >=3.7,<4.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Requires-Dist: Pygments (>=2.7.4,<3.0.0)
Requires-Dist: aiostream (>=0.4.1,<0.5.0)
Requires-Dist: astunparse (>=1.6.3,<2.0.0)
Requires-Dist: docopt (>=0.6.2,<0.7.0)
Requires-Dist: humanize (>=3.2.0,<4.0.0)
Requires-Dist: lexode (<1.0.0)
Requires-Dist: loguru (>=0.5.3,<0.6.0)
Requires-Dist: lsm-db (>=0.6.4,<0.7.0)
Requires-Dist: parso (>=0.8.1,<0.9.0)
Requires-Dist: pathlib3x (>=1.3.9,<2.0.0)
Requires-Dist: pytest (>=6.2.1,<7.0.0)
Requires-Dist: pytest-cov (>=2.11.1,<3.0.0)
Requires-Dist: pytest-randomly (>=3.5.0,<4.0.0)
Requires-Dist: pytest-xdist (>=2.2.0,<3.0.0)
Requires-Dist: python-ulid (>=1.0.2,<2.0.0)
Requires-Dist: termcolor (>=1.1.0,<2.0.0)
Requires-Dist: tqdm (>=4.56.0,<5.0.0)
Requires-Dist: zstandard[cffi] (>=0.15.1,<0.16.0)
Project-URL: Repository, https://git.sr.ht/~amirouche/mutation
Description-Content-Type: text/markdown

# mutation

**beta**

`mutation` check that tests are robust.

```sh
pip install mutation
mutation play tests.py --include="src/*.py" --exclude="tests.py"
mutation replay
```

Both `--include` and `--exclude` are optional but highly recommended
to avoid the production of useless mutations. `mutation` will only
mutate code that has test coverage, hence it works better with a high
coverage.

`mutation` will detect whether the tests can be run in parallel. It is
recommended to make the test suite work in parallel to speed up the
work of `mutation`.

Also, it is better to work with a random seed, otherwise add the
option `--randomly-seed=n` that works.

