{ "info": { "author": "Holger Krekel", "author_email": "holger@merlinux.eu", "bugtrack_url": null, "classifiers": [], "description": "Experimental `py.test `_ plugin for managing processes\nacross test runs.\n\nUsage\n---------\n\ninstall via::\n\n pip install pytest-xprocess\n\nThis will provide a ``xprocess`` fixture which helps\nyou to ensure that one ore more longer-running processes\nare present for your tests. You can use it to start and\npre-configure test-specific databases (Postgres, Couchdb, ...).\n\nAdditionally there are two new command line options::\n\n --xkill # terminates all external processes\n --xshow # shows currently running processes and log files\n\n\n``xprocess`` fixture usage\n-----------------------------\n\nYou typically define a project-specific fixture which\nuses the ``xprocess`` fixture internally::\n\n # content of conftest.py\n\n import pytest\n from xprocess import ProcessStarter\n\n @pytest.fixture\n def myserver(xprocess):\n class Starter(ProcessStarter):\n pattern = \"PATTERN\"\n args = ['command', 'arg1', 'arg2']\n\n logfile = xprocess.ensure(\"myserver\", Starter)\n conn = # create a connection or url/port info to the server\n return conn\n\nThe ``xprocess.ensure`` function takes a name for the external process\nbecause you can have multiple external processes.\n\nThe ``Starter`` is a subclass that gets initialized with the working\ndirectory created for this process. If the server has not yet been\nstarted:\n\n- the ``args`` are used to invoke a new subprocess.\n\n- the ``pattern`` is waited for in the logfile before returning.\n It should thus match a state of your server where it is ready to\n answer queries.\n\n- ``env`` may be defined to customize the environment in which the\n new subprocess is invoked. To inherit the main test process\n environment, leave ``env`` set to the default (``None``).\n\n- stdout is redirected to a logfile, which is returned pointing to the\n line right after the match\n\nelse, if the server is already running simply the logfile is returned.\n\nTo customize the startup behavior, override other methods of the\nProcessStarter. For example, to extend the number of lines searched\nfor the startup info:\n\n class Starter(ProcessStarter):\n pattern = 'process started at .*'\n args = ['command', 'arg1']\n\n def filter_lines(self, lines):\n return itertools.islice(lines, 500)\n\nTo override the wait behavior, override :method:`ProcessStarter.wait`.\nSee the :class:`xprocess.ProcessStarter` interface for more details.\n\nNote that the plugin needs to persist the process ID and logfile\ninformation. It does this in a sub directory of the directory\nwhich contains a ``pytest.ini`` or ``setup.py`` file.\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/pytest-dev/pytest-xprocess/", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "pytest-xprocess", "package_url": "https://pypi.org/project/pytest-xprocess/", "platform": "", "project_url": "https://pypi.org/project/pytest-xprocess/", "project_urls": { "Homepage": "https://github.com/pytest-dev/pytest-xprocess/" }, "release_url": "https://pypi.org/project/pytest-xprocess/0.12.1/", "requires_dist": null, "requires_python": "", "summary": "pytest plugin to manage external processes across test runs", "version": "0.12.1" }, "last_serial": 2931842, "releases": { "0.10": [ { "comment_text": "", "digests": { "md5": "fd1506d379c1944b5447b2835603272a", "sha256": "c35a007f0745e8735cb5b57e6ce00898827431966f5be1927bf580e874b7ec85" }, "downloads": -1, "filename": "pytest_xprocess-0.10-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fd1506d379c1944b5447b2835603272a", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 7198, "upload_time": "2017-05-15T17:19:07", "url": "https://files.pythonhosted.org/packages/69/53/0ade46b7ec761aab55a77d6b4635383279bd70b8dc9cbd1c93587d3fcab3/pytest_xprocess-0.10-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b7a94a86d0127e07d6f6ca9de5dbed01", "sha256": "54121b3b52fe4370889efc40123e0758caceb94ef525dc9b3f0ba2edab32aaf1" }, "downloads": -1, "filename": "pytest-xprocess-0.10.tar.gz", "has_sig": false, "md5_digest": "b7a94a86d0127e07d6f6ca9de5dbed01", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9776, "upload_time": "2017-05-15T17:19:06", "url": "https://files.pythonhosted.org/packages/23/19/3a4cac89beaaf6adc77315905dfeb00378833fd8d9aab5f495ab9079319a/pytest-xprocess-0.10.tar.gz" } ], "0.11": [ { "comment_text": "", "digests": { "md5": "44989468b80e92d91a835e61dcd2acb8", "sha256": "9286938cfa04c7b8999ee2805b4f734dd013523bcb4f16970ca44f02098799d0" }, "downloads": -1, "filename": "pytest_xprocess-0.11-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "44989468b80e92d91a835e61dcd2acb8", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 6972, "upload_time": "2017-05-18T13:57:18", "url": "https://files.pythonhosted.org/packages/78/56/0731f0245468b3927b7035050ce13d4b6e88ab36d35627631a4fc4623bf8/pytest_xprocess-0.11-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "25551d726ccf673a21186bc622f3a28c", "sha256": "d1b1ea02ef9f3daf8d25127eac61e3c5db2998966c50e11c3d1ab3d8aed7c0f5" }, "downloads": -1, "filename": "pytest-xprocess-0.11.tar.gz", "has_sig": false, "md5_digest": "25551d726ccf673a21186bc622f3a28c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10578, "upload_time": "2017-05-18T13:57:17", "url": "https://files.pythonhosted.org/packages/0a/0c/0f47ae04ee7c9cfcfa20bf4afd5bbac7618c0e8a7cbbfb85c6c410a3aae2/pytest-xprocess-0.11.tar.gz" } ], "0.11.1": [ { "comment_text": "", "digests": { "md5": "17cba223491a391e3170423d4e2cb95e", "sha256": "73189432715b96c82ee38b62ffbae8a5c75ec6d8f18015c2a7533cf9376f57cb" }, "downloads": -1, "filename": "pytest_xprocess-0.11.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "17cba223491a391e3170423d4e2cb95e", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 7070, "upload_time": "2017-06-01T01:07:34", "url": "https://files.pythonhosted.org/packages/d4/9a/e5c8878e00f9ee6de9908c8da27f5a8f1c803856c39db98be9600d364121/pytest_xprocess-0.11.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "24cd096e1a991dbd32f24ccbcbb0ad56", "sha256": "529d30ddf9f1d3785e55ed088dafa13e8caf6423fa8b4542785a65c114497bad" }, "downloads": -1, "filename": "pytest-xprocess-0.11.1.tar.gz", "has_sig": false, "md5_digest": "24cd096e1a991dbd32f24ccbcbb0ad56", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11072, "upload_time": "2017-06-01T01:07:32", "url": "https://files.pythonhosted.org/packages/0b/81/43bf26deac19d6efe34c4c0853a7e1ca01120b643d86c374accbbddfb7e9/pytest-xprocess-0.11.1.tar.gz" } ], "0.12": [ { "comment_text": "", "digests": { "md5": "90842c9bff4fbe76fe87d10d6fd44e5e", "sha256": "f5565076d0da49a77fdd64b847cbee06187f6caa959255b574e24ef401f83784" }, "downloads": -1, "filename": "pytest_xprocess-0.12-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "90842c9bff4fbe76fe87d10d6fd44e5e", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 8094, "upload_time": "2017-06-06T18:59:33", "url": "https://files.pythonhosted.org/packages/6c/19/5f7a63597b791422720b8fc089687c4327883194aac9b11174e7244421e2/pytest_xprocess-0.12-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "971f490a780844865bd1aec1b34b3c76", "sha256": "736d7286e1b84fc0db623a8b5e6c2639331d6e7b5a4a4b7ba85dcbf37492ca20" }, "downloads": -1, "filename": "pytest-xprocess-0.12.tar.gz", "has_sig": false, "md5_digest": "971f490a780844865bd1aec1b34b3c76", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12049, "upload_time": "2017-06-06T18:59:31", "url": "https://files.pythonhosted.org/packages/31/2d/a007a78b190da71671766e61d4c07f85e96ea27d7ea23da2326a1b933b7f/pytest-xprocess-0.12.tar.gz" } ], "0.12.1": [ { "comment_text": "", "digests": { "md5": "2f8cac1871b0ee8076320c77980436e1", "sha256": "d12e6bd8d2e7a94274bcebbcfe6fb5b198e94c9ce0f87ab043c21af752588eaf" }, "downloads": -1, "filename": "pytest_xprocess-0.12.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2f8cac1871b0ee8076320c77980436e1", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 8120, "upload_time": "2017-06-07T11:01:31", "url": "https://files.pythonhosted.org/packages/0b/38/3b684a2ba7179bd039607a80555e6779aa636d906ab445aacefcae104593/pytest_xprocess-0.12.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "da2055d74be1a07bfcf6bd3565e3e387", "sha256": "50e0d00d898a867cf2af75168a8bf6d23d582365f8765b73dfc0430d1e53821b" }, "downloads": -1, "filename": "pytest-xprocess-0.12.1.tar.gz", "has_sig": false, "md5_digest": "da2055d74be1a07bfcf6bd3565e3e387", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12078, "upload_time": "2017-06-07T11:01:33", "url": "https://files.pythonhosted.org/packages/9c/b2/3c1685cdc59eaff930a7a8a7435fc060d7c8b5dbdc45f34a558def10db02/pytest-xprocess-0.12.1.tar.gz" } ], "0.7": [ { "comment_text": "", "digests": { "md5": "ecf011371c3b42792633592cdf3318af", "sha256": "395f8b8d9dd2d410e87131e29df3c273ab1e85a9df937969e2dfd182c77355bf" }, "downloads": -1, "filename": "pytest-xprocess-0.7.tar.gz", "has_sig": false, "md5_digest": "ecf011371c3b42792633592cdf3318af", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5533, "upload_time": "2013-04-05T19:05:59", "url": "https://files.pythonhosted.org/packages/4f/77/962a5859f01d41a2a3c8f84d9f5ab541bc7e517c585d6c60a2aae720a6d6/pytest-xprocess-0.7.tar.gz" } ], "0.8": [ { "comment_text": "", "digests": { "md5": "d973e40aa6bc77a5b88ce75bf0239840", "sha256": "abb04c3855fdff779d3873a91077f509f2a94989c856b9e5ed5d469aa8082ed1" }, "downloads": -1, "filename": "pytest-xprocess-0.8.tar.gz", "has_sig": false, "md5_digest": "d973e40aa6bc77a5b88ce75bf0239840", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6351, "upload_time": "2013-10-04T12:33:03", "url": "https://files.pythonhosted.org/packages/af/a2/a06a91bd88ec4227b822aea6853adb671ae2f3790cff06bf34f3fff02022/pytest-xprocess-0.8.tar.gz" } ], "0.9": [ { "comment_text": "", "digests": { "md5": "0f401573a6d65da03e9ec6d39ccf20c0", "sha256": "6c6e5ecb39f5bb964b15fc4c9ecda5fe4d2fcf3c067ccd2dd451b0a1567e55e6" }, "downloads": -1, "filename": "pytest_xprocess-0.9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0f401573a6d65da03e9ec6d39ccf20c0", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 7181, "upload_time": "2015-07-15T11:36:03", "url": "https://files.pythonhosted.org/packages/61/cd/14df5c8b3d197930e43669505cbc7bad7fee2dc4fcb24f43f03a287b7b99/pytest_xprocess-0.9-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "80980886d5664724effec85ec045881e", "sha256": "d73b7a3194d75cedf16273410fffe95be798759918687474868f9d5fbd230cdd" }, "downloads": -1, "filename": "pytest-xprocess-0.9.tar.gz", "has_sig": false, "md5_digest": "80980886d5664724effec85ec045881e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7153, "upload_time": "2015-07-15T11:36:06", "url": "https://files.pythonhosted.org/packages/5d/e0/18d1bddfe81a3c6d47d9507602e9b91a7903600921eb0afba88ed2ae7a70/pytest-xprocess-0.9.tar.gz" } ], "0.9.1": [ { "comment_text": "", "digests": { "md5": "8a74ad811528dff0c6a64641fdddf0c5", "sha256": "b4455061b223b11c9dcb49c54da466441838dcb0c6d96496ef45997a21a28cd5" }, "downloads": -1, "filename": "pytest_xprocess-0.9.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8a74ad811528dff0c6a64641fdddf0c5", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 7211, "upload_time": "2015-07-15T12:06:07", "url": "https://files.pythonhosted.org/packages/b6/46/4d2c0a1ae227ea7e5cb11fef9daa10ed1501112308ce5b17f5989fffa537/pytest_xprocess-0.9.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "539574e58220fe333378983323a2cde9", "sha256": "f70e60cadb5ca1ac9500158ab0144dc9533586e1152fce1fe37e70dc03c5f49f" }, "downloads": -1, "filename": "pytest-xprocess-0.9.1.tar.gz", "has_sig": false, "md5_digest": "539574e58220fe333378983323a2cde9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7214, "upload_time": "2015-07-15T12:06:04", "url": "https://files.pythonhosted.org/packages/a4/3e/5aacf8ec5c94119aa116aadf424165d2bb1f8e010342a5aa6d4cad024224/pytest-xprocess-0.9.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2f8cac1871b0ee8076320c77980436e1", "sha256": "d12e6bd8d2e7a94274bcebbcfe6fb5b198e94c9ce0f87ab043c21af752588eaf" }, "downloads": -1, "filename": "pytest_xprocess-0.12.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2f8cac1871b0ee8076320c77980436e1", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 8120, "upload_time": "2017-06-07T11:01:31", "url": "https://files.pythonhosted.org/packages/0b/38/3b684a2ba7179bd039607a80555e6779aa636d906ab445aacefcae104593/pytest_xprocess-0.12.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "da2055d74be1a07bfcf6bd3565e3e387", "sha256": "50e0d00d898a867cf2af75168a8bf6d23d582365f8765b73dfc0430d1e53821b" }, "downloads": -1, "filename": "pytest-xprocess-0.12.1.tar.gz", "has_sig": false, "md5_digest": "da2055d74be1a07bfcf6bd3565e3e387", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12078, "upload_time": "2017-06-07T11:01:33", "url": "https://files.pythonhosted.org/packages/9c/b2/3c1685cdc59eaff930a7a8a7435fc060d7c8b5dbdc45f34a558def10db02/pytest-xprocess-0.12.1.tar.gz" } ] }