py.test bugzilla integration plugin, using markers
Project description
Intro
=====
[PyTest][pytest] plugin for bugzilla integration. This plugin currently
assumes the following workflow:
* bug_status in ['NEW', 'ASSIGNED', 'ON_DEV'] means the bug is known
and is being worked on and therefore the test should be skipped and will be.
* bug_status not in ['NEW', 'ASSIGNED', 'ON_DEV'] means the bug is in a state
ready for QE and the test will be run and reported on.
Please feel free to contribute by forking and submitting pull requests or by
submitting feature requests or issues to [issues][githubissues]
Requires
========
* pytest >= 2.2.3
* python-bugzilla >= 0.6.2
* six
Installation
============
pip-python install pytest_marker_bugzilla
Usage
=====
1. Create a bugzilla.cfg in the root of your tests.
You can also put it under $HOME and /etc.
[DEFAULT]
bugzilla_url = https://bugzilla.fqdn/xmlrpc.cgi
# Username for authentication
bugzilla_username = USERNAME (or blank for public bugs)
# Password for authentication
bugzilla_password = PASSWORD (or blank for public bugs)
# Version of your product
bugzilla_version = X.Y (or blank if not relevant)
# Tuple of fixed_in and target_release attribute of bug
bugzilla_loose = (leave blank for default)
Options can be overridden with command line options.
py.test --help
2. Mark your tests with bugzilla marker and bug id(s).
@pytest.mark.bugzilla('bug_id', ...)
In order to skip the test, all of the specified bugs must lead to
skipping. Even just one unskipped means that the test will not be skipped.
3. Run py.test with bugzilla option to enable the plugin.
py.test --bugzilla
Conditional guards
------------------
The conditional guards, are functions which can xfail or skip the test when
condition is met.
@pytest.mark.bugzilla(1234, skip_when=lambda bug: bug.status == "POST")
@pytest.mark.bugzilla(
567, xfail_when=lambda bug, version: bug.fixed_in > version
)
The guard is a function, it will receive max. 2 parameters. It depends what
parameters you specify.
The parameters are:
* bug - specific BZ bug
* version - tested product version
Order or presence does not matter.
Test library
============
When you do changes please make sure that you pass current tests.
tox
Please also try to cover new features by writing new tests.
Enjoy.
[pytest]: http://pytest.org/latest/
[githubissues]: https://github.com/eanxgeek/pytest_marker_bugzilla/issues
=====
[PyTest][pytest] plugin for bugzilla integration. This plugin currently
assumes the following workflow:
* bug_status in ['NEW', 'ASSIGNED', 'ON_DEV'] means the bug is known
and is being worked on and therefore the test should be skipped and will be.
* bug_status not in ['NEW', 'ASSIGNED', 'ON_DEV'] means the bug is in a state
ready for QE and the test will be run and reported on.
Please feel free to contribute by forking and submitting pull requests or by
submitting feature requests or issues to [issues][githubissues]
Requires
========
* pytest >= 2.2.3
* python-bugzilla >= 0.6.2
* six
Installation
============
pip-python install pytest_marker_bugzilla
Usage
=====
1. Create a bugzilla.cfg in the root of your tests.
You can also put it under $HOME and /etc.
[DEFAULT]
bugzilla_url = https://bugzilla.fqdn/xmlrpc.cgi
# Username for authentication
bugzilla_username = USERNAME (or blank for public bugs)
# Password for authentication
bugzilla_password = PASSWORD (or blank for public bugs)
# Version of your product
bugzilla_version = X.Y (or blank if not relevant)
# Tuple of fixed_in and target_release attribute of bug
bugzilla_loose = (leave blank for default)
Options can be overridden with command line options.
py.test --help
2. Mark your tests with bugzilla marker and bug id(s).
@pytest.mark.bugzilla('bug_id', ...)
In order to skip the test, all of the specified bugs must lead to
skipping. Even just one unskipped means that the test will not be skipped.
3. Run py.test with bugzilla option to enable the plugin.
py.test --bugzilla
Conditional guards
------------------
The conditional guards, are functions which can xfail or skip the test when
condition is met.
@pytest.mark.bugzilla(1234, skip_when=lambda bug: bug.status == "POST")
@pytest.mark.bugzilla(
567, xfail_when=lambda bug, version: bug.fixed_in > version
)
The guard is a function, it will receive max. 2 parameters. It depends what
parameters you specify.
The parameters are:
* bug - specific BZ bug
* version - tested product version
Order or presence does not matter.
Test library
============
When you do changes please make sure that you pass current tests.
tox
Please also try to cover new features by writing new tests.
Enjoy.
[pytest]: http://pytest.org/latest/
[githubissues]: https://github.com/eanxgeek/pytest_marker_bugzilla/issues
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file pytest-marker-bugzilla-0.7.tar.gz
.
File metadata
- Download URL: pytest-marker-bugzilla-0.7.tar.gz
- Upload date:
- Size: 6.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 92ba16f8b911e1ad3c2e7aa4f2456ad6ca97a7575fa1830cd820c8ff8fee79bf |
|
MD5 | e992015fb9e36f92cbe3c3d6411b4fd8 |
|
BLAKE2b-256 | 53e634f9d8bd03aa0b3b1f41871da58c76c6bc31cd1022ec8592038cd93b0c9b |