About Anaconda Help Download Anaconda

jlou / packages / pytest-shutil 1.2.11

A goodie-bag of unix shell and environment tools for py.test

Installers

  • linux-64 v1.2.8
  • osx-64 v1.2.11

conda install

To install this package run one of the following:
conda install jlou::pytest-shutil

Description

pytest-shutil

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::

    pip install pytest-shutil
    #  or..
    easy_install pytest-shutil

(not required when using setuptools entry points) pytestplugins = ['pytestshutil']

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/sh\n 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 | --------- | ----------- | setenv | contextmanager to set env vars | unsetenv | contextmanager to unset env vars | noenv | contextmanager to unset a single env var | nocov | 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. | copyfiles | copy all files from one directory to another | getch | cross-platform read of a single character from the screen | which | analoge of unix which | getrealpythonexecutable | 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. | runasmain | run a function as if it was the system entry point | runmoduleasmain | run a module as if it was the system entry point | runinsubprocess | run a function in a subprocess | runwith_coverage | run a command with coverage enabled

Changelog

1.2.11 (2017-7-21)

  • Fix for OSX binding to illegal local IP range (Thanks to Gavin Bisesi)
  • Setup and Py3k fixes for pytest-profiling (Thanks to xoviat)
  • We no longer try and bind port 5000 when reserving a local IP host, as someone could have bound it to 0.0.0.0
  • Fix for #46 sourcing gprof2dot when the local venv has not been activated

1.2.10 (2017-2-23)

  • Handle custom Pytest test items in pytest-webdriver

1.2.9 (2017-2-23)

  • Add username into mongo server fixture tempdir path to stop collisions on shared multiuser filesystems

1.2.8 (2017-2-21)

  • Return function results in shutil.run.runasmain

1.2.7 (2017-2-20)

  • More handling for older versions of path.py
  • Allow virtualenv argument passing in pytest-virtualenv

1.2.6 (2017-2-16 )

  • Updated devpi server server setup for devpi-server >= 2.0
  • Improvements for random port picking
  • HTTPD server now binds to 0.0.0.0 by default to aid Selenium-style testing
  • Updated mongodb server args for mongodb >= 3.2
  • Corrections for mongodb fixture config and improve startup logic
  • Added module-scoped mongodb fixture
  • Handling for older versions of path.py
  • Fix for #40 where tests that chdir break pytest-profiling

1.2.5 (2016-12-09)

  • Improvements for server runner host and port generation, now supports random local IPs
  • Bugfix for RethinkDB fixture config

1.2.4 (2016-11-14)

  • Bugfix for pymongo extra dependency
  • Windows compatibility fix for pytest-virtualenv (Thanks to Jean-Christophe Fillion-Robin for PR)
  • Fix symlink handling for pytest-shutil.cmdline.getrealpython_executable

1.2.3 (2016-11-7)

  • Improve resiliency of Mongo fixture startup checks

1.2.2 (2016-10-27)

  • 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 'preservesyspath' 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

© 2024 Anaconda, Inc. All Rights Reserved. (v4.0.5) Legal | Privacy Policy