pytest: Use Node.from_parent to fix some testcase failed

Signed-off-by: cherry530 <xuping33@huawei.com>
This commit is contained in:
cherry530 2021-10-29 11:21:50 +08:00
parent 4cf1c8a682
commit 7c9eda012a
2 changed files with 53 additions and 1 deletions

View File

@ -0,0 +1,46 @@
From 8e06097d68b3f2fb9f44324119de5cefb7a42506 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
Date: Mon, 7 Jun 2021 00:52:25 +0200
Subject: [PATCH] pytest: Use Node.from_parent(...)
Fixes https://github.com/docopt/docopt/issues/483
See https://docs.pytest.org/en/stable/deprecations.html#node-construction-changed-to-node-from-parent
---
conftest.py | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/conftest.py b/conftest.py
index f5e8c7b..c4c0bb5 100644
--- a/conftest.py
+++ b/conftest.py
@@ -11,7 +11,10 @@ import docopt
def pytest_collect_file(path, parent):
if path.ext == ".docopt" and path.basename.startswith("test"):
- return DocoptTestFile(path, parent)
+ if hasattr(DocoptTestFile, "from_parent"):
+ return DocoptTestFile.from_parent(parent, fspath=path)
+ else:
+ return DocoptTestFile(path, parent)
def parse_test(raw):
@@ -41,7 +44,13 @@ class DocoptTestFile(pytest.File):
for name, doc, cases in parse_test(raw):
name = self.fspath.purebasename
for case in cases:
- yield DocoptTestItem("%s(%d)" % (name, index), self, doc, case)
+ if hasattr(DocoptTestItem, "from_parent"):
+ yield DocoptTestItem.from_parent(parent=self,
+ name="%s(%d)" % (name, index),
+ doc=doc,
+ case=case)
+ else:
+ yield DocoptTestItem("%s(%d)" % (name, index), self, doc, case)
index += 1
--
2.27.0

View File

@ -1,11 +1,14 @@
Name: python-docopt
Version: 0.6.2
Release: 12
Release: 13
Summary: Command-line interface description language
License: MIT
URL: http://docopt.org/
Source0: https://github.com/docopt/docopt/archive/%{version}.tar.gz#/docopt-%{version}.tar.gz
#patch
Patch0000: pytest-Use-Node.from_parent.patch
BuildArch: noarch
%global _description \
@ -43,6 +46,9 @@ py.test-3 -v
%{python3_sitelib}/__pycache__/*
%changelog
* Fri Oct 28 2021 xuping <xuping33@huawei.com> - 0.6.2-13
- pytest Use Node.from_parent to fix some testcase failed.
* Sat Oct 24 2020 tianwei <tianwei12@huawei.com> - 0.6.2-12
- delete python2