This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

Git repository fixture for py.test

Project Description
# Pytest GIT Fixture

Creates an empty Git repository for testing that cleans up after itself on teardown.

## Installation

Install using your favourite package installer:
```bash
pip install pytest-git
# or
easy_install pytest-git
```

Enable the fixture explicitly in your tests or conftest.py (not required when using setuptools entry points):

```python
pytest_plugins = ['pytest_git']
```

## Usage

This plugin is a thin wrapper around the excellent GitPython library (see http://gitpython.readthedocs.org/en/stable/).
Here's a noddy test case that shows it working:

```python
def test_git_repo(git_repo):
# The fixture derives from `workspace` in `pytest-shutil`, so they contain
# a handle to the path.py path object (see https://pythonhosted.org/path.py)
path = git_repo.workspace
file = path / 'hello.txt'
file.write_text('hello world!')

# We can run commands relative to the working directory
git_repo.run('git add hello.txt')

# It's better to use the GitPython api directly - the 'api' attribute is
# a handle to the repository object.
git_repo.api.index.commit("Initial commit")

# The fixture has a URI property you can use in downstream systems
assert git_repo.uri.startswith('file://')
```

## Changelog

### 1.2.2 (2016-10-2r70)
* Python 3 compatibility across most of the modules
* Fixed deprecated Path.py imports (Thanks to Bryan Moscon)
* Fixed deprecated multicall in pytest-profiling (Thanks to Paul van der Linden for PR)
* Added devpi-server fixture to create an index per test function
* Added missing licence file
* Split up httpd server fixture config so child classes can override loaded modules easier
* Added 'preserve_sys_path' argument to TestServer base class which exports the current python sys.path to subprocesses.
* Updated httpd, redis and jenkins runtime args and paths to current Ubuntu spec
* Ignore errors when tearing down workspaces to avoid race conditions in 'shutil.rmtree' implementation

### 1.2.1 (2016-3-1)
* Fixed pytest-verbose-parametrize for latest version of py.test

### 1.2.0 (2016-2-19)
* New plugin: git repository fixture

### 1.1.1 (2016-2-16)
* pytest-profiling improvement: escape illegal characters in .prof files (Thanks to Aarni Koskela for the PR)

### 1.1.0 (2016-2-15)

* New plugin: devpi server fixture
* pytest-profiling improvement: overly-long .prof files are saved as the short hash of the test name (Thanks to Vladimir Lagunov for PR)
* Changed default behavior of workspace.run() to not use a subshell for security reasons
* Corrected virtualenv.run() method to handle arguments the same as the parent method workspace.run()
* Removed deprecated '--distribute' from virtualenv args

### 1.0.1 (2015-12-23)

* Packaging bugfix

### 1.0.0 (2015-12-21)

* Initial public release
Release History

Release History

This version
History Node

1.2.2

History Node

1.2.0

History Node

1.1.2

Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
pytest_git-1.2.2-py2.7.egg (3.4 kB) Copy SHA256 Checksum SHA256 2.7 Egg Oct 27, 2016
pytest_git-1.2.2-py2-none-any.whl (5.8 kB) Copy SHA256 Checksum SHA256 2.7 Wheel Oct 27, 2016
pytest-git-1.2.2.tar.gz (4.3 kB) Copy SHA256 Checksum SHA256 Source Oct 27, 2016

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting