- 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:
Steve Kowalik 2024-05-08 04:24:44 +00:00 committed by Git OBS Bridge
parent 019627b665
commit 03c5560bbe
5 changed files with 62 additions and 56 deletions

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,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> Tue Jan 16 15:22:42 UTC 2024 - Markéta Machová <mmachova@suse.com>

View File

@ -1,7 +1,7 @@
# #
# spec file for package python-sybil # 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 # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -18,17 +18,19 @@
%{?sle15_python_module_pythons} %{?sle15_python_module_pythons}
Name: python-sybil Name: python-sybil
Version: 3.0.1 Version: 6.1.0
Release: 0 Release: 0
Summary: Automated testing of examples in documentation Summary: Automated testing of examples in documentation
License: MIT License: MIT
URL: https://github.com/cjw296/sybil URL: https://github.com/simplistix/sybil
Source: https://files.pythonhosted.org/packages/source/s/sybil/sybil-%{version}.tar.gz Source: https://github.com/simplistix/sybil/archive/refs/tags/%{version}.tar.gz#/sybil-%{version}.tar.gz
#PATCH-FIX-UPSTREAM https://github.com/simplistix/sybil/commit/df0d221c1d9da1454a5ef7fd72675d8d43b96eb0 Deal with more pytest internals changing BuildRequires: %{python_module PyYAML}
Patch: pytest74.patch BuildRequires: %{python_module base >= 3.7}
BuildRequires: %{python_module pip} 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 setuptools}
BuildRequires: %{python_module testfixtures}
BuildRequires: %{python_module wheel} BuildRequires: %{python_module wheel}
%if 0%{?sle_version} && 0%{?sle_version} <= 150400 %if 0%{?sle_version} && 0%{?sle_version} <= 150400
BuildRequires: %{python_module dataclasses} 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. of the normal test run. Integration is provided for the main Python test runners.
%prep %prep
%setup -q -n sybil-%{version} %autosetup -p1 -n sybil-%{version}
sed -i '/pytest-cov/ d' setup.py sed -i '/pytest-cov/ d' setup.py
%autopatch -p1
%build %build
%pyproject_wheel %pyproject_wheel
@ -63,6 +64,6 @@ sed -i '/pytest-cov/ d' setup.py
%doc README.rst docs/changes.rst %doc README.rst docs/changes.rst
%license docs/license.rst %license docs/license.rst
%{python_sitelib}/sybil %{python_sitelib}/sybil
%{python_sitelib}/sybil-%{version}*-info %{python_sitelib}/sybil-%{version}.dist-info
%changelog %changelog

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

Binary file not shown.

3
sybil-6.1.0.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6a50c5ee9cc289f8c1055aa4f922c9ed9c3d8529ec002b70dbc73fd1906d094a
size 70823