Changelog¶
0.18.0 (UNRELEASED)¶
ProcessStarter
now has attr:terminate_on_interrupt. This flag will make xprocess attempt to terminate and clean up all started process resources upon interruptions during pytest runs (CTRL+C, SIGINT and internal errors) when set to True. It will default to False, so if the described behaviour is desired the flag must be explicitly set True.Add a new popen_kwargs variable to ProcessStarter, this variable can be used for passing keyword values to the subprocess.Popen constructor, giving the user more control over the initialized process.
0.17.1 (2020-02-28)¶
Fix ResourceWarning in
XProcess.ensure()
caused by not properly waiting on process exit and leaked File handles
0.17.0 (2020-11-26)¶
ProcessStarter
now hasstartup_check()
. This method can be optionaly overridden and will be called upon to check process responsiveness afterProcessStarter.pattern
is matched. By default,XProcess.ensure()
will only attempt to matchProcessStarter.pattern
when starting a process, if matched, xprocess will consider the process as ready to answer queries. Ifstartup_check()
is provided though, its return value will also be considered to determine if the process has been successfully started. Ifstartup_check()
returns True afterProcessStarter.pattern
has been matched,XProcess.ensure()
will return sucessfully. In contrast, ifstartup_check()
does not return True before timing out,XProcess.ensure()
will raise a TimeoutError exception.Remove deprecated
xprocess.CompatStarter()
0.16.0 (2020-10-29)¶
ProcessStarter
now has a new timeout class variable optionaly overridden to define the maximum timexprocess.ensure()
should wait for process output when trying to matchProcessStarter.pattern
. Defaults to 120 seconds.The number of lines in the process logfile watched for
ProcessStarter.pattern
is now configurable and can be changed by settingProcessStarter.max_read_lines
to the desired value. Defaults to 50 lines.Make
XProcessInfo.isrunning()
ignore zombie processes by default. Passignore_zombies=False
to get the previous behavior, which was to consider zombie processes as running.
0.15.0 (2020-10-03)¶
pytest-xprocess now uses a sub-directory of .pytest_cache to store process related files.
Drop support for Python 2.7
Fixed bug when non-ascii characters were written to stdout by external process
Removed deprecated
XProcessInfo.kill()
0.14.0 (2020-09-24)¶
Now
XProcessInfo.terminate
will by default also terminate the entire process tree. This is safer as there’s no risk of leaving lingering processes behind. If for some reason you need the previous behavior of only terminating the root process, pass`kill_proc_tree=False
toXProcessInfo.terminate
.
0.13.1 (2020-01-29)¶
Drop support for Python 2.6 and 3.4.
Ignore empty lines in log files when looking for the pattern that indicates a process has started.
0.13.0 (UNRELEASED)¶
Never released due to deploy issues.
0.12.1 (2017-06-07)¶
Fixed example in README.md
0.12.0 (2017-06-06)¶
#3:
XProcess.ensure()
now accepts preferably a ProcessStarter subclass to define and customize the process startup behavior. Passing a simple function is deprecated and will be removed in a future release.
0.11.1 (2017-05-31)¶
Restored
XProcessInfo.kill()
as alias forXProcessInfo.terminate()
for API compatibility.
0.11 (2017-05-18)¶
When tearing down processes (through
--xkill
), the more polite SIGTERM is used before invoking SIGKILL, allowing the process to cleanly shutdown. See https://github.com/pytest-dev/pytest-xprocess/issues/1 for more details.XProcessInfo.kill()
is deprecated.
0.10 (2017-05-15)¶
Project now hosted on Github.
0.9.1 (2015-07-15)¶
Don’t use __multicall__ in pytest hook
0.9 (2015-07-15)¶
Fix issue Log calls without parameters now print the correct message instead of an empty tuple. See https://bitbucket.org/pytest-dev/pytest-xprocess/pull-request/3 for more info.
Use 3rd party psutil library for process handling
0.8.0 (2013-10-04)¶
Support python3 (tested on linux/win32)
Split out pytest independent process support into xprocess.py
Add method:xProcessInfo.kill and some smaller refactoring
Fix various windows related Popen / killing details
Add tests
0.7.0 (2013-04-05)¶
Initial release