Skip to content

Commit 7d4f54b

Browse files
elchupanebrejKostiantyn Goloveshko
authored and
Kostiantyn Goloveshko
committed
Fix "deselect" keyword usage by pytester.assert_outcomes for pytest>6
1 parent c3e2126 commit 7d4f54b

File tree

2 files changed

+40
-8
lines changed

2 files changed

+40
-8
lines changed

tests/feature/test_feature_base_dir.py

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,33 @@
11
"""Test feature base dir."""
2+
import pkg_resources
23
import pytest
34

45
NOT_EXISTING_FEATURE_PATHS = [".", "/does/not/exist/"]
56

7+
assert_outcomes_extra = pkg_resources.get_distribution("pytest").parsed_version >= pkg_resources.parse_version("7.0.0")
8+
69

710
@pytest.mark.parametrize("base_dir", NOT_EXISTING_FEATURE_PATHS)
811
def test_feature_path_not_found(testdir, base_dir):
912
"""Test feature base dir."""
1013
prepare_testdir(testdir, base_dir)
1114

1215
result = testdir.runpytest("-k", "test_not_found_by_ini")
13-
result.assert_outcomes(passed=2)
16+
if assert_outcomes_extra:
17+
result.assert_outcomes(passed=2, deselected=8)
18+
else:
19+
result.assert_outcomes(passed=2)
1420

1521

1622
def test_feature_path_ok(testdir):
1723
base_dir = "features"
1824
prepare_testdir(testdir, base_dir)
1925

2026
result = testdir.runpytest("-k", "test_ok_by_ini")
21-
result.assert_outcomes(passed=2)
27+
if assert_outcomes_extra:
28+
result.assert_outcomes(passed=2, deselected=8)
29+
else:
30+
result.assert_outcomes(passed=2)
2231

2332

2433
def test_feature_path_by_param_not_found(testdir):
@@ -28,7 +37,10 @@ def test_feature_path_by_param_not_found(testdir):
2837
prepare_testdir(testdir, base_dir)
2938

3039
result = testdir.runpytest("-k", "test_not_found_by_param")
31-
result.assert_outcomes(passed=4)
40+
if assert_outcomes_extra:
41+
result.assert_outcomes(passed=4, deselected=6)
42+
else:
43+
result.assert_outcomes(passed=4)
3244

3345

3446
@pytest.mark.parametrize("base_dir", NOT_EXISTING_FEATURE_PATHS)
@@ -38,7 +50,10 @@ def test_feature_path_by_param_ok(testdir, base_dir):
3850
prepare_testdir(testdir, base_dir)
3951

4052
result = testdir.runpytest("-k", "test_ok_by_param")
41-
result.assert_outcomes(passed=2)
53+
if assert_outcomes_extra:
54+
result.assert_outcomes(passed=2, deselected=8)
55+
else:
56+
result.assert_outcomes(passed=2)
4257

4358

4459
def prepare_testdir(testdir, ini_base_dir):

tests/feature/test_steps.py

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
import textwrap
22

3+
import pkg_resources
4+
5+
assert_outcomes_extra = pkg_resources.get_distribution("pytest").parsed_version >= pkg_resources.parse_version("7.0.0")
6+
37

48
def test_steps(testdir):
59
testdir.makefile(
@@ -466,21 +470,34 @@ def test_when_step_validation_error():
466470
"""
467471
)
468472
result = testdir.runpytest("-k test_when_fails_inline", "-vv")
469-
result.assert_outcomes(failed=1)
473+
if assert_outcomes_extra:
474+
result.assert_outcomes(failed=1, deselected=3)
475+
else:
476+
result.assert_outcomes(failed=1)
477+
470478
result.stdout.fnmatch_lines(["*test_when_fails_inline*FAILED"])
471479
assert "INTERNALERROR" not in result.stdout.str()
472480

473481
result = testdir.runpytest("-k test_when_fails_decorated", "-vv")
474-
result.assert_outcomes(failed=1)
482+
if assert_outcomes_extra:
483+
result.assert_outcomes(failed=1, deselected=3)
484+
else:
485+
result.assert_outcomes(failed=1)
475486
result.stdout.fnmatch_lines(["*test_when_fails_decorated*FAILED"])
476487
assert "INTERNALERROR" not in result.stdout.str()
477488

478489
result = testdir.runpytest("-k test_when_not_found", "-vv")
479-
result.assert_outcomes(failed=1)
490+
if assert_outcomes_extra:
491+
result.assert_outcomes(failed=1, deselected=3)
492+
else:
493+
result.assert_outcomes(failed=1)
480494
result.stdout.fnmatch_lines(["*test_when_not_found*FAILED"])
481495
assert "INTERNALERROR" not in result.stdout.str()
482496

483497
result = testdir.runpytest("-k test_when_step_validation_error", "-vv")
484-
result.assert_outcomes(failed=1)
498+
if assert_outcomes_extra:
499+
result.assert_outcomes(failed=1, deselected=3)
500+
else:
501+
result.assert_outcomes(failed=1)
485502
result.stdout.fnmatch_lines(["*test_when_step_validation_error*FAILED"])
486503
assert "INTERNALERROR" not in result.stdout.str()

0 commit comments

Comments
 (0)