From b1edeeaa1d68b5f84becdbd31cfef0ac690bd2a7 Mon Sep 17 00:00:00 2001 From: Anatoly Bubenkov Date: Sun, 15 Mar 2015 13:41:13 +0100 Subject: Added optional threading support via python multiprocessing. Switched to pytest test runner --- tests/test_timeout_decorator.py | 47 ++++++++++++++++++++++------------------- 1 file changed, 25 insertions(+), 22 deletions(-) (limited to 'tests/test_timeout_decorator.py') 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 -- cgit v1.2.3