Sync from SUSE:SLFO:Main python-sybil revision 8081f71678e27f7b23e8a81ad180da70

This commit is contained in:
Adrian Schröter 2024-10-11 10:08:52 +02:00
parent 8c7c1ea1ee
commit e1d3e8339d
6 changed files with 115 additions and 59 deletions

3
_multibuild Normal file
View File

@ -0,0 +1,3 @@
<multibuild>
<package>test</package>
</multibuild>

View File

@ -1,43 +0,0 @@
From df0d221c1d9da1454a5ef7fd72675d8d43b96eb0 Mon Sep 17 00:00:00 2001
From: Chris Withers <chris@simplistix.co.uk>
Date: Tue, 4 Jul 2023 18:54:22 +0100
Subject: [PATCH] Deal with more pytest internals changing
---
.circleci/config.yml | 3 ++-
sybil/integration/pytest.py | 22 +++++++++++++++++-----
2 files changed, 19 insertions(+), 6 deletions(-)
diff --git a/sybil/integration/pytest.py b/sybil/integration/pytest.py
index b32062d..8529771 100644
--- a/sybil/integration/pytest.py
+++ b/sybil/integration/pytest.py
@@ -78,11 +78,23 @@ def setup(self):
def runtest(self):
self.example.evaluate()
- def _prunetraceback(self, excinfo):
- tb = excinfo.traceback.cut(path=example_module_path)
- tb = tb[1]
- if getattr(tb, '_rawentry', None) is not None:
- excinfo.traceback = Traceback(tb._rawentry, excinfo)
+ if PYTEST_VERSION >= (7, 4, 0):
+
+ def _traceback_filter(self, excinfo: ExceptionInfo[BaseException]) -> Traceback:
+ traceback = excinfo.traceback
+ tb = traceback.cut(path=example_module_path)
+ tb = tb[1]
+ if getattr(tb, '_rawentry', None) is not None:
+ traceback = Traceback(tb._rawentry)
+ return traceback
+
+ else:
+
+ def _prunetraceback(self, excinfo):
+ tb = excinfo.traceback.cut(path=example_module_path)
+ tb = tb[1]
+ if getattr(tb, '_rawentry', None) is not None:
+ excinfo.traceback = Traceback(tb._rawentry, excinfo)
def repr_failure(
self,

View File

@ -1,3 +1,69 @@
-------------------------------------------------------------------
Thu Oct 3 07:46:17 UTC 2024 - Daniel Garcia <daniel.garcia@suse.com>
- Make seedir dependency optional for SLFO
-------------------------------------------------------------------
Thu Jun 13 15:36:08 UTC 2024 - Dirk Müller <dmueller@suse.com>
- update to 6.1.1:
* Fix lexing of indented blocks where embedded blank lines
would be erroneously removed.
-------------------------------------------------------------------
Mon May 13 04:09:28 UTC 2024 - Steve Kowalik <steven.kowalik@suse.com>
- Update to 6.1.0:
* Add support for lexing nested fenced codeblocks in markdown.
* Add support for tilde-delimited codeblocks in markdown.
* Fix bug with the end offset of codeblocks in markdown.
* Support pytest 8 and above, due to yet another breaking change in an API
Sybil relies on.
* Remove use of deprecated py.path.local.
* Fix lexing of ReST directives and directives-in-comments where the
directives were not separated by at least one newline.
* Official support for Python 3.12 with Python 3.7 now being the minimum
supported version.
* sybil.parsers.rest.lexers.DirectiveLexer and
sybil.parsers.myst.lexers.DirectiveLexer directives now have their
options extracted as part of the lexing process.
* Added support for MyST single-line html-style comment directives.
* Fixed parsing of MyST directive options with no leading whitespace.
* Fixed parsing of Markdown and MyST fenced codeblocks at the end of
documents with no trailing newline.
* Rework document evaluators to be more flexible and structured.
* :ref:`skip <skip-parser>` has been reworked to check validity of operations
and allow a reason to be provided for an unconditional skip so it can be
highlighted as a skipped test in test runner output. The skip parsers
are also now lexer-based.
* Make Region.evaluator optional, removing the need for the separate
LexedRegion class.
* Fix bug in traceback trimming on the latest release of pytest.
* Fixed bug in the repr of LexedRegion instances where a lexeme was None.
* Fixed lexing of ReST directives, such as :rst:dir:`code-block`, where they
occurred at the end of a docstring.
* Ensure the sybil.Document.namespace in which doctests are
evaluated always has a __name__. This is required by an implementation
detail of typing.runtime_checkable.
* Fix a bug that prevent r-prefixed docstrings from being correctly parsed
from .py files.
* The sybil.Document.namespace can now be cleared in both ReST and MyST.
* Support for Python 3.6 has been dropped.
* Support for pytest versions earlier than 7.1 has been dropped.
* Switch :func:`sybil.parsers.myst.SkipParser` to use the correct comment
character.
* Warn about ReST and MyST doctest parsers and overlapping blocks.
* Restructure to support lexing source languages such as ReST and MyST
while testing examples in target languages such as Python, doctest and bash.
* Add support for MyST examples.
- Drop patch pytest74.patch, included upstream.
- Sprinkle in multibuild to avoid a cycle.
-------------------------------------------------------------------
Tue Jan 16 15:22:42 UTC 2024 - Markéta Machová <mmachova@suse.com>
- Drop unneeded setuptools-git dependency
-------------------------------------------------------------------
Tue Jul 25 12:42:51 UTC 2023 - Markéta Machová <mmachova@suse.com>

View File

@ -1,7 +1,7 @@
#
# spec file for package python-sybil
#
# Copyright (c) 2023 SUSE LLC
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -16,24 +16,38 @@
#
%global flavor @BUILD_FLAVOR@%{nil}
%if "%{flavor}" == "test"
%define psuffix -test
%bcond_without test
%else
%define psuffix %{nil}
%bcond_with test
%endif
%{?sle15_python_module_pythons}
Name: python-sybil
Version: 3.0.1
Name: python-sybil%{psuffix}
Version: 6.1.1
Release: 0
Summary: Automated testing of examples in documentation
License: MIT
URL: https://github.com/cjw296/sybil
Source: https://files.pythonhosted.org/packages/source/s/sybil/sybil-%{version}.tar.gz
#PATCH-FIX-UPSTREAM https://github.com/simplistix/sybil/commit/df0d221c1d9da1454a5ef7fd72675d8d43b96eb0 Deal with more pytest internals changing
Patch: pytest74.patch
URL: https://github.com/simplistix/sybil
Source: https://github.com/simplistix/sybil/archive/refs/tags/%{version}.tar.gz#/sybil-%{version}.tar.gz
BuildRequires: %{python_module base >= 3.7}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module pytest >= 6.2}
BuildRequires: %{python_module setuptools-git}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module wheel}
%if %{with test}
BuildRequires: %{python_module PyYAML}
BuildRequires: %{python_module pytest >= 7.1}
BuildRequires: %{python_module sybil = %{version}}
BuildRequires: %{python_module testfixtures}
%if 0%{?sle_version} && 0%{?sle_version} <= 150400
BuildRequires: %{python_module dataclasses}
%endif
%if 0%{suse_version} > 1600
BuildRequires: %{python_module seedir}
%endif
%endif
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Recommends: python-pytest
@ -46,24 +60,40 @@ them from the documentation source and evaluating the parsed examples as part
of the normal test run. Integration is provided for the main Python test runners.
%prep
%setup -q -n sybil-%{version}
%autosetup -p1 -n sybil-%{version}
sed -i '/pytest-cov/ d' setup.py
%autopatch -p1
%if 0%{suse_version} <= 1600
# Remove seedir dependency for SLFO
sed -i '/import seedir/d' tests/helpers.py
%endif
%build
%pyproject_wheel
%if !%{with test}
%install
%pyproject_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%endif
%check
%pytest
%if %{with test}
%if 0%{suse_version} <= 1600
# Remove seedir build dependency
test_flags="--ignore docs/patterns.rst"
%endif
%pytest $test_flags
%endif
%if !%{with test}
%files %{python_files}
%doc README.rst docs/changes.rst
%license docs/license.rst
%{python_sitelib}/sybil
%{python_sitelib}/sybil-%{version}*-info
%{python_sitelib}/sybil-%{version}.dist-info
%endif
%changelog

BIN
sybil-3.0.1.tar.gz (Stored with Git LFS)

Binary file not shown.

BIN
sybil-6.1.1.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.