Skip to main content

Subprocess Mock

Mock objects for the standard library’s subprocess module

pip install subprocess-mock

Installation in a virtual environment is recommended.

Example Usage

Use the functions defined in the subprocess_mock.functions module (and also exposed in the subprocess_mock namespace) to patch subprocess module functions in unit tests.

>>> import pathlib
>>> import subprocess
>>> import subprocess_mock
>>> from unittest.mock import patch
>>>
>>> new_file = pathlib.Path("testfile.txt")
>>> new_file.exists()
False
>>> # Test: call a process with a mock.patched subprocess.run
>>> # No Process is called,
>>> # but a subprocess.CompletedProcess instance is returned.
>>>
>>> with patch("subprocess.run", new=subprocess_mock.run):
...     run_result = subprocess.run(["touch", str(new_file)])
...
>>> run_result
CompletedProcess(args=['touch', 'testfile.txt'], returncode=0)
>>> new_file.exists()
False
>>>
>>> # Counter-test: call the process without patching subprocess.run
>>> # The process is called with normal effects.
>>>
>>> run_result = subprocess.run(["touch", str(new_file)])
>>> new_file.exists()
True
>>>

Further reading

Please see the documentation at https://blackstream-x.gitlab.io/subprocess-mock for detailed usage information.

If you found a bug or have a feature suggestion, please open an issue here

Download files

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

Source Distribution

subprocess_mock-0.4.5.tar.gz (28.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

subprocess_mock-0.4.5-py3-none-any.whl (28.9 kB view details)

Uploaded Python 3

File details

Details for the file subprocess_mock-0.4.5.tar.gz.

File metadata

  • Download URL: subprocess_mock-0.4.5.tar.gz
  • Upload date:
  • Size: 28.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.3

File hashes

Hashes for subprocess_mock-0.4.5.tar.gz
Algorithm Hash digest
SHA256 fb5b0929704c213e1e888fa7322bae6357f5c2e4c766fc438c3846d6d2034046
MD5 390ee79409bb4b163bc718fc64dbf959
BLAKE2b-256 6e286767d9e9d135f7e657661d42c655484d743f4d5bbad3e4104c9daa27313a

See more details on using hashes here.

File details

Details for the file subprocess_mock-0.4.5-py3-none-any.whl.

File metadata

File hashes

Hashes for subprocess_mock-0.4.5-py3-none-any.whl
Algorithm Hash digest
SHA256 fd360d08b91a3783d92a6b071982b5a97a6a4fc4c51ff5747767d8e88feeb400
MD5 521308ee6f2672103edea6fe231feb6e
BLAKE2b-256 905aea7c98eff0a0319b2583bb2f352744c9cc33454b9e76a71ab5ca4c98805c

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.4.5 This release

2 files

0.4.4

2 files

0.4.3

2 files

0.4.2

2 files

0.4.1

2 files

0.4.0

2 files

0.3.1

2 files

0.3.0

2 files

0.2.0

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page