• Stars
    star
    562
  • Rank 79,281 (Top 2 %)
  • Language
    Python
  • License
    MIT License
  • Created over 9 years ago
  • Updated 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A grab-bag of nifty pytest plugins

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

More Repositories

1

dtale

Visualizer for pandas data structures
TypeScript
4,687
star
2

arctic

High performance datastore for time series and tick data
Python
3,053
star
3

ArcticDB

ArcticDB is a high performance, serverless DataFrame database built for the Python Data Science ecosystem.
C++
1,480
star
4

notebooker

Productionise & schedule your Jupyter Notebooks as easily as you wrote them.
Python
856
star
5

PythonTrainingExercises

Code to exercise your Python knowledge.
Python
259
star
6

dapr-sidekick-dotnet

Dapr Sidekick for .NET - a lightweight lifetime management component for Dapr
C#
175
star
7

mdf

Data-flow programming toolkit for Python
Python
167
star
8

PyBloqs

A flexible framework for visualizing data and automated creation of reports.
Python
151
star
9

page-objects

Page Objects web testing pattern for Python
Python
126
star
10

pynorama

Natural Language Processing Visualization in Python
JavaScript
108
star
11

partialtesting

Run only the tests that are relevant for your changes
Python
73
star
12

jupyterlab-autoplot

Magical Plotting in JupyterLab
Python
65
star
13

okcli

An Oracle-DB command line client
Python
50
star
14

adaero

A platform for managing peer-to-peer feedback
Python
43
star
15

pkglib

Company-centric Python packaging and testing library
Python
39
star
16

openstack_load_leveller

Openstack Load Leveller / Load Balancer
Python
30
star
17

prometheus-flashblade-exporter

Export metrics from Pure Storage FlashBlade to Prometheus
Go
29
star
18

mockextras

Addon library for the python Mock library
Python
25
star
19

hubot-servicenow-tickets

a servicenow plugin for hubot
JavaScript
19
star
20

jenkins-blueprint-plugin

Build Jenkins projects according to a .jenkins.yml file in the repository.
Java
17
star
21

sparrow

C++20 idiomatic APIs for the Apache Arrow Columnar Format
C++
15
star
22

ftp-coredump

FTP core dump script and related Ansible roles
Shell
13
star
23

servicenow-lite

utility library for interacting with servicenow
JavaScript
11
star
24

hiveminder

Python
8
star
25

hexplode

Python
8
star
26

microbit

Information and examples about the BBC micro:bit
Python
5
star
27

pydata2022

3
star