All contributions are greatly appreciated!
Facilitating the work of potential contributors is recommended since it increases the likelihood of your issue being solved quickly. The few extra steps listed below will help clarify problems you might be facing:
- Include a minimal reproducible example when possible.
- Describe the expected behaviour and what actually happened including a full trace-back in case of exceptions.
- Make sure to list details about your environment, such as your platform, versions of pytest, pytest-xprocess and python release.
Also, it's important to check the current open issues for similar reports in order to avoid duplicates.
Fork pytest-xprocess to your GitHub account by clicking the Fork button.
Clone the main repository (not your fork) to your local machine.
$ git clone https://github.com/pytest-dev/pytest-xprocess $ cd pytest-xprocess
Add your fork as a remote to push your contributions.Replace
{username}
with your username.git remote add fork https://github.com/{username}/pytest-xprocess
Using Tox, create a virtual environment and install xprocess in editable mode with development dependencies.
$ tox -e dev $ source venv/bin/activate
Install pre-commit hooks
$ pre-commit install
Create a new branch to identify what feature you are working on.
$ git fetch origin $ git checkout -b your-branch-name origin/master
Make your changes
Include tests that cover any code changes you make and run them as described below.
Push your changes to your fork. create a pull request describing your changes.
$ git push --set-upstream fork your-branch-name
You can run the test suite for the current environment with
$ pytest
To run the full test suite for all supported python versions
$ tox
Obs. CI will run tox when you submit your pull request, so this is optional.
The docs can be built using tox
with the following command
$ tox -e docs
This will generated the documentation in html format and save everything inside docs/build
. To open it, just open file docs/build/index.html
using your browser.
To get a complete report of code sections not being touched by the
test suite run pytest
using coverage
.
$ coverage run -m pytest
$ coverage html
Open htmlcov/index.html
in your browser.
More about converage here.