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.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
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
File details
Details for the file pytest-shutil-1.1.1.tar.gz
.
File metadata
- Download URL: pytest-shutil-1.1.1.tar.gz
- Upload date:
- Size: 16.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bb3c4fc2dddaf70b38bd9bb7a710d07728fa14f88fbc89c2a07979b383ade5d4 |
|
MD5 | a525b40138e3b92c33a7cd6d1b2bda4e |
|
BLAKE2b-256 | 19ed3458c1e6d6ddefea4ac7d04f2a7bf1d24e8d5e66c3aa0ec883cd68c3fd19 |
Provenance
File details
Details for the file pytest_shutil-1.1.1-py2.7.egg
.
File metadata
- Download URL: pytest_shutil-1.1.1-py2.7.egg
- Upload date:
- Size: 11.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 05022d7d70c6974888348d1cfd0d156f86bfda37148c3f57d001365d73a4aaa3 |
|
MD5 | 0e04b13e41a020b51dadef53ae0924b3 |
|
BLAKE2b-256 | f92447c056802c1bb356143ba9ba679fc53a39134066a4b8793817fb0446c484 |
Provenance
File details
Details for the file pytest_shutil-1.1.1-py2-none-any.whl
.
File metadata
- Download URL: pytest_shutil-1.1.1-py2-none-any.whl
- Upload date:
- Size: 14.3 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8107dacdd4fc2b1cf8fafd3c4057e5d75d47f022c54b916b1ebf79cf05203529 |
|
MD5 | 59bc7db37f2977939cc5a01a6d3b0528 |
|
BLAKE2b-256 | e064b2d8e76bdcb71251dca42f7c4d615544b120cf11d157239dd3e5c2873d4f |