Initial pass at timeout for subprocessing pytest

pytest-dev/pytest#4073
This commit is contained in:
Kyle Altendorf
2018-10-03 23:50:42 -04:00
parent 29d3faed66
commit 96b2ae6654
3 changed files with 52 additions and 3 deletions
+18
View File
@@ -3,6 +3,7 @@ from __future__ import absolute_import, division, print_function
import os
import py.path
import pytest
import subprocess
import sys
import _pytest.pytester as pytester
from _pytest.pytester import HookRecorder
@@ -401,3 +402,20 @@ def test_testdir_subprocess(testdir):
def test_unicode_args(testdir):
result = testdir.runpytest("-k", u"💩")
assert result.ret == EXIT_NOTESTSCOLLECTED
def test_testdir_run_no_timeout(testdir):
testfile = testdir.makepyfile("def test_no_timeout(): pass")
assert testdir.runpytest_subprocess(testfile).ret == EXIT_OK
def test_testdir_run_timeout_expires(testdir):
testfile = testdir.makepyfile(
"""
import time
def test_timeout():
time.sleep(10)"""
)
with pytest.raises(testdir.TimeoutExpired):
testdir.runpytest_subprocess(testfile, timeout=0.5)