Improve iterparentnodeids to consume / parts until the first :: (#8577)
* Fix issue where TestCase.setUpClass is not called for test methods with a / in its name by checking if there is :: before the selected / or any :: after. Also added a test case for this. * removed print statement that was added * Change iterparentnodeids to consume / parts until the first ::. Then consider ::. Tests were changed to reflect this. * Update changelog/8509.improvement.rst Co-authored-by: Ran Benita <ran@unusedvar.com>
This commit is contained in:
@@ -18,11 +18,13 @@ from _pytest.warning_types import PytestWarning
|
||||
("a/b/c", ["", "a", "a/b", "a/b/c"]),
|
||||
("a/bbb/c::D", ["", "a", "a/bbb", "a/bbb/c", "a/bbb/c::D"]),
|
||||
("a/b/c::D::eee", ["", "a", "a/b", "a/b/c", "a/b/c::D", "a/b/c::D::eee"]),
|
||||
# :: considered only at the last component.
|
||||
("::xx", ["", "::xx"]),
|
||||
("a/b/c::D/d::e", ["", "a", "a/b", "a/b/c::D", "a/b/c::D/d", "a/b/c::D/d::e"]),
|
||||
# / only considered until first ::
|
||||
("a/b/c::D/d::e", ["", "a", "a/b", "a/b/c", "a/b/c::D/d", "a/b/c::D/d::e"]),
|
||||
# : alone is not a separator.
|
||||
("a/b::D:e:f::g", ["", "a", "a/b", "a/b::D:e:f", "a/b::D:e:f::g"]),
|
||||
# / not considered if a part of a test name
|
||||
("a/b::c/d::e[/test]", ["", "a", "a/b", "a/b::c/d", "a/b::c/d::e[/test]"]),
|
||||
),
|
||||
)
|
||||
def test_iterparentnodeids(nodeid: str, expected: List[str]) -> None:
|
||||
|
||||
Reference in New Issue
Block a user