========
Overview
========
Tools for testing processes.
* Free software: BSD 2-Clause License
Usage
=====
::
from process_tests import ProcessTestCase
from process_tests import TestProcess
class MyTestCase(ProcessTestCase):
def test_simple(self):
with TestProcess('mydaemon', 'arg1', 'arg2') as proc:
with self.dump_on_error(proc.read):
self.wait_for_strings(proc.read, 10, # wait 10 seconds for process to output lines with these strings
'Started',
'Working',
'Done',
)
Features
========
* TODO
Examples
========
* https://github.com/ionelmc/python-redis-lock/blob/master/tests/test_redis_lock.py
* https://github.com/ionelmc/python-manhole/blob/master/tests/test_manhole.py
* https://github.com/ionelmc/python-stampede/blob/master/tests/test_stampede.py
* https://github.com/ionelmc/python-remote-pdb/blob/master/tests/test_remote_pdb.py
TODO
====
* tests
* docs
Requirements
============
:OS: Any
:Runtime: Python 2.6, 2.7, 3.2, 3.3 or PyPy
Similar projects
================
* TODO
Changelog
=========
3.0.0 (2023-11-01)
------------------
* Dropped Python 2 support.
* Added an optional non-pipe TestProcess mode. You can use file objects for processes that are too verbose for a pipe.
* Added some tests.
2.1.2 (2021-05-02)
------------------
* Fixed another regression caused by the ``universal_newlines`` for Windows.
2.1.1 (2020-07-23)
------------------
* Fixed regression caused by the ``universal_newlines`` (now the internals don't decode strings).
2.1.0 (2020-07-23)
------------------
* Applied the cookiecutter-pylibrary templates.
* ``TestProcess`` will use ``universal_newlines`` by default for the contained ``subprocess.Popen`` to make sure line buffering is actually
used. This also fixes warnings on Python 3.
2.x (???)
---------
* Lots of wild stuff.
Raw data
{
"_id": null,
"home_page": "https://github.com/ionelmc/python-process-tests",
"name": "process-tests",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "",
"keywords": "",
"author": "Ionel Cristian M\u0103rie\u0219",
"author_email": "contact@ionelmc.ro",
"download_url": "https://files.pythonhosted.org/packages/23/61/f19c3474c8c87ebb13210e83391f156c971281773623f292fcab26b8c5be/process-tests-3.0.0.tar.gz",
"platform": null,
"description": "========\nOverview\n========\n\n\n\nTools for testing processes.\n\n* Free software: BSD 2-Clause License\n\nUsage\n=====\n\n::\n\n from process_tests import ProcessTestCase\n from process_tests import TestProcess\n\n class MyTestCase(ProcessTestCase):\n def test_simple(self):\n with TestProcess('mydaemon', 'arg1', 'arg2') as proc:\n with self.dump_on_error(proc.read):\n self.wait_for_strings(proc.read, 10, # wait 10 seconds for process to output lines with these strings\n 'Started',\n 'Working',\n 'Done',\n )\n\n\nFeatures\n========\n\n* TODO\n\nExamples\n========\n\n* https://github.com/ionelmc/python-redis-lock/blob/master/tests/test_redis_lock.py\n* https://github.com/ionelmc/python-manhole/blob/master/tests/test_manhole.py\n* https://github.com/ionelmc/python-stampede/blob/master/tests/test_stampede.py\n* https://github.com/ionelmc/python-remote-pdb/blob/master/tests/test_remote_pdb.py\n\nTODO\n====\n\n* tests\n* docs\n\nRequirements\n============\n\n:OS: Any\n:Runtime: Python 2.6, 2.7, 3.2, 3.3 or PyPy\n\nSimilar projects\n================\n\n* TODO\n\n\nChangelog\n=========\n\n3.0.0 (2023-11-01)\n------------------\n\n* Dropped Python 2 support.\n* Added an optional non-pipe TestProcess mode. You can use file objects for processes that are too verbose for a pipe.\n* Added some tests.\n\n2.1.2 (2021-05-02)\n------------------\n\n* Fixed another regression caused by the ``universal_newlines`` for Windows.\n\n2.1.1 (2020-07-23)\n------------------\n\n* Fixed regression caused by the ``universal_newlines`` (now the internals don't decode strings).\n\n2.1.0 (2020-07-23)\n------------------\n\n* Applied the cookiecutter-pylibrary templates.\n* ``TestProcess`` will use ``universal_newlines`` by default for the contained ``subprocess.Popen`` to make sure line buffering is actually\n used. This also fixes warnings on Python 3.\n\n2.x (???)\n---------\n\n* Lots of wild stuff.\n",
"bugtrack_url": null,
"license": "BSD-2-Clause",
"summary": "Tools for testing processes.",
"version": "3.0.0",
"project_urls": {
"Changelog": "https://github.com/ionelmc/python-process-tests/blob/master/CHANGELOG.rst",
"Homepage": "https://github.com/ionelmc/python-process-tests",
"Issue Tracker": "https://github.com/ionelmc/python-process-tests/issues"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "54c02aa657428cfc22619d7fe7f6a34c7e3eb981ff6ce6e5c070f36db1e20293",
"md5": "507e161685be5bc6d77b110b5cad2377",
"sha256": "704aa9aad27cf9fdcc50212ae1518f7fed36faef5ddb4e0195ebeeb20306f47d"
},
"downloads": -1,
"filename": "process_tests-3.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "507e161685be5bc6d77b110b5cad2377",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 5595,
"upload_time": "2023-11-01T17:40:47",
"upload_time_iso_8601": "2023-11-01T17:40:47.116115Z",
"url": "https://files.pythonhosted.org/packages/54/c0/2aa657428cfc22619d7fe7f6a34c7e3eb981ff6ce6e5c070f36db1e20293/process_tests-3.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2361f19c3474c8c87ebb13210e83391f156c971281773623f292fcab26b8c5be",
"md5": "f982f20a7266c3dd7e92b92a684687ba",
"sha256": "e5d57dea7161251e91cadb84bf3ecc85275fb121fd478e579f800777b1d424bd"
},
"downloads": -1,
"filename": "process-tests-3.0.0.tar.gz",
"has_sig": false,
"md5_digest": "f982f20a7266c3dd7e92b92a684687ba",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 15165,
"upload_time": "2023-11-01T17:40:48",
"upload_time_iso_8601": "2023-11-01T17:40:48.561091Z",
"url": "https://files.pythonhosted.org/packages/23/61/f19c3474c8c87ebb13210e83391f156c971281773623f292fcab26b8c5be/process-tests-3.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-11-01 17:40:48",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "ionelmc",
"github_project": "python-process-tests",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"tox": true,
"lcname": "process-tests"
}