--- Begin Message ---
Source: parso
Version: 0.8.1-1
Severity: serious
Justification: FTBFS
Tags: bookworm sid ftbfs
User: lu...@debian.org
Usertags: ftbfs-20211220 ftbfs-bookworm
Hi,
During a rebuild of all packages in sid, your package failed to build
on amd64.
Relevant part (hopefully):
> make[1]: Entering directory '/<<PKGBUILDDIR>>'
> dh_auto_build -i
> I: pybuild base:237: /usr/bin/python3.10 setup.py build
> running build
> running build_py
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_parso/build/parso
> copying parso/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_parso/build/parso
> copying parso/parser.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_parso/build/parso
> copying parso/grammar.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_parso/build/parso
> copying parso/cache.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_parso/build/parso
> copying parso/tree.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_parso/build/parso
> copying parso/file_io.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_parso/build/parso
> copying parso/normalizer.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_parso/build/parso
> copying parso/_compatibility.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_parso/build/parso
> copying parso/utils.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_parso/build/parso
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_parso/build/parso/python
> copying parso/python/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_parso/build/parso/python
> copying parso/python/parser.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_parso/build/parso/python
> copying parso/python/errors.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_parso/build/parso/python
> copying parso/python/tokenize.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_parso/build/parso/python
> copying parso/python/pep8.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_parso/build/parso/python
> copying parso/python/tree.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_parso/build/parso/python
> copying parso/python/prefix.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_parso/build/parso/python
> copying parso/python/diff.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_parso/build/parso/python
> copying parso/python/token.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_parso/build/parso/python
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_parso/build/parso/pgen2
> copying parso/pgen2/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_parso/build/parso/pgen2
> copying parso/pgen2/grammar_parser.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_parso/build/parso/pgen2
> copying parso/pgen2/generator.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_parso/build/parso/pgen2
> running egg_info
> writing parso.egg-info/PKG-INFO
> writing dependency_links to parso.egg-info/dependency_links.txt
> writing requirements to parso.egg-info/requires.txt
> writing top-level names to parso.egg-info/top_level.txt
> reading manifest file 'parso.egg-info/SOURCES.txt'
> reading manifest template 'MANIFEST.in'
> warning: no previously-included files matching '*.pyc' found under directory
> '*'
> adding license file 'LICENSE.txt'
> adding license file 'AUTHORS.txt'
> writing manifest file 'parso.egg-info/SOURCES.txt'
> copying parso/python/grammar39.txt ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_parso/build/parso/python
> copying parso/python/grammar38.txt ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_parso/build/parso/python
> copying parso/python/grammar36.txt ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_parso/build/parso/python
> copying parso/python/grammar310.txt ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_parso/build/parso/python
> copying parso/python/grammar37.txt ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_parso/build/parso/python
> I: pybuild base:237: /usr/bin/python3 setup.py build
> running build
> running build_py
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_parso/build/parso
> copying parso/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_parso/build/parso
> copying parso/parser.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_parso/build/parso
> copying parso/grammar.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_parso/build/parso
> copying parso/cache.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_parso/build/parso
> copying parso/tree.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_parso/build/parso
> copying parso/file_io.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_parso/build/parso
> copying parso/normalizer.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_parso/build/parso
> copying parso/_compatibility.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_parso/build/parso
> copying parso/utils.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_parso/build/parso
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_parso/build/parso/python
> copying parso/python/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_parso/build/parso/python
> copying parso/python/parser.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_parso/build/parso/python
> copying parso/python/errors.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_parso/build/parso/python
> copying parso/python/tokenize.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_parso/build/parso/python
> copying parso/python/pep8.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_parso/build/parso/python
> copying parso/python/tree.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_parso/build/parso/python
> copying parso/python/prefix.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_parso/build/parso/python
> copying parso/python/diff.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_parso/build/parso/python
> copying parso/python/token.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_parso/build/parso/python
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_parso/build/parso/pgen2
> copying parso/pgen2/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_parso/build/parso/pgen2
> copying parso/pgen2/grammar_parser.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_parso/build/parso/pgen2
> copying parso/pgen2/generator.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_parso/build/parso/pgen2
> running egg_info
> writing parso.egg-info/PKG-INFO
> writing dependency_links to parso.egg-info/dependency_links.txt
> writing requirements to parso.egg-info/requires.txt
> writing top-level names to parso.egg-info/top_level.txt
> reading manifest file 'parso.egg-info/SOURCES.txt'
> reading manifest template 'MANIFEST.in'
> warning: no previously-included files matching '*.pyc' found under directory
> '*'
> adding license file 'LICENSE.txt'
> adding license file 'AUTHORS.txt'
> writing manifest file 'parso.egg-info/SOURCES.txt'
> copying parso/python/grammar39.txt ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_parso/build/parso/python
> copying parso/python/grammar38.txt ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_parso/build/parso/python
> copying parso/python/grammar36.txt ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_parso/build/parso/python
> copying parso/python/grammar310.txt ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_parso/build/parso/python
> copying parso/python/grammar37.txt ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_parso/build/parso/python
> cd docs && \
> PYTHONPATH=/<<PKGBUILDDIR>> http_proxy='http://127.0.0.1:9/'
> https_proxy='https://127.0.0.1:9/' \
> sphinx-build -N -E -T -b html . /<<PKGBUILDDIR>>/.pybuild/docs/html/
> Running Sphinx v4.3.2
> making output directory... done
> loading intersphinx inventory from https://docs.python.org/3/objects.inv...
> WARNING: failed to reach any of the inventories with the following issues:
> intersphinx inventory 'https://docs.python.org/3/objects.inv' not fetchable
> due to <class 'requests.exceptions.ProxyError'>:
> HTTPSConnectionPool(host='docs.python.org', port=443): Max retries exceeded
> with url: /3/objects.inv (Caused by ProxyError('Cannot connect to proxy.',
> NewConnectionError('<urllib3.connection.HTTPSConnection object at
> 0x7f1cfa267b20>: Failed to establish a new connection: [Errno 111] Connection
> refused')))
> building [mo]: targets for 0 po files that are out of date
> building [html]: targets for 6 source files that are out of date
> updating environment: [new config] 6 added, 0 changed, 0 removed
> reading sources... [ 16%] docs/development
> reading sources... [ 33%] docs/installation
> reading sources... [ 50%] docs/parser-tree
> reading sources... [ 66%] docs/usage
> reading sources... [ 83%] global
> reading sources... [100%] index
>
> looking for now-outdated files... none found
> pickling environment... done
> checking consistency... done
> preparing documents... done
> writing output... [ 16%] docs/development
> writing output... [ 33%] docs/installation
> writing output... [ 50%] docs/parser-tree
> writing output... [ 66%] docs/usage
> writing output... [ 83%] global
> writing output... [100%] index
>
> generating indices... genindex py-modindex done
> highlighting module code... [ 16%] parso
> highlighting module code... [ 33%] parso.grammar
> highlighting module code... [ 50%] parso.normalizer
> highlighting module code... [ 66%] parso.python.tree
> highlighting module code... [ 83%] parso.tree
> highlighting module code... [100%] parso.utils
>
> writing additional pages... search done
> copying static files... done
> copying extra files... done
> dumping search index in English (code: en)... done
> dumping object inventory... done
> build succeeded, 1 warning.
>
> The HTML pages are in ../.pybuild/docs/html.
> rm -rf /<<PKGBUILDDIR>>/.pybuild/docs/html/.doctrees
> make[1]: Leaving directory '/<<PKGBUILDDIR>>'
> dh_auto_test -O--buildsystem=pybuild
> I: pybuild base:237: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_parso/build;
> python3.10 -m pytest test
> ============================= test session starts
> ==============================
> platform linux -- Python 3.10.1, pytest-6.2.5, py-1.10.0, pluggy-0.13.0
> rootdir: /<<PKGBUILDDIR>>, configfile: pytest.ini
> collected 1245 items
>
> test/test_cache.py ......... [
> 0%]
> test/test_diff_parser.py ............................................... [
> 4%]
> ................................... [
> 7%]
> test/test_error_recovery.py ............. [
> 8%]
> test/test_file_python_errors.py ..... [
> 8%]
> test/test_fstring.py ................................................... [
> 12%]
> .................. [
> 14%]
> test/test_get_code.py ............. [
> 15%]
> test/test_grammar.py . [
> 15%]
> test/test_load_grammar.py ........... [
> 16%]
> test/test_normalizer_issues_files.py ............................. [
> 18%]
> test/test_old_fast_parser.py ............... [
> 19%]
> test/test_param_splitting.py ....... [
> 20%]
> test/test_parser.py .................................................... [
> 24%]
> ........................................................................ [
> 30%]
> .................. [
> 31%]
> test/test_parser_tree.py ............................................... [
> 35%]
> ...................... [
> 37%]
> test/test_pep8.py ... [
> 37%]
> test/test_pgen2.py ..................................................... [
> 41%]
> ........................................................................ [
> 47%]
> ........................................................................ [
> 53%]
> ........................................................................ [
> 59%]
> .. [
> 59%]
> test/test_prefix.py ..................... [
> 61%]
> test/test_python_errors.py ......................................FF..... [
> 64%]
> ...F........FFF....FFF..F.FFFFFFFFFFFFF.FFFF...F......F......FF......... [
> 70%]
> .......FFFF.......FF........................................F........... [
> 76%]
> ............FF........F...................F............................. [
> 82%]
> ................................................................. [
> 87%]
> test/test_tokenize.py .................................................. [
> 91%]
> ........................................................................ [
> 97%]
> ...... [
> 97%]
> test/test_utils.py ...............................
> [100%]
>
> =================================== FAILURES
> ===================================
> ____________________ test_python_exception_matches[{} += 1]
> ____________________
>
> code = '{} += 1'
>
> @pytest.mark.parametrize('code', FAILING_EXAMPLES)
> def test_python_exception_matches(code):
> wanted, line_nr = _get_actual_exception(code)
>
> errors = _get_error_list(code)
> actual = None
> if errors:
> error, = errors
> actual = error.message
> > assert actual in wanted
> E assert "SyntaxError: 'dict display' is an illegal expression for
> augmented assignment" in ["SyntaxError: 'dict literal' is an illegal
> expression for augmented assignment"]
>
> test/test_python_errors.py:41: AssertionError
> __________________ test_python_exception_matches[{a:b} += 1]
> ___________________
>
> code = '{a:b} += 1'
>
> @pytest.mark.parametrize('code', FAILING_EXAMPLES)
> def test_python_exception_matches(code):
> wanted, line_nr = _get_actual_exception(code)
>
> errors = _get_error_list(code)
> actual = None
> if errors:
> error, = errors
> actual = error.message
> > assert actual in wanted
> E assert "SyntaxError: 'dict display' is an illegal expression for
> augmented assignment" in ["SyntaxError: 'dict literal' is an illegal
> expression for augmented assignment"]
>
> test/test_python_errors.py:41: AssertionError
> ___________________ test_python_exception_matches[... += 1]
> ____________________
>
> code = '... += 1'
>
> @pytest.mark.parametrize('code', FAILING_EXAMPLES)
> def test_python_exception_matches(code):
> wanted, line_nr = _get_actual_exception(code)
>
> errors = _get_error_list(code)
> actual = None
> if errors:
> error, = errors
> actual = error.message
> > assert actual in wanted
> E assert "SyntaxError: 'Ellipsis' is an illegal expression for
> augmented assignment" in ["SyntaxError: 'ellipsis' is an illegal expression
> for augmented assignment"]
>
> test/test_python_errors.py:41: AssertionError
> __________________ test_python_exception_matches[a + b += 1]
> ___________________
>
> code = 'a + b += 1'
>
> @pytest.mark.parametrize('code', FAILING_EXAMPLES)
> def test_python_exception_matches(code):
> wanted, line_nr = _get_actual_exception(code)
>
> errors = _get_error_list(code)
> actual = None
> if errors:
> error, = errors
> actual = error.message
> > assert actual in wanted
> E assert "SyntaxError: 'operator' is an illegal expression for
> augmented assignment" in ["SyntaxError: 'expression' is an illegal expression
> for augmented assignment"]
>
> test/test_python_errors.py:41: AssertionError
> ____________________ test_python_exception_matches[+a += 1]
> ____________________
>
> code = '+a += 1'
>
> @pytest.mark.parametrize('code', FAILING_EXAMPLES)
> def test_python_exception_matches(code):
> wanted, line_nr = _get_actual_exception(code)
>
> errors = _get_error_list(code)
> actual = None
> if errors:
> error, = errors
> actual = error.message
> > assert actual in wanted
> E assert "SyntaxError: 'operator' is an illegal expression for
> augmented assignment" in ["SyntaxError: 'expression' is an illegal expression
> for augmented assignment"]
>
> test/test_python_errors.py:41: AssertionError
> _________________ test_python_exception_matches[a and b += 1]
> __________________
>
> code = 'a and b += 1'
>
> @pytest.mark.parametrize('code', FAILING_EXAMPLES)
> def test_python_exception_matches(code):
> wanted, line_nr = _get_actual_exception(code)
>
> errors = _get_error_list(code)
> actual = None
> if errors:
> error, = errors
> actual = error.message
> > assert actual in wanted
> E assert "SyntaxError: 'operator' is an illegal expression for
> augmented assignment" in ["SyntaxError: 'expression' is an illegal expression
> for augmented assignment"]
>
> test/test_python_errors.py:41: AssertionError
> ______________ test_python_exception_matches[[x for x in y] = 1]
> _______________
>
> code = '[x for x in y] = 1'
>
> @pytest.mark.parametrize('code', FAILING_EXAMPLES)
> def test_python_exception_matches(code):
> wanted, line_nr = _get_actual_exception(code)
>
> errors = _get_error_list(code)
> actual = None
> if errors:
> error, = errors
> actual = error.message
> > assert actual in wanted
> E assert 'SyntaxError: cannot assign to list comprehension' in
> ["SyntaxError: cannot assign to list comprehension here. Maybe you meant '=='
> instead of '='?"]
>
> test/test_python_errors.py:41: AssertionError
> ______________ test_python_exception_matches[{x for x in y} = 1]
> _______________
>
> code = '{x for x in y} = 1'
>
> @pytest.mark.parametrize('code', FAILING_EXAMPLES)
> def test_python_exception_matches(code):
> wanted, line_nr = _get_actual_exception(code)
>
> errors = _get_error_list(code)
> actual = None
> if errors:
> error, = errors
> actual = error.message
> > assert actual in wanted
> E assert 'SyntaxError: cannot assign to set comprehension' in
> ["SyntaxError: cannot assign to set comprehension here. Maybe you meant '=='
> instead of '='?"]
>
> test/test_python_errors.py:41: AssertionError
> _____________ test_python_exception_matches[{x:x for x in y} = 1]
> ______________
>
> code = '{x:x for x in y} = 1'
>
> @pytest.mark.parametrize('code', FAILING_EXAMPLES)
> def test_python_exception_matches(code):
> wanted, line_nr = _get_actual_exception(code)
>
> errors = _get_error_list(code)
> actual = None
> if errors:
> error, = errors
> actual = error.message
> > assert actual in wanted
> E assert 'SyntaxError: cannot assign to dict comprehension' in
> ["SyntaxError: cannot assign to dict comprehension here. Maybe you meant '=='
> instead of '='?"]
>
> test/test_python_errors.py:41: AssertionError
> ____________________ test_python_exception_matches[... = 1]
> ____________________
>
> code = '... = 1'
>
> @pytest.mark.parametrize('code', FAILING_EXAMPLES)
> def test_python_exception_matches(code):
> wanted, line_nr = _get_actual_exception(code)
>
> errors = _get_error_list(code)
> actual = None
> if errors:
> error, = errors
> actual = error.message
> > assert actual in wanted
> E assert 'SyntaxError: cannot assign to Ellipsis' in ["SyntaxError:
> cannot assign to ellipsis here. Maybe you meant '==' instead of '='?"]
>
> test/test_python_errors.py:41: AssertionError
> __________________ test_python_exception_matches[{a, b} = 1]
> ___________________
>
> code = '{a, b} = 1'
>
> @pytest.mark.parametrize('code', FAILING_EXAMPLES)
> def test_python_exception_matches(code):
> wanted, line_nr = _get_actual_exception(code)
>
> errors = _get_error_list(code)
> actual = None
> if errors:
> error, = errors
> actual = error.message
> > assert actual in wanted
> E assert 'SyntaxError: cannot assign to set display' in ["SyntaxError:
> cannot assign to set display here. Maybe you meant '==' instead of '='?"]
>
> test/test_python_errors.py:41: AssertionError
> __________________ test_python_exception_matches[{a: b} = 1]
> ___________________
>
> code = '{a: b} = 1'
>
> @pytest.mark.parametrize('code', FAILING_EXAMPLES)
> def test_python_exception_matches(code):
> wanted, line_nr = _get_actual_exception(code)
>
> errors = _get_error_list(code)
> actual = None
> if errors:
> error, = errors
> actual = error.message
> > assert actual in wanted
> E assert 'SyntaxError: cannot assign to dict display' in ["SyntaxError:
> cannot assign to dict literal here. Maybe you meant '==' instead of '='?"]
>
> test/test_python_errors.py:41: AssertionError
> _____________________ test_python_exception_matches[1 = 1]
> _____________________
>
> code = '1 = 1'
>
> @pytest.mark.parametrize('code', FAILING_EXAMPLES)
> def test_python_exception_matches(code):
> wanted, line_nr = _get_actual_exception(code)
>
> errors = _get_error_list(code)
> actual = None
> if errors:
> error, = errors
> actual = error.message
> > assert actual in wanted
> E assert 'SyntaxError: cannot assign to literal' in ["SyntaxError:
> cannot assign to literal here. Maybe you meant '==' instead of '='?"]
>
> test/test_python_errors.py:41: AssertionError
> ____________________ test_python_exception_matches["" = 1]
> _____________________
>
> code = '"" = 1'
>
> @pytest.mark.parametrize('code', FAILING_EXAMPLES)
> def test_python_exception_matches(code):
> wanted, line_nr = _get_actual_exception(code)
>
> errors = _get_error_list(code)
> actual = None
> if errors:
> error, = errors
> actual = error.message
> > assert actual in wanted
> E assert 'SyntaxError: cannot assign to literal' in ["SyntaxError:
> cannot assign to literal here. Maybe you meant '==' instead of '='?"]
>
> test/test_python_errors.py:41: AssertionError
> ___________________ test_python_exception_matches[b"" = 10]
> ____________________
>
> code = 'b"" = 1'
>
> @pytest.mark.parametrize('code', FAILING_EXAMPLES)
> def test_python_exception_matches(code):
> wanted, line_nr = _get_actual_exception(code)
>
> errors = _get_error_list(code)
> actual = None
> if errors:
> error, = errors
> actual = error.message
> > assert actual in wanted
> E assert 'SyntaxError: cannot assign to literal' in ["SyntaxError:
> cannot assign to literal here. Maybe you meant '==' instead of '='?"]
>
> test/test_python_errors.py:41: AssertionError
> ___________________ test_python_exception_matches[b"" = 11]
> ____________________
>
> code = 'b"" = 1'
>
> @pytest.mark.parametrize('code', FAILING_EXAMPLES)
> def test_python_exception_matches(code):
> wanted, line_nr = _get_actual_exception(code)
>
> errors = _get_error_list(code)
> actual = None
> if errors:
> error, = errors
> actual = error.message
> > assert actual in wanted
> E assert 'SyntaxError: cannot assign to literal' in ["SyntaxError:
> cannot assign to literal here. Maybe you meant '==' instead of '='?"]
>
> test/test_python_errors.py:41: AssertionError
> ___________________ test_python_exception_matches["" "" = 1]
> ___________________
>
> code = '"" "" = 1'
>
> @pytest.mark.parametrize('code', FAILING_EXAMPLES)
> def test_python_exception_matches(code):
> wanted, line_nr = _get_actual_exception(code)
>
> errors = _get_error_list(code)
> actual = None
> if errors:
> error, = errors
> actual = error.message
> > assert actual in wanted
> E assert 'SyntaxError: cannot assign to literal' in ["SyntaxError:
> cannot assign to literal here. Maybe you meant '==' instead of '='?"]
>
> test/test_python_errors.py:41: AssertionError
> ___________________ test_python_exception_matches[1 | 1 = 3]
> ___________________
>
> code = '1 | 1 = 3'
>
> @pytest.mark.parametrize('code', FAILING_EXAMPLES)
> def test_python_exception_matches(code):
> wanted, line_nr = _get_actual_exception(code)
>
> errors = _get_error_list(code)
> actual = None
> if errors:
> error, = errors
> actual = error.message
> > assert actual in wanted
> E assert 'SyntaxError: cannot assign to operator' in ["SyntaxError:
> cannot assign to expression here. Maybe you meant '==' instead of '='?"]
>
> test/test_python_errors.py:41: AssertionError
> ___________________ test_python_exception_matches[1**1 = 3]
> ____________________
>
> code = '1**1 = 3'
>
> @pytest.mark.parametrize('code', FAILING_EXAMPLES)
> def test_python_exception_matches(code):
> wanted, line_nr = _get_actual_exception(code)
>
> errors = _get_error_list(code)
> actual = None
> if errors:
> error, = errors
> actual = error.message
> > assert actual in wanted
> E assert 'SyntaxError: cannot assign to operator' in ["SyntaxError:
> cannot assign to expression here. Maybe you meant '==' instead of '='?"]
>
> test/test_python_errors.py:41: AssertionError
> ____________________ test_python_exception_matches[~ 1 = 3]
> ____________________
>
> code = '~ 1 = 3'
>
> @pytest.mark.parametrize('code', FAILING_EXAMPLES)
> def test_python_exception_matches(code):
> wanted, line_nr = _get_actual_exception(code)
>
> errors = _get_error_list(code)
> actual = None
> if errors:
> error, = errors
> actual = error.message
> > assert actual in wanted
> E assert 'SyntaxError: cannot assign to operator' in ["SyntaxError:
> cannot assign to expression here. Maybe you meant '==' instead of '='?"]
>
> test/test_python_errors.py:41: AssertionError
> ___________________ test_python_exception_matches[not 1 = 3]
> ___________________
>
> code = 'not 1 = 3'
>
> @pytest.mark.parametrize('code', FAILING_EXAMPLES)
> def test_python_exception_matches(code):
> wanted, line_nr = _get_actual_exception(code)
>
> errors = _get_error_list(code)
> actual = None
> if errors:
> error, = errors
> actual = error.message
> > assert actual in wanted
> E AssertionError: assert 'SyntaxError: cannot assign to operator' in
> ['SyntaxError: cannot assign to expression']
>
> test/test_python_errors.py:41: AssertionError
> __________________ test_python_exception_matches[1 and 1 = 3]
> __________________
>
> code = '1 and 1 = 3'
>
> @pytest.mark.parametrize('code', FAILING_EXAMPLES)
> def test_python_exception_matches(code):
> wanted, line_nr = _get_actual_exception(code)
>
> errors = _get_error_list(code)
> actual = None
> if errors:
> error, = errors
> actual = error.message
> > assert actual in wanted
> E AssertionError: assert 'SyntaxError: cannot assign to operator' in
> ['SyntaxError: cannot assign to expression']
>
> test/test_python_errors.py:41: AssertionError
> ___________ test_python_exception_matches[def foo(): (yield 1) = 3]
> ____________
>
> code = 'def foo(): (yield 1) = 3'
>
> @pytest.mark.parametrize('code', FAILING_EXAMPLES)
> def test_python_exception_matches(code):
> wanted, line_nr = _get_actual_exception(code)
>
> errors = _get_error_list(code)
> actual = None
> if errors:
> error, = errors
> actual = error.message
> > assert actual in wanted
> E assert 'SyntaxError: cannot assign to yield expression' in
> ["SyntaxError: cannot assign to yield expression here. Maybe you meant '=='
> instead of '='?"]
>
> test/test_python_errors.py:41: AssertionError
> _________ test_python_exception_matches[async def foo(): await x = 3]
> __________
>
> code = 'async def foo(): await x = 3'
>
> @pytest.mark.parametrize('code', FAILING_EXAMPLES)
> def test_python_exception_matches(code):
> wanted, line_nr = _get_actual_exception(code)
>
> errors = _get_error_list(code)
> actual = None
> if errors:
> error, = errors
> actual = error.message
> > assert actual in wanted
> E assert 'SyntaxError: cannot assign to await expression' in
> ["SyntaxError: cannot assign to await expression here. Maybe you meant '=='
> instead of '='?"]
>
> test/test_python_errors.py:41: AssertionError
> ______________ test_python_exception_matches[(a if a else a) = a]
> ______________
>
> code = '(a if a else a) = a'
>
> @pytest.mark.parametrize('code', FAILING_EXAMPLES)
> def test_python_exception_matches(code):
> wanted, line_nr = _get_actual_exception(code)
>
> errors = _get_error_list(code)
> actual = None
> if errors:
> error, = errors
> actual = error.message
> > assert actual in wanted
> E assert 'SyntaxError: cannot assign to conditional expression' in
> ["SyntaxError: cannot assign to conditional expression here. Maybe you meant
> '==' instead of '='?"]
>
> test/test_python_errors.py:41: AssertionError
> ___________________ test_python_exception_matches[a, 1 = x]
> ____________________
>
> code = 'a, 1 = x'
>
> @pytest.mark.parametrize('code', FAILING_EXAMPLES)
> def test_python_exception_matches(code):
> wanted, line_nr = _get_actual_exception(code)
>
> errors = _get_error_list(code)
> actual = None
> if errors:
> error, = errors
> actual = error.message
> > assert actual in wanted
> E assert 'SyntaxError: cannot assign to literal' in ["SyntaxError:
> cannot assign to literal here. Maybe you meant '==' instead of '='?"]
>
> test/test_python_errors.py:41: AssertionError
> ___________________ test_python_exception_matches[foo() = 1]
> ___________________
>
> code = 'foo() = 1'
>
> @pytest.mark.parametrize('code', FAILING_EXAMPLES)
> def test_python_exception_matches(code):
> wanted, line_nr = _get_actual_exception(code)
>
> errors = _get_error_list(code)
> actual = None
> if errors:
> error, = errors
> actual = error.message
> > assert actual in wanted
> E assert 'SyntaxError: cannot assign to function call' in
> ["SyntaxError: cannot assign to function call here. Maybe you meant '=='
> instead of '='?"]
>
> test/test_python_errors.py:41: AssertionError
> ____________ test_python_exception_matches[for (not 1) in []: pass]
> ____________
>
> code = 'for (not 1) in []: pass'
>
> @pytest.mark.parametrize('code', FAILING_EXAMPLES)
> def test_python_exception_matches(code):
> wanted, line_nr = _get_actual_exception(code)
>
> errors = _get_error_list(code)
> actual = None
> if errors:
> error, = errors
> actual = error.message
> > assert actual in wanted
> E AssertionError: assert 'SyntaxError: cannot assign to operator' in
> ['SyntaxError: cannot assign to expression']
>
> test/test_python_errors.py:41: AssertionError
> _____________________ test_python_exception_matches[u"\\"]
> _____________________
>
> code = 'u"\\"'
>
> @pytest.mark.parametrize('code', FAILING_EXAMPLES)
> def test_python_exception_matches(code):
> wanted, line_nr = _get_actual_exception(code)
>
> errors = _get_error_list(code)
> actual = None
> if errors:
> error, = errors
> actual = error.message
> > assert actual in wanted
> E AssertionError: assert 'SyntaxError: EOL while scanning string
> literal' in ['SyntaxError: unterminated string literal (detected at line 1)']
>
> test/test_python_errors.py:41: AssertionError
> _____________________ test_python_exception_matches[b"\\"]
> _____________________
>
> code = 'b"\\"'
>
> @pytest.mark.parametrize('code', FAILING_EXAMPLES)
> def test_python_exception_matches(code):
> wanted, line_nr = _get_actual_exception(code)
>
> errors = _get_error_list(code)
> actual = None
> if errors:
> error, = errors
> actual = error.message
> > assert actual in wanted
> E AssertionError: assert 'SyntaxError: EOL while scanning string
> literal' in ['SyntaxError: unterminated string literal (detected at line 1)']
>
> test/test_python_errors.py:41: AssertionError
> ____________________ test_python_exception_matches[b"\xe4"]
> ____________________
>
> code = 'b"ä"'
>
> @pytest.mark.parametrize('code', FAILING_EXAMPLES)
> def test_python_exception_matches(code):
> wanted, line_nr = _get_actual_exception(code)
>
> errors = _get_error_list(code)
> actual = None
> if errors:
> error, = errors
> actual = error.message
> > assert actual in wanted
> E AssertionError: assert 'SyntaxError: bytes can only contain ASCII
> literal characters.' in ['SyntaxError: bytes can only contain ASCII literal
> characters']
>
> test/test_python_errors.py:41: AssertionError
> ______________________ test_python_exception_matches["""]
> ______________________
>
> code = '"""'
>
> @pytest.mark.parametrize('code', FAILING_EXAMPLES)
> def test_python_exception_matches(code):
> wanted, line_nr = _get_actual_exception(code)
>
> errors = _get_error_list(code)
> actual = None
> if errors:
> error, = errors
> actual = error.message
> > assert actual in wanted
> E AssertionError: assert 'SyntaxError: EOF while scanning triple-quoted
> string literal' in ['SyntaxError: unterminated triple-quoted string literal
> (detected at line 1)']
>
> test/test_python_errors.py:41: AssertionError
> _______________________ test_python_exception_matches["]
> _______________________
>
> code = '"'
>
> @pytest.mark.parametrize('code', FAILING_EXAMPLES)
> def test_python_exception_matches(code):
> wanted, line_nr = _get_actual_exception(code)
>
> errors = _get_error_list(code)
> actual = None
> if errors:
> error, = errors
> actual = error.message
> > assert actual in wanted
> E AssertionError: assert 'SyntaxError: EOL while scanning string
> literal' in ['SyntaxError: unterminated string literal (detected at line 1)']
>
> test/test_python_errors.py:41: AssertionError
> ______________________ test_python_exception_matches[''']
> ______________________
>
> code = "'''"
>
> @pytest.mark.parametrize('code', FAILING_EXAMPLES)
> def test_python_exception_matches(code):
> wanted, line_nr = _get_actual_exception(code)
>
> errors = _get_error_list(code)
> actual = None
> if errors:
> error, = errors
> actual = error.message
> > assert actual in wanted
> E AssertionError: assert 'SyntaxError: EOF while scanning triple-quoted
> string literal' in ['SyntaxError: unterminated triple-quoted string literal
> (detected at line 1)']
>
> test/test_python_errors.py:41: AssertionError
> _______________________ test_python_exception_matches[']
> _______________________
>
> code = "'"
>
> @pytest.mark.parametrize('code', FAILING_EXAMPLES)
> def test_python_exception_matches(code):
> wanted, line_nr = _get_actual_exception(code)
>
> errors = _get_error_list(code)
> actual = None
> if errors:
> error, = errors
> actual = error.message
> > assert actual in wanted
> E AssertionError: assert 'SyntaxError: EOL while scanning string
> literal' in ['SyntaxError: unterminated string literal (detected at line 1)']
>
> test/test_python_errors.py:41: AssertionError
> __________________ test_python_exception_matches[if 1:\nfoo]
> ___________________
>
> code = 'if 1:\nfoo'
>
> @pytest.mark.parametrize('code', FAILING_EXAMPLES)
> def test_python_exception_matches(code):
> wanted, line_nr = _get_actual_exception(code)
>
> errors = _get_error_list(code)
> actual = None
> if errors:
> error, = errors
> actual = error.message
> > assert actual in wanted
> E assert 'IndentationError: expected an indented block' in
> ["IndentationError: expected an indented block after 'if' statement on line
> 1"]
>
> test/test_python_errors.py:41: AssertionError
> ___ test_python_exception_matches[if 1: blubb\nif 1:\npass\nTrue and False]
> ____
>
> code = 'if 1: blubb\nif 1:\npass\nTrue and False'
>
> @pytest.mark.parametrize('code', FAILING_EXAMPLES)
> def test_python_exception_matches(code):
> wanted, line_nr = _get_actual_exception(code)
>
> errors = _get_error_list(code)
> actual = None
> if errors:
> error, = errors
> actual = error.message
> > assert actual in wanted
> E assert 'IndentationError: expected an indented block' in
> ["IndentationError: expected an indented block after 'if' statement on line
> 2"]
>
> test/test_python_errors.py:41: AssertionError
> _____ test_python_exception_matches[class X(base for base in bases): pass]
> _____
>
> code = 'class X(base for base in bases): pass'
>
> @pytest.mark.parametrize('code', FAILING_EXAMPLES)
> def test_python_exception_matches(code):
> wanted, line_nr = _get_actual_exception(code)
>
> errors = _get_error_list(code)
> actual = None
> if errors:
> error, = errors
> actual = error.message
> > assert actual in wanted
> E assert 'SyntaxError: invalid syntax' in ["SyntaxError: expected ':'"]
>
> test/test_python_errors.py:41: AssertionError
> ______________ test_python_exception_matches[({a: b} := {1: 2})]
> _______________
>
> code = '({a: b} := {1: 2})'
>
> @pytest.mark.parametrize('code', FAILING_EXAMPLES)
> def test_python_exception_matches(code):
> wanted, line_nr = _get_actual_exception(code)
>
> errors = _get_error_list(code)
> actual = None
> if errors:
> error, = errors
> actual = error.message
> > assert actual in wanted
> E AssertionError: assert 'SyntaxError: cannot use assignment
> expressions with dict display' in ['SyntaxError: cannot use assignment
> expressions with dict literal']
>
> test/test_python_errors.py:41: AssertionError
> _________________ test_python_exception_matches[(a + b := 1)]
> __________________
>
> code = '(a + b := 1)'
>
> @pytest.mark.parametrize('code', FAILING_EXAMPLES)
> def test_python_exception_matches(code):
> wanted, line_nr = _get_actual_exception(code)
>
> errors = _get_error_list(code)
> actual = None
> if errors:
> error, = errors
> actual = error.message
> > assert actual in wanted
> E AssertionError: assert 'SyntaxError: cannot use assignment
> expressions with operator' in ['SyntaxError: cannot use assignment
> expressions with expression']
>
> test/test_python_errors.py:41: AssertionError
> ___________________________ test_non_async_in_async
> ____________________________
>
> def test_non_async_in_async():
> """
> This example doesn't work with FAILING_EXAMPLES, because the line
> numbers
> are not always the same / incorrect in Python 3.8.
> """
> # Raises multiple errors in previous versions.
> code = 'async def foo():\n def nofoo():[x async for x in []]'
> wanted, line_nr = _get_actual_exception(code)
>
> errors = _get_error_list(code)
> if errors:
> error, = errors
> actual = error.message
> assert actual in wanted
> if sys.version_info[:2] < (3, 8):
> assert line_nr == error.start_pos[0]
> else:
> > assert line_nr == 0 # For whatever reason this is zero in Python
> > 3.8+
> E assert 2 == 0
>
> test/test_python_errors.py:63: AssertionError
> _____________________ test_default_except_error_postition
> ______________________
>
> def test_default_except_error_postition():
> # For this error the position seemed to be one line off, but that
> doesn't
> # really matter.
> code = 'try: pass\nexcept: pass\nexcept X: pass'
> wanted, line_nr = _get_actual_exception(code)
> error, = _get_error_list(code)
> assert error.message in wanted
> > assert line_nr != error.start_pos[0]
> E assert 2 != 2
>
> test/test_python_errors.py:149: AssertionError
> =========================== short test summary info
> ============================
> FAILED test/test_python_errors.py::test_python_exception_matches[{} += 1] -
> a...
> FAILED test/test_python_errors.py::test_python_exception_matches[{a:b} += 1]
> FAILED test/test_python_errors.py::test_python_exception_matches[... += 1] -
> ...
> FAILED test/test_python_errors.py::test_python_exception_matches[a + b += 1]
> FAILED test/test_python_errors.py::test_python_exception_matches[+a += 1] -
> a...
> FAILED test/test_python_errors.py::test_python_exception_matches[a and b += 1]
> FAILED test/test_python_errors.py::test_python_exception_matches[[x for x in
> y] = 1]
> FAILED test/test_python_errors.py::test_python_exception_matches[{x for x in
> y} = 1]
> FAILED test/test_python_errors.py::test_python_exception_matches[{x:x for x
> in y} = 1]
> FAILED test/test_python_errors.py::test_python_exception_matches[... = 1] -
> a...
> FAILED test/test_python_errors.py::test_python_exception_matches[{a, b} = 1]
> FAILED test/test_python_errors.py::test_python_exception_matches[{a: b} = 1]
> FAILED test/test_python_errors.py::test_python_exception_matches[1 = 1] -
> ass...
> FAILED test/test_python_errors.py::test_python_exception_matches["" = 1] -
> as...
> FAILED test/test_python_errors.py::test_python_exception_matches[b"" = 10] -
> ...
> FAILED test/test_python_errors.py::test_python_exception_matches[b"" = 11] -
> ...
> FAILED test/test_python_errors.py::test_python_exception_matches["" "" = 1]
> FAILED test/test_python_errors.py::test_python_exception_matches[1 | 1 = 3]
> FAILED test/test_python_errors.py::test_python_exception_matches[1**1 = 3] -
> ...
> FAILED test/test_python_errors.py::test_python_exception_matches[~ 1 = 3] -
> a...
> FAILED test/test_python_errors.py::test_python_exception_matches[not 1 = 3]
> FAILED test/test_python_errors.py::test_python_exception_matches[1 and 1 = 3]
> FAILED test/test_python_errors.py::test_python_exception_matches[def foo():
> (yield 1) = 3]
> FAILED test/test_python_errors.py::test_python_exception_matches[async def
> foo(): await x = 3]
> FAILED test/test_python_errors.py::test_python_exception_matches[(a if a else
> a) = a]
> FAILED test/test_python_errors.py::test_python_exception_matches[a, 1 = x] -
> ...
> FAILED test/test_python_errors.py::test_python_exception_matches[foo() = 1]
> FAILED test/test_python_errors.py::test_python_exception_matches[for (not 1)
> in []: pass]
> FAILED test/test_python_errors.py::test_python_exception_matches[u"\\"] -
> Ass...
> FAILED test/test_python_errors.py::test_python_exception_matches[b"\\"] -
> Ass...
> FAILED test/test_python_errors.py::test_python_exception_matches[b"\xe4"] -
> A...
> FAILED test/test_python_errors.py::test_python_exception_matches["""] -
> Asser...
> FAILED test/test_python_errors.py::test_python_exception_matches["] -
> Asserti...
> FAILED test/test_python_errors.py::test_python_exception_matches['''] -
> Asser...
> FAILED test/test_python_errors.py::test_python_exception_matches['] -
> Asserti...
> FAILED test/test_python_errors.py::test_python_exception_matches[if 1:\nfoo]
> FAILED test/test_python_errors.py::test_python_exception_matches[if 1:
> blubb\nif 1:\npass\nTrue and False]
> FAILED test/test_python_errors.py::test_python_exception_matches[class X(base
> for base in bases): pass]
> FAILED test/test_python_errors.py::test_python_exception_matches[({a: b} :=
> {1: 2})]
> FAILED test/test_python_errors.py::test_python_exception_matches[(a + b := 1)]
> FAILED test/test_python_errors.py::test_non_async_in_async - assert 2 == 0
> FAILED test/test_python_errors.py::test_default_except_error_postition -
> asse...
> ======================= 42 failed, 1203 passed in 4.74s
> ========================
> E: pybuild pybuild:355: test: plugin distutils failed with: exit code=1: cd
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_parso/build; python3.10 -m pytest test
> I: pybuild base:237: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_parso/build;
> python3.9 -m pytest test
> ============================= test session starts
> ==============================
> platform linux -- Python 3.9.9, pytest-6.2.5, py-1.10.0, pluggy-0.13.0
> rootdir: /<<PKGBUILDDIR>>, configfile: pytest.ini
> collected 1245 items
>
> test/test_cache.py ......... [
> 0%]
> test/test_diff_parser.py ............................................... [
> 4%]
> ................................... [
> 7%]
> test/test_error_recovery.py ............. [
> 8%]
> test/test_file_python_errors.py ..... [
> 8%]
> test/test_fstring.py ................................................... [
> 12%]
> .................. [
> 14%]
> test/test_get_code.py ............. [
> 15%]
> test/test_grammar.py . [
> 15%]
> test/test_load_grammar.py ........... [
> 16%]
> test/test_normalizer_issues_files.py ............................. [
> 18%]
> test/test_old_fast_parser.py ............... [
> 19%]
> test/test_param_splitting.py ....... [
> 20%]
> test/test_parser.py .................................................... [
> 24%]
> ........................................................................ [
> 30%]
> .................. [
> 31%]
> test/test_parser_tree.py ............................................... [
> 35%]
> ...................... [
> 37%]
> test/test_pep8.py ... [
> 37%]
> test/test_pgen2.py ..................................................... [
> 41%]
> ........................................................................ [
> 47%]
> ........................................................................ [
> 53%]
> ........................................................................ [
> 59%]
> .. [
> 59%]
> test/test_prefix.py ..................... [
> 61%]
> test/test_python_errors.py ............................................. [
> 64%]
> ........................................................................ [
> 70%]
> ........................................................................ [
> 76%]
> ........................................................................ [
> 82%]
> ................................................................. [
> 87%]
> test/test_tokenize.py .................................................. [
> 91%]
> ........................................................................ [
> 97%]
> ...... [
> 97%]
> test/test_utils.py ...............................
> [100%]
>
> ============================= 1245 passed in 4.75s
> =============================
> dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.10
> 3.9" returned exit code 13
The full build log is available from:
http://qa-logs.debian.net/2021/12/20/parso_0.8.1-1_unstable.log
A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!
If you reassign this bug to another package, please marking it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects
If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.
--- End Message ---