diff options
author | robot-piglet <robot-piglet@yandex-team.com> | 2024-02-15 11:42:00 +0300 |
---|---|---|
committer | Innokentii Mokin <innokentii@ydb.tech> | 2024-02-16 18:35:18 +0000 |
commit | 7b5df0095abcb037bd84e4682f90c04b36796e3d (patch) | |
tree | 02de55e9d40978330b14e91aa6275ab8db1c2ba3 /contrib/python/ipython/py3/IPython/testing | |
parent | 4a82bfdb9b900b928096ffe53670200e94ec8a23 (diff) | |
download | ydb-7b5df0095abcb037bd84e4682f90c04b36796e3d.tar.gz |
Intermediate changes
Diffstat (limited to 'contrib/python/ipython/py3/IPython/testing')
-rw-r--r-- | contrib/python/ipython/py3/IPython/testing/ipunittest.py | 10 | ||||
-rw-r--r-- | contrib/python/ipython/py3/IPython/testing/plugin/pytest_ipdoctest.py | 42 |
2 files changed, 32 insertions, 20 deletions
diff --git a/contrib/python/ipython/py3/IPython/testing/ipunittest.py b/contrib/python/ipython/py3/IPython/testing/ipunittest.py index 5a940a5fe9..4b107618b5 100644 --- a/contrib/python/ipython/py3/IPython/testing/ipunittest.py +++ b/contrib/python/ipython/py3/IPython/testing/ipunittest.py @@ -36,6 +36,7 @@ Authors # Stdlib import re +import sys import unittest from doctest import DocTestFinder, DocTestRunner, TestResults from IPython.terminal.interactiveshell import InteractiveShell @@ -49,7 +50,14 @@ def count_failures(runner): Code modeled after the summarize() method in doctest. """ - return [TestResults(f, t) for f, t in runner._name2ft.values() if f > 0 ] + if sys.version_info < (3, 13): + return [TestResults(f, t) for f, t in runner._name2ft.values() if f > 0] + else: + return [ + TestResults(failure, try_) + for failure, try_, skip in runner._stats.values() + if failure > 0 + ] class IPython2PythonConverter(object): diff --git a/contrib/python/ipython/py3/IPython/testing/plugin/pytest_ipdoctest.py b/contrib/python/ipython/py3/IPython/testing/plugin/pytest_ipdoctest.py index fd19ba4966..fc8af13b57 100644 --- a/contrib/python/ipython/py3/IPython/testing/plugin/pytest_ipdoctest.py +++ b/contrib/python/ipython/py3/IPython/testing/plugin/pytest_ipdoctest.py @@ -4,8 +4,8 @@ # # Copyright (c) 2004-2021 Holger Krekel and others """Discover and run ipdoctests in modules and test files.""" -import builtins import bdb +import builtins import inspect import os import platform @@ -15,25 +15,25 @@ import types import warnings from contextlib import contextmanager from pathlib import Path -from typing import Any -from typing import Callable -from typing import Dict -from typing import Generator -from typing import Iterable -from typing import List -from typing import Optional -from typing import Pattern -from typing import Sequence -from typing import Tuple -from typing import Type -from typing import TYPE_CHECKING -from typing import Union +from typing import ( + TYPE_CHECKING, + Any, + Callable, + Dict, + Generator, + Iterable, + List, + Optional, + Pattern, + Sequence, + Tuple, + Type, + Union, +) import pytest from _pytest import outcomes -from _pytest._code.code import ExceptionInfo -from _pytest._code.code import ReprFileLocation -from _pytest._code.code import TerminalRepr +from _pytest._code.code import ExceptionInfo, ReprFileLocation, TerminalRepr from _pytest._io import TerminalWriter from _pytest.compat import safe_getattr from _pytest.config import Config @@ -41,14 +41,15 @@ from _pytest.config.argparsing import Parser from _pytest.fixtures import FixtureRequest from _pytest.nodes import Collector from _pytest.outcomes import OutcomeException -from _pytest.pathlib import fnmatch_ex -from _pytest.pathlib import import_path +from _pytest.pathlib import fnmatch_ex, import_path from _pytest.python_api import approx from _pytest.warning_types import PytestWarning if TYPE_CHECKING: import doctest + from .ipdoctest import IPDoctestOutputChecker + DOCTEST_REPORT_CHOICE_NONE = "none" DOCTEST_REPORT_CHOICE_CDIFF = "cdiff" DOCTEST_REPORT_CHOICE_NDIFF = "ndiff" @@ -271,6 +272,8 @@ def _get_runner( class IPDoctestItem(pytest.Item): + _user_ns_orig: Dict[str, Any] + def __init__( self, name: str, @@ -283,6 +286,7 @@ class IPDoctestItem(pytest.Item): self.dtest = dtest self.obj = None self.fixture_request: Optional[FixtureRequest] = None + self._user_ns_orig = {} @classmethod def from_parent( # type: ignore |