API Reference

fake_subprocess

The main entrypoint class for all fake_subprocess operations is the FakeProcess class. This class is instantiated and returned when the fake_subprocess fixture is being used.

class pytest_subprocess.core.FakeProcess

Main class responsible for process operations

allow_unregistered(allow)

Allow / block unregistered processes execution. When allowed, the real subprocesses will be called. Blocking will raise the exception.

Parameters

allow (bool) – decide whether the unregistered process shall be allowed

Return type

None

any

alias of pytest_subprocess.utils.Any

call_count(command)

Count how many times a certain command was called. Can be used together with fake_process.any().

Parameters

command (Union[Sequence[Union[str, Any]], str, Command]) – lookup command

Return type

int

Returns

number of times a command was called

classmethod context()

Return a new FakeProcess instance to use it as a context manager.

Return type

FakeProcess

keep_last_process(keep)

Keep last process definition from being removed. That can allow / block multiple execution of the same command.

Parameters

keep (bool) – decide whether last process shall be kept

Return type

None

pass_command(command, occurrences=1)

Allow to use a real subprocess together with faked ones.

Parameters
  • command (Union[Sequence[Union[str, Any]], str, Command]) – allow to execute the supplied command

  • occurrences (int) – allow multiple usages of the same command

Return type

None

register_subprocess(command, stdout=None, stderr=None, returncode=0, wait=None, callback=None, callback_kwargs=None, signal_callback=None, occurrences=1, stdin_callable=None)

Main method for registering the subprocess instances.

Parameters
  • command (Union[Sequence[Union[str, Any]], str, Command]) – register the command that will be faked

  • stdout (Union[str, bytes, None, Sequence[Union[bytes, str]]]) – value of the standard output

  • stderr (Union[str, bytes, None, Sequence[Union[bytes, str]]]) – value of the error output

  • returncode (int) – return code of the faked process

  • wait (Optional[float]) – artificially wait for the process to finish

  • callback (Optional[Callable]) – function that will be executed instead of the process

  • callback_kwargs (Optional[Dict[str, Any]]) – keyword arguments that will be passed into callback

  • occurrences (int) – allow multiple usages of the same command

  • stdin_callable (Optional[Callable]) – function that will interact with stdin

  • signal_callback (Optional[Callable]) –

Return type

None

any()

For a non-exact matching, you can use the Any() class that is available to use via fake_subprocess.any. This class can be used to replace a number of arguments that might occur,

class pytest_subprocess.utils.Any(*, min=None, max=None)

Wildcard definition class.

Parameters
  • min (Optional[int]) –

  • max (Optional[int]) –