diff options
Diffstat (limited to 'tests/test_timeout_decorator.py')
-rw-r--r-- | tests/test_timeout_decorator.py | 47 |
1 files changed, 25 insertions, 22 deletions
diff --git a/tests/test_timeout_decorator.py b/tests/test_timeout_decorator.py index c40c82e..12d5389 100644 --- a/tests/test_timeout_decorator.py +++ b/tests/test_timeout_decorator.py @@ -1,46 +1,49 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - +"""Timeout decorator tests.""" import time -from nose.tools import raises +import pytest from timeout_decorator import timeout, TimeoutError -@raises(TimeoutError) -def test_timeout_decorator_arg(): - @timeout(1) +@pytest.fixture(params=[False, True]) +def use_signals(request): + """Use signals for timing out or not.""" + return request.param + + +def test_timeout_decorator_arg(use_signals): + @timeout(1, use_signals=use_signals) def f(): time.sleep(2) - f() + with pytest.raises(TimeoutError): + f() -@raises(TimeoutError) -def test_timeout_kwargs(): - @timeout() - def f(timeout): +def test_timeout_kwargs(use_signals): + @timeout(3, use_signals=use_signals) + def f(): time.sleep(2) - f(timeout=1) + with pytest.raises(TimeoutError): + f(timeout=1) -@raises(ValueError) -def test_timeout_no_seconds(): - @timeout() - def f(timeout): - time.sleep(2) +def test_timeout_no_seconds(use_signals): + @timeout(use_signals=use_signals) + def f(): + time.sleep(0.1) f() -def test_timeout_ok(): - @timeout(seconds=2) +def test_timeout_ok(use_signals): + @timeout(seconds=2, use_signals=use_signals) def f(): time.sleep(1) f() -def test_function_name(): - @timeout(seconds=2) +def test_function_name(use_signals): + @timeout(seconds=2, use_signals=use_signals) def func_name(): pass |