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.