/pytest-zigzag

Primary LanguagePythonApache License 2.0Apache-2.0

pytest-zigzag

See Build Status on Travis CI

Extend py.test for RPC OpenStack testing.

Quick Start Guide

  1. You can install "pytest-zigzag" via pip from PyPI

    $ pip install pytest-zigzag
    
  2. Or you can install "pytest-zigzag" via pip from disk (assumes you're in the root of the repo):

    $ pip install -e .
    

Usage

Once installed the plug-in will automatically be loaded by all py.test test runs executed in the Python environment in which the pytest-zigzag was installed.

Features

JUnitXML RPC Specific Properties

If a user executes py.test tests with the --junitxml and with this plug-in installed, the resulting XML log file will contain a test suite properties element. The properties element will contain information gathered about the test run fetched from the local environment.

Configuration

You can supply a json config to this plugin containing a dictionary. Each key / value will become a property name and value on the test suite node of the resulting xml. There is one required config: pytest_zigzag_env_vars. This should be a json object where the keys are the environment variable names to be collected, if you set value to a string that value will be used. If the value is null it will be pulled from the environment.

The location of the config file can be specified in two ways:

  1. In a pytest ini file:

    [pytest]
    pytest-zigzag-config=/path/to/config/file
    
  2. Explicitly on the command line:

    pytest /path/to/test_test.py --pytest-zigzag-config=/path/to/config/file
    

Any property defined in the config file can be overriden by creating an environment variable of the same name. see this config_property_overrides.md

Contributing

See CONTRIBUTING.rst for more details on developing for the "pytest-zigzag" project.

Release Process

See release_process.rst for information on the release process for 'pytest-zigzag'

Credits

This Pytest plugin was generated with Cookiecutter along with @hackebrot's Cookiecutter-pytest-plugin template.