[py-dev] pytest-timeout 0.2
holger krekel
holger at merlinux.eu
Sun Mar 18 00:16:27 CET 2012
Hi Floris,
On Sat, Mar 17, 2012 at 18:31 +0100, Floris Bruynooghe wrote:
> I've made a second release of the pytest-timeout plugin for py.test
> which can time out long running tests. This release includes a number
> of suggestions made on this list, major changes include:
>
> * Fixed the activation problem
> * Set timeout using configuration file
> * Add a timeout marker to modify timeout of one item
> * The marker can also choose the method (signal/thread)
> * Renamed --nosigalrm to --timeout_method to future proof adding of
> eventlet and gevent timeout methods
> * Works on python 3, tested on 2.6, 2.7 and 3.2
>
> Not yet done:
>
> * Automatic enabling of the plugin, you still need to enable it on the
> command line or configuration file before you can use the marker.
> This was probably a bad idea but I felt bad about stealing a marker by
> default.
I went ahead and created a test function with
@pytest.mark.timeout(1)
def test_hello():
...
but the timeout was not honoured. Then i skimmed the docs :)
added "timeout_method = signal" to my ini-file and ran, still not honoured.
Then i figured i need to set some dummy "timeout = 10" in the ini - and now
i get the proper timeout of 1 second.
I understand the hesitance to grab a general name like "timeout" but then
again installing "pytest-timeout" is a deliberate act and it grabbing the
"timeout" marker is not surprising IMO. So i'd kindly encourage you to
go for it. I wonder btw. if the output of "--markers" should be merged with
"--help". The latter would get yet longer but then again it's nice to
have all the info at a fingertip.
Another feedback item: "@pytest.mark.timeout(5, 'signal')" ought to work.
It's slightly awkward because of the marker args/kwargs API but it's expected
from a pure user perspective i think.
Moreover i'd eventually like to include the timeout plugin
in pytest core. It's an important feature for functional testing.
> * eventlet and gevent timeouts
Here is what i did for eventlet (only accessing the decorator here):
https://bitbucket.org/hpk42/detox/src/f9f8c0107cc1/tests/conftest.py#cl-108
cheers & thanks,
holger
>
> As before the release is on pypi:
> http://pypi.python.org/pypi/pytest-timeout and the development
> repository and issue tracker on bitbucket:
> https://bitbucket.org/flub/pytest-timeout/
>
> I'd be pleased to receive any further feedback you may have.
>
> Floris
>
>
> --
> Debian GNU/Linux -- The Power of Freedom
> www.debian.org | www.gnu.org | www.kernel.org
> _______________________________________________
> py-dev mailing list
> py-dev at codespeak.net
> http://codespeak.net/mailman/listinfo/py-dev
>
More information about the Pytest-dev
mailing list