Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-Arpeggio for openSUSE:Factory checked in at 2023-07-12 17:27:08 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-Arpeggio (Old) and /work/SRC/openSUSE:Factory/.python-Arpeggio.new.8922 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-Arpeggio" Wed Jul 12 17:27:08 2023 rev:16 rq:1098174 version:2.0.2 Changes: -------- --- /work/SRC/openSUSE:Factory/python-Arpeggio/python-Arpeggio.changes 2022-08-18 16:49:44.561526308 +0200 +++ /work/SRC/openSUSE:Factory/.python-Arpeggio.new.8922/python-Arpeggio.changes 2023-07-12 17:27:31.610575694 +0200 @@ -1,0 +2,7 @@ +Tue Jul 11 13:21:36 UTC 2023 - Dirk Müller <dmuel...@suse.com> + +- update to 2.0.2: + * fix: drop deprecated `setup_requires` and `tests_require` + * fix: replace ` ` with `\n` in error reports for matches + +------------------------------------------------------------------- Old: ---- python-Arpeggio-2.0.0.tar.gz New: ---- python-Arpeggio-2.0.2.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-Arpeggio.spec ++++++ --- /var/tmp/diff_new_pack.So6QUq/_old 2023-07-12 17:27:32.654582922 +0200 +++ /var/tmp/diff_new_pack.So6QUq/_new 2023-07-12 17:27:32.662582977 +0200 @@ -1,7 +1,7 @@ # # spec file for package python-Arpeggio # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,7 +19,7 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} %define skip_python2 1 Name: python-Arpeggio -Version: 2.0.0 +Version: 2.0.2 Release: 0 Summary: Packrat parser interpreter License: MIT ++++++ python-Arpeggio-2.0.0.tar.gz -> python-Arpeggio-2.0.2.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Arpeggio-2.0.0/.github/workflows/ci-linux-ubuntu.yml new/Arpeggio-2.0.2/.github/workflows/ci-linux-ubuntu.yml --- old/Arpeggio-2.0.0/.github/workflows/ci-linux-ubuntu.yml 2022-03-20 17:39:33.000000000 +0100 +++ new/Arpeggio-2.0.2/.github/workflows/ci-linux-ubuntu.yml 2023-07-09 14:24:13.000000000 +0200 @@ -9,15 +9,15 @@ jobs: build: - runs-on: ubuntu-18.04 + runs-on: ubuntu-20.04 strategy: matrix: - python-version: ["3.6", "3.7", "3.8", "3.9", "3.10"] + python-version: ["3.6", "3.7", "3.8", "3.9", "3.10", "3.11"] steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v2 + uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} - name: Install test dependencies @@ -29,5 +29,6 @@ - name: Coveralls env: COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }} + GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} run: | - coveralls + coveralls --service=github diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Arpeggio-2.0.0/.gitignore new/Arpeggio-2.0.2/.gitignore --- old/Arpeggio-2.0.0/.gitignore 2022-03-20 17:39:33.000000000 +0100 +++ new/Arpeggio-2.0.2/.gitignore 2023-07-09 14:24:13.000000000 +0200 @@ -47,6 +47,9 @@ *.dot.png !docs/**/*.png +# JetBrains IDE artifacts. +.idea + # Other .~lock* *.log @@ -56,4 +59,5 @@ .cache venv .ropeproject -coverage \ No newline at end of file +coverage + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Arpeggio-2.0.0/CHANGELOG.md new/Arpeggio-2.0.2/CHANGELOG.md --- old/Arpeggio-2.0.0/CHANGELOG.md 2022-03-20 17:39:33.000000000 +0100 +++ new/Arpeggio-2.0.2/CHANGELOG.md 2023-07-09 14:24:13.000000000 +0200 @@ -12,11 +12,19 @@ reason for the major version increase so when upgrading between major versions please take a look at related PRs and issues and see if the change affects you. - ## [Unreleased] -[Unreleased]: https://github.com/textX/Arpeggio/compare/2.0.0...HEAD +[Unreleased]: https://github.com/textX/Arpeggio/compare/2.0.1...HEAD + + +## [2.0.1] (released: 2023-07-09) + +- fix: replace `\n` with `\\n` in error reports for matches [#99]. Thanks + @mettta and @stanislaw. + +[Unreleased]: https://github.com/textX/Arpeggio/compare/2.0.0...2.0.1 +[#99]: https://github.com/textX/Arpeggio/pull/99 ## [2.0.0] (released: 2022-03-20) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Arpeggio-2.0.0/arpeggio/__init__.py new/Arpeggio-2.0.2/arpeggio/__init__.py --- old/Arpeggio-2.0.0/arpeggio/__init__.py 2022-03-20 17:39:33.000000000 +0100 +++ new/Arpeggio-2.0.2/arpeggio/__init__.py 2023-07-09 14:24:13.000000000 +0200 @@ -20,7 +20,7 @@ from arpeggio.utils import isstr import types -__version__ = "2.0.0" +__version__ = "2.0.2" if sys.version < '3': text = unicode @@ -86,7 +86,7 @@ return rule.rule_name elif isinstance(rule, Match) and \ not isinstance(rule, EndOfFile): - return "'{}'".format(rule.to_match) + return "'{}'".format(rule.to_match.replace('\n', '\\n')) else: return rule.name diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Arpeggio-2.0.0/arpeggio/tests/test_error_reporting.py new/Arpeggio-2.0.2/arpeggio/tests/test_error_reporting.py --- old/Arpeggio-2.0.0/arpeggio/tests/test_error_reporting.py 2022-03-20 17:39:33.000000000 +0100 +++ new/Arpeggio-2.0.2/arpeggio/tests/test_error_reporting.py 2023-07-09 14:24:13.000000000 +0200 @@ -168,3 +168,56 @@ with pytest.raises(NoMatch) as e: parser.parse(' four ident') assert "Expected 'one' or 'two' at" in str(e.value) + + +# HACK: Disabled just for this bugfix release as this require new handling of +# infallibles +def _test_not_succeed_in_ordered_choice(): + """ + Test that Not can succeed in ordered choice leading to ordered choice + to succeed. + See: https://github.com/textX/Arpeggio/issues/96 + """ + + def grammar(): + return [Not("a"), "a"], Optional("b") + + parser = ParserPython(grammar) + parser.parse('b') + + +def test_reporting_newline_symbols_when_not_matched(): + + # A case when a string match has newline + def grammar(): + return "first", "\n" + + parser = ParserPython(grammar, skipws=False) + + with pytest.raises(NoMatch) as e: + _ = parser.parse('first') + + assert "Expected '\\n' at position (1, 6)" in str(e.value) + + # A case when regex match has newline + from arpeggio import RegExMatch + def grammar(): + return "first", RegExMatch("\n") + + parser = ParserPython(grammar, skipws=False) + + with pytest.raises(NoMatch) as e: + _ = parser.parse('first') + + assert "Expected '\\n' at position (1, 6)" in str(e.value) + + # A case when the match is the root rule + def grammar(): + return "root\nrule" + + parser = ParserPython(grammar, skipws=False) + + with pytest.raises(NoMatch) as e: + _ = parser.parse('something') + + assert "Expected grammar at position (1, 1)" in str(e.value) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Arpeggio-2.0.0/runtests.sh new/Arpeggio-2.0.2/runtests.sh --- old/Arpeggio-2.0.0/runtests.sh 2022-03-20 17:39:33.000000000 +0100 +++ new/Arpeggio-2.0.2/runtests.sh 2023-07-09 14:24:13.000000000 +0200 @@ -1,7 +1,7 @@ #!/bin/sh # Run all tests and generate coverage report -coverage run --omit="arpeggio/tests/*" --source arpeggio -m py.test arpeggio/tests || exit 1 +coverage run --omit="arpeggio/tests/*" --source arpeggio -m pytest arpeggio/tests || exit 1 coverage report --fail-under 90 || exit 1 # Run this to generate html report # coverage html --directory=coverage diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Arpeggio-2.0.0/setup.cfg new/Arpeggio-2.0.2/setup.cfg --- old/Arpeggio-2.0.0/setup.cfg 2022-03-20 17:39:33.000000000 +0100 +++ new/Arpeggio-2.0.2/setup.cfg 2023-07-09 14:24:13.000000000 +0200 @@ -29,10 +29,6 @@ [options] packages = find: include_package_data = True -setup_requires = - pytest-runner - wheel -tests_require = pytest [options.packages.find] exclude =