--- Begin Message ---
Source: sphinx-argparse
Version: 0.2.5-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):
> debian/rules binary
> dh binary --with python3,sphinxdoc --buildsystem=pybuild
> dh_update_autotools_config -O--buildsystem=pybuild
> dh_autoreconf -O--buildsystem=pybuild
> dh_auto_configure -O--buildsystem=pybuild
> I: pybuild base:237: python3.10 setup.py config
> running config
> I: pybuild base:237: python3.9 setup.py config
> running config
> dh_auto_build -O--buildsystem=pybuild
> I: pybuild base:237: /usr/bin/python3.10 setup.py build
> running build
> running build_py
> creating
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_sphinx-argparse/build/sphinxarg
> copying sphinxarg/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_sphinx-argparse/build/sphinxarg
> copying sphinxarg/parser.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_sphinx-argparse/build/sphinxarg
> copying sphinxarg/markdown.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_sphinx-argparse/build/sphinxarg
> copying sphinxarg/ext.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_sphinx-argparse/build/sphinxarg
> I: pybuild base:237: /usr/bin/python3 setup.py build
> running build
> running build_py
> creating
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sphinx-argparse/build/sphinxarg
> copying sphinxarg/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sphinx-argparse/build/sphinxarg
> copying sphinxarg/parser.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sphinx-argparse/build/sphinxarg
> copying sphinxarg/markdown.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sphinx-argparse/build/sphinxarg
> copying sphinxarg/ext.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sphinx-argparse/build/sphinxarg
> dh_auto_test -O--buildsystem=pybuild
> I: pybuild base:237: cd
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_sphinx-argparse/build; python3.10 -m
> pytest -v
> ============================= test session starts
> ==============================
> platform linux -- Python 3.10.1, pytest-6.2.5, py-1.10.0, pluggy-0.13.0 --
> /usr/bin/python3.10
> cachedir: .pytest_cache
> rootdir: /<<PKGBUILDDIR>>
> collecting ... collected 16 items
>
> test/test_parser.py::test_parse_options PASSED [
> 6%]
> test/test_parser.py::test_parse_default PASSED [
> 12%]
> test/test_parser.py::test_parse_arg_choices PASSED [
> 18%]
> test/test_parser.py::test_parse_opt_choices PASSED [
> 25%]
> test/test_parser.py::test_parse_default_skip_default PASSED [
> 31%]
> test/test_parser.py::test_parse_positional PASSED [
> 37%]
> test/test_parser.py::test_parse_description PASSED [
> 43%]
> test/test_parser.py::test_parse_nested FAILED [
> 50%]
> test/test_parser.py::test_parse_nested_with_alias FAILED [
> 56%]
> test/test_parser.py::test_aliased_traversal PASSED [
> 62%]
> test/test_parser.py::test_parse_nested_traversal PASSED [
> 68%]
> test/test_parser.py::test_fill_in_default_prog PASSED [
> 75%]
> test/test_parser.py::test_fill_in_description_epilog PASSED [
> 81%]
> test/test_parser.py::test_string_quoting PASSED [
> 87%]
> test/test_parser.py::test_parse_groups FAILED [
> 93%]
> test/test_parser.py::test_action_groups_with_subcommands FAILED
> [100%]
>
> =================================== FAILURES
> ===================================
> ______________________________ test_parse_nested
> _______________________________
>
> def test_parse_nested():
> parser = argparse.ArgumentParser(prog='test_parse_nested')
> parser.add_argument('foo', default=False, help='foo help')
> parser.add_argument('bar', default=False)
>
> subparsers = parser.add_subparsers()
>
> subparser = subparsers.add_parser('install', help='install help')
> subparser.add_argument('ref', type=str, help='foo1 help')
> subparser.add_argument('--upgrade', action='store_true',
> default=False, help='foo2 help')
>
> data = parse_parser(parser)
>
> assert data['action_groups'][0]['options'] == [
> {
> 'name': ['foo'],
> 'help': 'foo help',
> 'default': False
> }, {
> 'name': ['bar'],
> 'help': '',
> 'default': False
> }
> ]
>
> > assert data['children'] == [
> {
> 'name': 'install',
> 'help': 'install help',
> 'usage': 'usage: test_parse_nested install [-h] [--upgrade]
> ref',
> 'bare_usage': 'test_parse_nested install [-h] [--upgrade]
> ref',
> 'action_groups': [
> {
> 'title': 'Positional Arguments',
> 'description': None,
> 'options': [
> {
> 'name': ['ref'],
> 'help': 'foo1 help',
> 'default': None
> }
> ]
> },
> {
> 'description': None,
> 'title': 'Named Arguments',
> 'options': [
> {
> 'name': ['--upgrade'],
> 'default': False,
> 'help': 'foo2 help'
> }
> ]
> }
> ]
> }
> ]
> E AssertionError: assert [{'action_gro...nstall', ...}] ==
> [{'action_gro...nstall', ...}]
> E At index 0 diff: {'name': 'install', 'help': 'install help',
> 'usage': 'usage: test_parse_nested install [-h] [--upgrade] ref',
> 'bare_usage': 'test_parse_nested install [-h] [--upgrade] ref',
> 'action_groups': [{'title': 'Positional Arguments', 'description': None,
> 'options': [{'name': ['ref'], 'default': None, 'help': 'foo1 help'}]},
> {'title': 'options', 'description': None, 'options': [{'name': ['--upgrade'],
> 'default': False, 'help': 'foo2 help'}]}]} != {'name': 'install', 'help':
> 'install help', 'usage': 'usage: test_parse_nested install [-h] [--upgrade]
> ref', 'bare_u...
> E
> E ...Full output truncated (21 lines hidden), use '-vv' to show
>
> test/test_parser.py:157: AssertionError
> _________________________ test_parse_nested_with_alias
> _________________________
>
> def test_parse_nested_with_alias():
> parser = argparse.ArgumentParser(prog='test_parse_nested_with_alias')
> parser.add_argument('foo', default=False, help='foo help')
> parser.add_argument('bar', default=False)
>
> subparsers = parser.add_subparsers()
>
> subparser = subparsers.add_parser('install', aliases=['i'],
> help='install help')
> subparser.add_argument('ref', type=str, help='foo1 help')
> subparser.add_argument('--upgrade', action='store_true',
> default=False, help='foo2 help')
>
> data = parse_parser(parser)
>
> assert data['action_groups'][0]['options'] == [
> {
> 'name': ['foo'],
> 'help': 'foo help',
> 'default': False
> }, {
> 'name': ['bar'],
> 'help': '',
> 'default': False
> }
> ]
>
> > assert data['children'] == [
> {
> 'name': 'install (i)',
> 'identifier': 'install',
> 'help': 'install help',
> 'usage': 'usage: test_parse_nested_with_alias install [-h]
> [--upgrade] ref',
> 'bare_usage': 'test_parse_nested_with_alias install [-h]
> [--upgrade] ref',
> 'action_groups': [
> {
> 'title': 'Positional Arguments',
> 'description': None,
> 'options': [
> {
> 'name': ['ref'],
> 'help': 'foo1 help',
> 'default': None
> }
> ]
> },
> {
> 'description': None,
> 'title': 'Named Arguments',
> 'options': [
> {
> 'name': ['--upgrade'],
> 'default': False,
> 'help': 'foo2 help'
> }
> ]
> }
> ]
> }
> ]
> E AssertionError: assert [{'action_gro...nstall', ...}] ==
> [{'action_gro...nstall', ...}]
> E At index 0 diff: {'name': 'install (i)', 'help': 'install help',
> 'usage': 'usage: test_parse_nested_with_alias install [-h] [--upgrade] ref',
> 'bare_usage': 'test_parse_nested_with_alias install [-h] [--upgrade] ref',
> 'identifier': 'install', 'action_groups': [{'title': 'Positional Arguments',
> 'description': None, 'options': [{'name': ['ref'], 'default': None, 'help':
> 'foo1 help'}]}, {'title': 'options', 'description': None, 'options':
> [{'name': ['--upgrade'], 'default': False, 'help': 'foo2 help'}]}]} !=
> {'name': 'install (i)', 'identifier': 'install', 'help': 'install ...
> E
> E ...Full output truncated (22 lines hidden), use '-vv' to show
>
> test/test_parser.py:217: AssertionError
> ______________________________ test_parse_groups
> _______________________________
>
> def test_parse_groups():
> parser = argparse.ArgumentParser()
> parser.add_argument('--foo', action='store_true', default=False,
> help='foo help')
> parser.add_argument('--bar', action='store_true', default=False)
> optional = parser.add_argument_group('Group 1')
> optional.add_argument("--option1", help='option #1')
> optional.add_argument("--option2", help='option #2')
>
> data = parse_parser(parser)
> > assert data['action_groups'] == [
> {
> 'description': None,
> 'options': [
> {'default': False, 'help': 'foo help', 'name': ['--foo']},
> {'default': False, 'help': '', 'name': ['--bar']}],
> 'title': 'Named Arguments'},
> {
> 'description': None,
> 'options': [
> {'default': None, 'help': 'option #1', 'name':
> ['--option1']},
> {'default': None, 'help': 'option #2', 'name':
> ['--option2']}],
> 'title': 'Group 1'
> }
> ]
> E AssertionError: assert [{'descriptio...': 'Group 1'}] ==
> [{'descriptio...': 'Group 1'}]
> E At index 0 diff: {'title': 'options', 'description': None,
> 'options': [{'name': ['--foo'], 'default': False, 'help': 'foo help'},
> {'name': ['--bar'], 'default': False, 'help': ''}]} != {'description': None,
> 'options': [{'default': False, 'help': 'foo help', 'name': ['--foo']},
> {'default': False, 'help': '', 'name': ['--bar']}], 'title': 'Named
> Arguments'}
> E Full diff:
> E [
> E {'description': None,
> E 'options': [{'default': False, 'help': 'foo help', 'name':
> ['--foo']},
> E {'default': False, 'help': '', 'name': ['--bar']}],
> E - 'title': 'Named Arguments'},...
> E
> E ...Full output truncated (7 lines hidden), use '-vv' to show
>
> test/test_parser.py:388: AssertionError
> _____________________ test_action_groups_with_subcommands
> ______________________
>
> def test_action_groups_with_subcommands():
> """
> This is a somewhat overly complicated example incorporating both
> action
> groups (with optional AND positional arguments) and subcommands (again
> with both optional and positional arguments)
> """
> parser = argparse.ArgumentParser('foo')
> subparsers = parser.add_subparsers()
> parserA = subparsers.add_parser('A', help='A subparser')
> parserA.add_argument('baz', type=int, help='An integer')
> parserB = subparsers.add_parser('B', help='B subparser')
> parserB.add_argument('--barg', choices='XYZ', help='A list of
> choices')
>
> parser.add_argument('--foo', help='foo help')
> parser.add_argument('foo2', metavar='foo2 metavar', help='foo2 help')
> grp1 = parser.add_argument_group('bar options')
> grp1.add_argument('--bar', help='bar help')
> grp1.add_argument('quux', help='quux help')
> grp2 = parser.add_argument_group('bla options')
> grp2.add_argument('--blah', help='blah help')
> grp2.add_argument('sniggly', help='sniggly help')
>
> data = parse_parser(parser)
>
> > assert data['action_groups'] == [
> {'options': [{'default': None, 'name': ['foo2 metavar'], 'help':
> 'foo2 help'}], 'description': None, 'title': 'Positional Arguments'},
> {'options': [{'default': None, 'name': ['--foo'], 'help': 'foo
> help'}], 'description': None, 'title': 'Named Arguments'},
> {'options': [{'default': None, 'name': ['--bar'], 'help': 'bar
> help'}, {'default': None, 'name': ['quux'], 'help': 'quux help'}],
> 'description': None, 'title': 'bar options'},
> {'options': [{'default': None, 'name': ['--blah'], 'help': 'blah
> help'}, {'default': None, 'name': ['sniggly'], 'help': 'sniggly help'}],
> 'description': None, 'title': 'bla options'}
> ]
> E AssertionError: assert [{'descriptio...bla options'}] ==
> [{'descriptio...bla options'}]
> E At index 1 diff: {'title': 'options', 'description': None,
> 'options': [{'name': ['--foo'], 'default': None, 'help': 'foo help'}]} !=
> {'options': [{'default': None, 'name': ['--foo'], 'help': 'foo help'}],
> 'description': None, 'title': 'Named Arguments'}
> E Full diff:
> E [
> E {'description': None,
> E 'options': [{'default': None, 'help': 'foo2 help', 'name':
> ['foo2 metavar']}],
> E 'title': 'Positional Arguments'},
> E {'description': None,...
> E
> E ...Full output truncated (13 lines hidden), use '-vv' to show
>
> test/test_parser.py:429: AssertionError
> =============================== warnings summary
> ===============================
> sphinxarg/parser.py:13
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_sphinx-argparse/build/sphinxarg/parser.py:13:
> DeprecationWarning: invalid escape sequence '\s'
> path = re.split('\s+', path)
>
> -- Docs: https://docs.pytest.org/en/stable/warnings.html
> =========================== short test summary info
> ============================
> FAILED test/test_parser.py::test_parse_nested - AssertionError: assert
> [{'act...
> FAILED test/test_parser.py::test_parse_nested_with_alias - AssertionError:
> as...
> FAILED test/test_parser.py::test_parse_groups - AssertionError: assert
> [{'des...
> FAILED test/test_parser.py::test_action_groups_with_subcommands -
> AssertionEr...
> =================== 4 failed, 12 passed, 1 warning in 0.07s
> ====================
> E: pybuild pybuild:355: test: plugin distutils failed with: exit code=1: cd
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_sphinx-argparse/build; python3.10 -m
> pytest -v
> I: pybuild base:237: cd
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sphinx-argparse/build; python3.9 -m
> pytest -v
> ============================= test session starts
> ==============================
> platform linux -- Python 3.9.9, pytest-6.2.5, py-1.10.0, pluggy-0.13.0 --
> /usr/bin/python3.9
> cachedir: .pytest_cache
> rootdir: /<<PKGBUILDDIR>>
> collecting ... collected 16 items
>
> test/test_parser.py::test_parse_options PASSED [
> 6%]
> test/test_parser.py::test_parse_default PASSED [
> 12%]
> test/test_parser.py::test_parse_arg_choices PASSED [
> 18%]
> test/test_parser.py::test_parse_opt_choices PASSED [
> 25%]
> test/test_parser.py::test_parse_default_skip_default PASSED [
> 31%]
> test/test_parser.py::test_parse_positional PASSED [
> 37%]
> test/test_parser.py::test_parse_description PASSED [
> 43%]
> test/test_parser.py::test_parse_nested PASSED [
> 50%]
> test/test_parser.py::test_parse_nested_with_alias PASSED [
> 56%]
> test/test_parser.py::test_aliased_traversal PASSED [
> 62%]
> test/test_parser.py::test_parse_nested_traversal PASSED [
> 68%]
> test/test_parser.py::test_fill_in_default_prog PASSED [
> 75%]
> test/test_parser.py::test_fill_in_description_epilog PASSED [
> 81%]
> test/test_parser.py::test_string_quoting PASSED [
> 87%]
> test/test_parser.py::test_parse_groups PASSED [
> 93%]
> test/test_parser.py::test_action_groups_with_subcommands PASSED
> [100%]
>
> =============================== warnings summary
> ===============================
> sphinxarg/parser.py:13
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sphinx-argparse/build/sphinxarg/parser.py:13:
> DeprecationWarning: invalid escape sequence \s
> path = re.split('\s+', path)
>
> -- Docs: https://docs.pytest.org/en/stable/warnings.html
> ======================== 16 passed, 1 warning in 0.04s
> =========================
> 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/sphinx-argparse_0.2.5-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 ---