aboutsummaryrefslogtreecommitdiff
path: root/tests/test_timeout_decorator.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_timeout_decorator.py')
-rw-r--r--tests/test_timeout_decorator.py47
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