A goodie-bag of unix shell and environment tools for py.test
Project description
This library is a goodie-bag of Unix shell and environment management tools for automated tests. A summary of the available functions is below, look at the source for the full listing.
Installation
Install using your favourite package manager:
.. code:: bash
pip install pytest-shutil # or.. easy_install pytest-shutil
Workspace Fixture
The workspace fixture is simply a temporary directory at function-scope with a few bells and whistles:
.. code:: python
# Enable the fixture explicitly in your tests or conftest.py (not required when using setuptools entry points) pytest_plugins = [‘pytest_shutil’]
- def test_something(workspace):
# Workspaces contain a handle to the path.py path object (see https://pythonhosted.org/path.py) path = workspace.workspace script = path / ‘hello.sh’ script.write_text(‘#!/bin/shn echo hello world!’)
# There is a ‘run’ method to execute things relative to the workspace root workspace.run(‘hello.sh’)
pytest_shutil.env: Shell helpers
function |
description |
---|---|
set_env |
contextmanager to set env vars |
unset_env |
contextmanager to unset env vars |
no_env |
contextmanager to unset a single env var |
no_cov |
contextmanager to disable coverage in subprocesses |
pytest_shutil.cmdline: Command-line helpers
function |
description |
---|---|
umask |
contextmanager to set the umask |
chdir |
contextmanager to change to a directory |
TempDir |
contextmanager for a temporary directory |
PrettyFormatter |
simple text formatter for drawing title, paragrahs, hrs. |
copy_files |
copy all files from one directory to another |
getch |
cross-platform read of a single character from the screen |
which |
analoge of unix which |
get_real_python_executable |
find our system Python, useful when running under virtualenv |
pytest_shutil.run: Running things in subprocesses
function |
description |
---|---|
run |
run a command, with options for capturing output, checking return codes. |
run_as_main |
run a function as if it was the system entry point |
run_module_as_main |
run a module as if it was the system entry point |
run_in_subprocess |
run a function in a subprocess |
run_with_coverage |
run a command with coverage enabled |
Changelog
1.0 (2015-12-21)
Initial public release
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for pytest_shutil-1.0.0-py2-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e6062c1b5f3cf519003fb5e2827dedb06c5e12cb4c8633d01754cf612e4886c5 |
|
MD5 | 28420eac95f03222d3bfbfb05fc054c1 |
|
BLAKE2b-256 | 7fcdac5428df218ee08fb71f10e56cf7f1441f8c2e0ed54475bbc9029fcbc6cc |