Skip to main content

pytest-ekstazi

pytest-ekstazi is a plugin for pytest that selects the test cases that need to be run based on the Ekstazi algorithm.

license pyversion pypi

Requirements

You will need the following prerequisites in order to use pytest-ekstazi:

  • Python 3.7 or newer
  • Pytest 6.0.0 or newer

Installation

To install pytest-ekstazi:

pip install pytest-ekstazi

Selecting the test cases

Use the --ekstazi command line option to enable the plugin. For the first session the plugin is going to run the entire test suite and map the depedencies of each test function. The next executions, Ekstazi is going to check for each test function if their dependency files have changed. Just test cases with depedencies that have changed will run.

pytest --ekstazi .

For every run, the plugin saves/updates the dependency tree, last test results and dependency hashes in a configuration file. By default the configuration file is saved in working directory under name ekstazi.json. You can change the configuration file location by doing:

pytest --ekstazi --ekstazi-file path/to/bar.json

Run the plugin always in the same directory or pass full path of the configuration file, otherwise the plugin will not be able to select the test case based on previous result.

Development

To setup the development environment, first make sure Python >= 3.7 is installed in your machine. So clone the repo:

git clone https://github.com/Igorxp5/pytest-ekstazi.git

Open the project directory and install the plugin in editable-mode:

pip install -e .

Credits

Ekstazi is Regression Test Selection algorithm created by Milos Gligoric, Lamyaa Eloussi, and Darko Marinov. Check out the their research paper.

Release files for pytest-ekstazi 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pytest-ekstazi 1.0.0
File Size Uploaded
pytest-ekstazi-1.0.0.tar.gz 6.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pytest-ekstazi 1.0.0
File Interpreter ABI Platform
pytest_ekstazi-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 14.5 kB

Release files / pytest-ekstazi-1.0.0.tar.gz

Download URL pytest-ekstazi-1.0.0.tar.gz
Size 6.8 kB
Tags Source
SHA-256 checksum
How to use checksums
8dfe6aa36889dd696cf267e18005e2480f3c593e87ac7a956bc7f445ec3330fd
BLAKE2b-256 checksum
How to use checksums
88999b2320b603b6d64590f9798c81ea1e2a89dbf3412aa376be25d8686425c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.10.6

Release files / pytest_ekstazi-1.0.0-py3-none-any.whl

Download URL pytest_ekstazi-1.0.0-py3-none-any.whl
Size 7.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6583de075851404673f3bcdcfabd944252e8b4722ed538adeec5b0f8ad201985
BLAKE2b-256 checksum
How to use checksums
1d135b7a272a603081477d28607826c66efd2eb94521931fd9b51f1965ca4b51
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.10.6

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page