- 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>

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
@ -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)

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