Skip to main content

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

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.

Release files for pytest-marker-bugzilla 0.9.5

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-marker-bugzilla 0.9.5
File Size Uploaded
pytest_marker_bugzilla-0.9.5.tar.gz 10.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pytest-marker-bugzilla 0.9.5
File Interpreter ABI Platform
pytest_marker_bugzilla-0.9.5-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size: 18.3 kB

Release files / pytest_marker_bugzilla-0.9.5.tar.gz

Download URL pytest_marker_bugzilla-0.9.5.tar.gz
Size 10.8 kB
Tags Source
SHA-256 checksum
How to use checksums
52f9c3bd51d7b9daa0d7f577789363bfdaa2ba35e588537f72281234811d53f9
BLAKE2b-256 checksum
How to use checksums
003cc9266cd46813a4cf4e32036426e52067236c67e510902ea4a12fb590bac3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.6

Release files / pytest_marker_bugzilla-0.9.5-py2.py3-none-any.whl

Download URL pytest_marker_bugzilla-0.9.5-py2.py3-none-any.whl
Size 7.5 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
ffb8899a715c672fd782af11fe0b489899f8aeea0cbb0c42279aad0cb9a6f3fd
BLAKE2b-256 checksum
How to use checksums
e4f17aa5c2c5d1505ca493d7c0a06cb7b9af064b666aa3ee5394230d2d42442c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.6
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