Skip to content

offbyone/pytest-plugins

This branch is 4 commits ahead of, 15 commits behind man-group/pytest-plugins:add-new-py-versions.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ea03406 · Oct 18, 2024
Oct 17, 2024
Dec 8, 2019
Oct 17, 2024
Oct 17, 2024
Oct 17, 2024
Oct 17, 2024
Oct 18, 2024
Oct 17, 2024
Oct 17, 2024
Oct 17, 2024
Oct 17, 2024
Oct 17, 2024
Oct 17, 2024
Oct 18, 2024
Oct 17, 2024
Oct 27, 2016
Jan 8, 2019
Jan 8, 2019
Dec 8, 2019
Oct 17, 2024
Oct 20, 2016
Jan 20, 2018
Aug 29, 2024
Apr 8, 2022
Oct 17, 2024
Nov 19, 2021
Oct 17, 2024
Dec 8, 2019
Oct 17, 2024
Oct 18, 2024
Oct 18, 2024

Repository files navigation

A goody-bag of nifty plugins for pytest

OS Build Coverage
Linux CircleCI (Linux) Coverage Status
Windows Travic CI (Windows)
Plugin Description Supported OS
pytest-server-fixtures Extensible server-running framework with a suite of well-known databases and webservices included Linux
pytest-shutil Unix shell and environment management tools Linux
pytest-profiling Profiling plugin with tabular heat graph output and gprof support for C-Extensions Linux
pytest-devpi-server DevPI server fixture Linux
pytest-pyramid-server Pyramid server fixture Linux
pytest-webdriver Selenium webdriver fixture Linux
pytest-virtualenv Virtualenv fixture Linux Windows
pytest-qt-app PyQT application fixture Linux
pytest-listener TCP Listener/Reciever for testing remote systems Linux Windows
pytest-git Git repository fixture Linux Windows
pytest-svn SVN repository fixture Linux
pytest-fixture-config Configuration tools for Py.test fixtures Linux Windows
pytest-verbose-parametrize Makes py.test's parametrize output a little more verbose Linux

Developing these plugins

All of these plugins share setup code and configuration so there is a top-level Makefile to automate process of setting them up for test and development.

Pre-requisites

You have python installed on your path, preferably using a virtualenv

Makefile targets

To install all dependencies and set up all of the packages for development simply run:

    make develop

To install all the packages as wheel distributions:

    make install

To run all the tests:

    make test

Vagrant

Some of the plugins have complex dependencies, particularly pytest-server-fixtures. To make it easier to develop, there is a Vagrantfile which will setup a virtual machine with all the dependencies installed to run the tests.

To set up the environment in Vagrant (requires virtualbox) and run the tests:

    $ vagrant up
    $ vagrant ssh

    # ..... inside vagrant ....
    . venv/bin/activate
    cd src
    make develop
    make test

foreach.sh

To run a command in each of the package directories, use the foreach.sh script. This example will build all the wheel distributions:

    ./foreach.sh python setup.py bdist_wheel

Only-Changed mode

To run a command only on packages that have changed since the last tagged release, use --changed. This example will only upload packages that need releasing:

    ./foreach.sh python setup.py bdist_wheel upload

Quiet mode

To run a command with no extra output other than from what you run, use --quiet

    ./foreach.sh --quiet grep PY3

About

A grab-bag of nifty pytest plugins

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 95.7%
  • Shell 3.4%
  • Makefile 0.9%