aboutsummaryrefslogtreecommitdiff
path: root/tests/test_timeout_decorator.py
diff options
context:
space:
mode:
authorPatrick <pnpnpn@users.noreply.github.com>2015-03-17 18:36:49 -0400
committerPatrick <pnpnpn@users.noreply.github.com>2015-03-17 18:36:49 -0400
commit3d66d09b20c6de36f35ec582b9c7716ba83eb641 (patch)
treedd1761f3b6ca79f5226b210025d2f8b68896aaad /tests/test_timeout_decorator.py
parent2304ff00ac08985ead06d0225591fa6508772ab2 (diff)
parentb1edeeaa1d68b5f84becdbd31cfef0ac690bd2a7 (diff)
downloadtimeout-decorator-3d66d09b20c6de36f35ec582b9c7716ba83eb641.tar.gz
Merge pull request #16 from bubenkoff/multithreading-support
Added optional threading support via python multiprocessing.
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