{ "info": { "author": "Pawel Lampe", "author_email": "pawel.lampe@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Environment :: Plugins", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: POSIX", "Operating System :: Unix", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Topic :: Software Development :: Testing", "Topic :: Utilities" ], "description": "# pytest-timeouts\n[![Build Status](https://travis-ci.org/Scony/pytest-timeouts.svg?branch=master)](https://travis-ci.org/Scony/pytest-timeouts)\n[![codecov](https://codecov.io/gh/Scony/pytest-timeouts/branch/master/graph/badge.svg)](https://codecov.io/gh/Scony/pytest-timeouts)\n[![Documentation Status](https://readthedocs.org/projects/pytest-timeouts/badge/?version=latest)](https://pytest-timeouts.readthedocs.io/en/latest/?badge=latest)\n[![PyPI](https://img.shields.io/pypi/v/pytest-timeouts.svg)](https://pypi.org/project/pytest-timeouts/)\n![pyversion](https://img.shields.io/pypi/pyversions/pytest-timeouts.svg)\n![Supported pytest 3|4](https://img.shields.io/badge/pytest-3|4-blue.svg)\n[![Downloads](https://pepy.tech/badge/pytest-timeouts)](https://pepy.tech/project/pytest-timeouts)\n[![PyPI - License](https://img.shields.io/pypi/l/pytest-timeouts.svg)](https://github.com/Scony/pytest-timeouts/blob/master/LICENSE)\n![GitHub Release Date](https://img.shields.io/github/release-date/Scony/pytest-timeouts.svg)\n\nLinux-only Pytest plugin to control durations of various test case execution phases.\n\n## Documentation\n\nFor documentation visit [pytest-timeouts.readthedocs.io](https://pytest-timeouts.readthedocs.io).\n\n## About\n\nThis plugin has been designed for specific use cases which are out of the scope of famous `pytest-timeout` plugin.\nIt uses a `SIGALRM` signal to schedule a timer which breaks the test case.\n\n## Features\n\n* `setup`, `execution` and `teardown` phase timeouts controllable by:\n * opts: `--setup-timeout`, `--execution-timeout` and `--teardown-timeout`\n * ini: `setup_timeout`, `execution_timeout` and `teardown_timeout`\n * mark: `setup_timeout`, `execution_timeout` and `teardown_timeout`\n* fixed order of timeout settings: **opts** > **markers** > **ini**, controlled by `--timeouts-order`\n* `--timeouts-order` allow change order of override timeout settings, and disable some settings, i.e. `--timeout-order i` disable markers and opts, any combination is allow\n* timeout disabled when debugging with PDB\n\n## Installation\n\n### Stable\n\n```bash\npip install pytest-timeouts\n```\n\n### Master\n\n```bash\npip install git+https://github.com/Scony/pytest-timeouts.git\n```\n\n## Usage\n\n### Command line\n\n```bash\npytest --setup-timeout 2.5 --execution-timeout 2.01 --teardown-timeout 0\n```\n\n### `pytest.ini` setting\n\n```ini\n[pytest]\nsetup_timeout = 2.5\nexecution_timeout = 2.01\nteardown_timeout = 0\n```\n\n### Mark\n\n```python\nimport time\n\nimport pytest\n\n\n@pytest.mark.setup_timeout(0.3)\n@pytest.mark.execution_timeout(0.5)\n@pytest.mark.teardown_timeout(0.4)\ndef test_timeout():\n time.sleep(1)\n```\n\n## Contributors\n\n* Pawel Lampe\n* Kamil Luczak", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/Scony/pytest-timeouts", "keywords": "", "license": "MIT license", "maintainer": "", "maintainer_email": "", "name": "pytest-timeouts", "package_url": "https://pypi.org/project/pytest-timeouts/", "platform": "unix", "project_url": "https://pypi.org/project/pytest-timeouts/", "project_urls": { "Documentation": "https://pytest-timeouts.readthedocs.io", "Homepage": "https://github.com/Scony/pytest-timeouts", "Source": "https://github.com/Scony/pytest-timeouts", "Tracker": "https://github.com/Scony/pytest-timeouts/issues" }, "release_url": "https://pypi.org/project/pytest-timeouts/1.2.1/", "requires_dist": null, "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "summary": "Linux-only Pytest plugin to control durations of various test case execution phases", "version": "1.2.1" }, "last_serial": 5865267, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "e6abcb7a853f9a72114543a1ff372531", "sha256": "d190fc687e9ed956c22ddddf193466e16513623f44c8e81127f774f2775c82b7" }, "downloads": -1, "filename": "pytest_timeouts-1.0.0-py2-none-any.whl", "has_sig": false, "md5_digest": "e6abcb7a853f9a72114543a1ff372531", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 3042, "upload_time": "2018-07-11T20:43:59", "url": "https://files.pythonhosted.org/packages/7c/75/923efec25db1eb6df71f4ef15a08e502612377ab7e365dae92a048a895d0/pytest_timeouts-1.0.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "417e39e459f8663cb303067db55c2ae9", "sha256": "47cd5198824deb7ca1c17214335adcecf14702dcd0dfbb4a8809a50d45fdde5c" }, "downloads": -1, "filename": "pytest_timeouts-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "417e39e459f8663cb303067db55c2ae9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3042, "upload_time": "2018-07-11T20:36:13", "url": "https://files.pythonhosted.org/packages/6d/60/46664d151b25cfe1f56c2c5feba2e366b57cf0cce8492eb2842c4e506cdb/pytest_timeouts-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "db2af5b4ad390b6df027d1850e9d3b2f", "sha256": "4cfca5385c442940c4e718738f2fb05a989ef2dd5769528a42f39cf57924ae4b" }, "downloads": -1, "filename": "pytest-timeouts-1.0.0.tar.gz", "has_sig": false, "md5_digest": "db2af5b4ad390b6df027d1850e9d3b2f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4848, "upload_time": "2018-07-11T20:36:14", "url": "https://files.pythonhosted.org/packages/a8/11/8c9d584d390af7a44f75030983a980a0443e672b3e96f4a8ac42ec2c0409/pytest-timeouts-1.0.0.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "c656b4f5d123d8238fe363cde13c1499", "sha256": "dde64e6e7d3e8d321bf150e8734016de9292de150769769773899922325a549d" }, "downloads": -1, "filename": "pytest-timeouts-1.1.0.tar.gz", "has_sig": false, "md5_digest": "c656b4f5d123d8238fe363cde13c1499", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3118, "upload_time": "2018-07-12T18:42:38", "url": "https://files.pythonhosted.org/packages/d2/4a/b2023215dccf18199e4f0aed4ca46d9e8019c52751958bc2d43b08a93513/pytest-timeouts-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "176dc86d951dd89102b771f7ed33f089", "sha256": "a869627b9fed5c9108c6a0657c7f5dae2ac42e8e401478e52e1c11b323c54e8d" }, "downloads": -1, "filename": "pytest-timeouts-1.1.1.tar.gz", "has_sig": false, "md5_digest": "176dc86d951dd89102b771f7ed33f089", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3893, "upload_time": "2018-12-22T10:44:28", "url": "https://files.pythonhosted.org/packages/a7/a8/3a79ffd4539be3b12a884c99974958733955c9d5c0e4817539ba88ce9930/pytest-timeouts-1.1.1.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "41c6a696dbf5f38b1162b18dec8dce1b", "sha256": "7d703fc9212560241bc2e524cb5509330565b8e7c0d10c5a8609a249f94d9bf3" }, "downloads": -1, "filename": "pytest-timeouts-1.1.2.tar.gz", "has_sig": false, "md5_digest": "41c6a696dbf5f38b1162b18dec8dce1b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 3968, "upload_time": "2018-12-26T16:31:42", "url": "https://files.pythonhosted.org/packages/e1/d9/8379f74528fd48a141e431e1845b54c57ff931febb8fee20228b0a772374/pytest-timeouts-1.1.2.tar.gz" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "e41a3394737713be3e0eece3790ddefe", "sha256": "9f12cb6f7c051b67ce6517420d514c4fcbac05acb7fd4c40967a3f0b49f902cc" }, "downloads": -1, "filename": "pytest-timeouts-1.2.tar.gz", "has_sig": false, "md5_digest": "e41a3394737713be3e0eece3790ddefe", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 4950, "upload_time": "2019-05-01T19:51:25", "url": "https://files.pythonhosted.org/packages/03/8a/d78004b13f32ce8ed0e6396e122599ed34fcebdb136fbfd31f67afd2b66c/pytest-timeouts-1.2.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "23875173862eee51a0c22c8ae6888fe9", "sha256": "390351afc7ecb422ea0ec38081e0acd91cad416b383944a9a3358087de50c2fb" }, "downloads": -1, "filename": "pytest-timeouts-1.2.1.tar.gz", "has_sig": false, "md5_digest": "23875173862eee51a0c22c8ae6888fe9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 5002, "upload_time": "2019-09-21T06:03:25", "url": "https://files.pythonhosted.org/packages/cf/47/9a8d7fa18736d69d218e303345dfe21755e956fd863b0f043ef854ff84a6/pytest-timeouts-1.2.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "23875173862eee51a0c22c8ae6888fe9", "sha256": "390351afc7ecb422ea0ec38081e0acd91cad416b383944a9a3358087de50c2fb" }, "downloads": -1, "filename": "pytest-timeouts-1.2.1.tar.gz", "has_sig": false, "md5_digest": "23875173862eee51a0c22c8ae6888fe9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 5002, "upload_time": "2019-09-21T06:03:25", "url": "https://files.pythonhosted.org/packages/cf/47/9a8d7fa18736d69d218e303345dfe21755e956fd863b0f043ef854ff84a6/pytest-timeouts-1.2.1.tar.gz" } ] }