Functional tests for node restarting
This commit is contained in:
@@ -487,4 +487,58 @@ def test_fixture_scope_caching_issue503(testdir):
|
||||
])
|
||||
|
||||
|
||||
class TestNodeFailure:
|
||||
|
||||
def test_load_single(self, testdir):
|
||||
f = testdir.makepyfile("""
|
||||
import os
|
||||
def test_a(): os._exit(1)
|
||||
def test_b(): pass
|
||||
""")
|
||||
res = testdir.runpytest(f, '-n1')
|
||||
res.stdout.fnmatch_lines([
|
||||
"*Replacing failed node*",
|
||||
"*Slave*crashed while running*",
|
||||
"*1 failed*1 passed*",
|
||||
])
|
||||
|
||||
def test_load_multiple(self, testdir):
|
||||
f = testdir.makepyfile("""
|
||||
import os
|
||||
def test_a(): pass
|
||||
def test_b(): os._exit(1)
|
||||
def test_c(): pass
|
||||
def test_d(): pass
|
||||
""")
|
||||
res = testdir.runpytest(f, '-n2')
|
||||
res.stdout.fnmatch_lines([
|
||||
"*Replacing failed node*",
|
||||
"*Slave*crashed while running*",
|
||||
"*1 failed*3 passed*",
|
||||
])
|
||||
|
||||
def test_each_single(self, testdir):
|
||||
f = testdir.makepyfile("""
|
||||
import os
|
||||
def test_a(): os._exit(1)
|
||||
def test_b(): pass
|
||||
""")
|
||||
res = testdir.runpytest(f, '--dist=each', '--tx=popen')
|
||||
res.stdout.fnmatch_lines([
|
||||
"*Replacing failed node*",
|
||||
"*Slave*crashed while running*",
|
||||
"*1 failed*1 passed*",
|
||||
])
|
||||
|
||||
def test_each_multiple(self, testdir):
|
||||
f = testdir.makepyfile("""
|
||||
import os
|
||||
def test_a(): os._exit(1)
|
||||
def test_b(): pass
|
||||
""")
|
||||
res = testdir.runpytest(f, '--dist=each', '--tx=2*popen')
|
||||
res.stdout.fnmatch_lines([
|
||||
"*Replacing failed node*",
|
||||
"*Slave*crashed while running*",
|
||||
"*2 failed*2 passed*",
|
||||
])
|
||||
|
||||
Reference in New Issue
Block a user