- 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 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-sybil?expand=0&rev=36
This commit is contained in:
parent
019627b665
commit
03c5560bbe
@ -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,
|
@ -1,3 +1,51 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed May 8 04:19:03 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.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jan 16 15:22:42 UTC 2024 - Markéta Machová <mmachova@suse.com>
|
||||
|
||||
|
@ -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
|
||||
@ -18,17 +18,19 @@
|
||||
|
||||
%{?sle15_python_module_pythons}
|
||||
Name: python-sybil
|
||||
Version: 3.0.1
|
||||
Version: 6.1.0
|
||||
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 PyYAML}
|
||||
BuildRequires: %{python_module base >= 3.7}
|
||||
BuildRequires: %{python_module pip}
|
||||
BuildRequires: %{python_module pytest >= 6.2}
|
||||
BuildRequires: %{python_module pytest >= 7.1}
|
||||
BuildRequires: %{python_module seedir}
|
||||
BuildRequires: %{python_module setuptools}
|
||||
BuildRequires: %{python_module testfixtures}
|
||||
BuildRequires: %{python_module wheel}
|
||||
%if 0%{?sle_version} && 0%{?sle_version} <= 150400
|
||||
BuildRequires: %{python_module dataclasses}
|
||||
@ -45,9 +47,8 @@ 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
|
||||
|
||||
%build
|
||||
%pyproject_wheel
|
||||
@ -63,6 +64,6 @@ sed -i '/pytest-cov/ d' setup.py
|
||||
%doc README.rst docs/changes.rst
|
||||
%license docs/license.rst
|
||||
%{python_sitelib}/sybil
|
||||
%{python_sitelib}/sybil-%{version}*-info
|
||||
%{python_sitelib}/sybil-%{version}.dist-info
|
||||
|
||||
%changelog
|
||||
|
BIN
sybil-3.0.1.tar.gz
(Stored with Git LFS)
BIN
sybil-3.0.1.tar.gz
(Stored with Git LFS)
Binary file not shown.
3
sybil-6.1.0.tar.gz
Normal file
3
sybil-6.1.0.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:6a50c5ee9cc289f8c1055aa4f922c9ed9c3d8529ec002b70dbc73fd1906d094a
|
||||
size 70823
|
Loading…
x
Reference in New Issue
Block a user