diff --git a/pytest74.patch b/pytest74.patch deleted file mode 100644 index f9ca1f7..0000000 --- a/pytest74.patch +++ /dev/null @@ -1,43 +0,0 @@ -From df0d221c1d9da1454a5ef7fd72675d8d43b96eb0 Mon Sep 17 00:00:00 2001 -From: Chris Withers -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, diff --git a/python-sybil.changes b/python-sybil.changes index fc509ae..4e51352 100644 --- a/python-sybil.changes +++ b/python-sybil.changes @@ -1,3 +1,51 @@ +------------------------------------------------------------------- +Wed May 8 04:19:03 UTC 2024 - Steve Kowalik + +- 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 ` 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á diff --git a/python-sybil.spec b/python-sybil.spec index d7871d4..969dc27 100644 --- a/python-sybil.spec +++ b/python-sybil.spec @@ -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 diff --git a/sybil-3.0.1.tar.gz b/sybil-3.0.1.tar.gz deleted file mode 100644 index 39d781e..0000000 --- a/sybil-3.0.1.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6f02dc2204af7e5a212037924d974f72781f6dc18fd3c44cc7ce463a120f530d -size 38265 diff --git a/sybil-6.1.0.tar.gz b/sybil-6.1.0.tar.gz new file mode 100644 index 0000000..421d2d3 --- /dev/null +++ b/sybil-6.1.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6a50c5ee9cc289f8c1055aa4f922c9ed9c3d8529ec002b70dbc73fd1906d094a +size 70823