Source: sphinx-argparse Version: 0.2.2-3 Severity: important User: pyt...@packages.debian.org Usertags: pytest-v6
Hi, sphinx-argparse FTBFS with pytest 6 in experimental. The pytest changelog may offer clues as to why: https://docs.pytest.org/en/stable/changelog.html The error log below has more details. > I: pybuild base:232: cd > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sphinx-argparse/build; python3.9 -m > pytest -v > ============================= test session starts > ============================== > platform linux -- Python 3.9.1, pytest-6.0.2, py-1.9.0, pluggy-0.13.0 -- > /usr/bin/python3.9 > cachedir: .pytest_cache > rootdir: /<<PKGBUILDDIR>> > collecting ... collected 15 items > > test/test_parser.py::test_parse_options PASSED [ > 6%] > test/test_parser.py::test_parse_default PASSED [ > 13%] > test/test_parser.py::test_parse_arg_choices PASSED [ > 20%] > test/test_parser.py::test_parse_opt_choices PASSED [ > 26%] > test/test_parser.py::test_parse_default_skip_default PASSED [ > 33%] > test/test_parser.py::test_parse_positional PASSED [ > 40%] > test/test_parser.py::test_parse_description PASSED [ > 46%] > test/test_parser.py::test_parse_nested FAILED [ > 53%] > test/test_parser.py::test_parse_nested_with_alias FAILED [ > 60%] > test/test_parser.py::test_aliased_traversal FAILED [ > 66%] > test/test_parser.py::test_parse_nested_traversal FAILED [ > 73%] > test/test_parser.py::test_fill_in_default_prog PASSED [ > 80%] > test/test_parser.py::test_string_quoting PASSED [ > 86%] > test/test_parser.py::test_parse_groups PASSED [ > 93%] > test/test_parser.py::test_action_groups_with_subcommands PASSED > [100%] > > =================================== FAILURES > =================================== > ______________________________ test_parse_nested > _______________________________ > > def test_parse_nested(): > parser = argparse.ArgumentParser() > 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: pytest.py install [-h] [--upgrade] ref', > 'bare_usage': 'pytest.py 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: __main__.py install [-h] [--upgrade] ref', 'bare_usage': > '__main__.py install [-h] [--upgrade] ref', 'action_groups': [{'title': > 'Positional Arguments', 'description': None, 'options': [{'name': ['ref'], > 'default': None, 'help': 'foo1 help'}]}, {'title': 'Named Arguments', > 'description': None, 'options': [{'name': ['--upgrade'], 'default': False, > 'help': 'foo2 help'}]}]} != {'name': 'install', 'help': 'install help', > 'usage': 'usage: pytest.py install [-h] [--upgrade] ref', 'bare_usage': > 'pyte... > E > E ...Full output truncated (24 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() > 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: pytest.py install [-h] [--upgrade] ref', > 'bare_usage': 'pytest.py 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: __main__.py install [-h] [--upgrade] ref', 'bare_usage': > '__main__.py install [-h] [--upgrade] ref', 'identifier': 'install', > 'action_groups': [{'title': 'Positional Arguments', 'description': None, > 'options': [{'name': ['ref'], 'default': None, 'help': 'foo1 help'}]}, > {'title': 'Named Arguments', 'description': None, 'options': [{'name': > ['--upgrade'], 'default': False, 'help': 'foo2 help'}]}]} != {'name': > 'install (i)', 'identifier': 'install', 'help': 'install help', 'usage': > 'usage: py... > E > E ...Full output truncated (25 lines hidden), use '-vv' to show > > test/test_parser.py:217: AssertionError > ____________________________ test_aliased_traversal > ____________________________ > > def test_aliased_traversal(): > parser = argparse.ArgumentParser() > > subparsers1 = parser.add_subparsers() > subparsers1.add_parser('level1', aliases=['l1']) > > data = parse_parser(parser) > > data2 = parser_navigate(data, 'level1') > >> assert(data2 == { > 'bare_usage': 'pytest.py level1 [-h]', > 'help': '', > 'usage': 'usage: pytest.py level1 [-h]', > 'name': 'level1 (l1)', > 'identifier': 'level1'}) > E AssertionError: assert {'bare_usage'...l1 (l1)', ...} == > {'bare_usage'...l1 (l1)', ...} > E Omitting 3 identical items, use -vv to show > E Differing items: > E {'usage': 'usage: __main__.py level1 [-h]'} != {'usage': 'usage: > pytest.py level1 [-h]'} > E {'bare_usage': '__main__.py level1 [-h]'} != {'bare_usage': > 'pytest.py level1 [-h]'} > E Full diff: > E { > E - 'bare_usage': 'pytest.py level1 [-h]',... > E > E ...Full output truncated (12 lines hidden), use '-vv' to show > > test/test_parser.py:261: AssertionError > _________________________ test_parse_nested_traversal > __________________________ > > def test_parse_nested_traversal(): > parser = argparse.ArgumentParser() > > subparsers1 = parser.add_subparsers() > subparser1 = subparsers1.add_parser('level1') > > subparsers2 = subparser1.add_subparsers() > subparser2 = subparsers2.add_parser('level2') > > subparsers3 = subparser2.add_subparsers() > subparser3 = subparsers3.add_parser('level3') > > subparser3.add_argument('foo', help='foo help') > subparser3.add_argument('bar') > > data = parse_parser(parser) > > data3 = parser_navigate(data, 'level1 level2 level3') > > assert data3['action_groups'][0]['options'] == [ > { > 'name': ['foo'], > 'help': 'foo help', > 'default': None > }, { > 'name': ['bar'], > 'help': '', > 'default': None > } > ] > > data2 = parser_navigate(data, 'level1 level2') >> assert data2['children'] == [ > { > 'name': 'level3', > 'help': '', > 'usage': 'usage: pytest.py level1 level2 level3 [-h] foo bar', > 'bare_usage': 'pytest.py level1 level2 level3 [-h] foo bar', > 'action_groups': [ > { > 'title': 'Positional Arguments', > 'description': None, > 'options': [ > { > 'default': None, > 'name': ['foo'], > 'help': 'foo help' > }, { > 'name': ['bar'], > 'help': '', > 'default': None > } > ] > } > ] > } > ] > E AssertionError: assert [{'action_gro...level3', ...}] == > [{'action_gro...level3', ...}] > E At index 0 diff: {'name': 'level3', 'help': '', 'usage': 'usage: > __main__.py level1 level2 level3 [-h] foo bar', 'bare_usage': '__main__.py > level1 level2 level3 [-h] foo bar', 'action_groups': [{'title': 'Positional > Arguments', 'description': None, 'options': [{'name': ['foo'], 'default': > None, 'help': 'foo help'}, {'name': ['bar'], 'default': None, 'help': ''}]}]} > != {'name': 'level3', 'help': '', 'usage': 'usage: pytest.py level1 level2 > level3 [-h] foo bar', 'bare_usage': 'pytest.py level1 level2 level3 [-h] foo > bar', 'action_groups': [{'title': 'Positional Arguments'... > E > E ...Full output truncated (22 lines hidden), use '-vv' to show > > test/test_parser.py:301: AssertionError > =============================== 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 > =========================== 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_aliased_traversal - AssertionError: assert > {... > FAILED test/test_parser.py::test_parse_nested_traversal - AssertionError: > ass... > =================== 4 failed, 11 passed, 1 warning in 0.07s > ==================== > E: pybuild pybuild:353: test: plugin distutils failed with: exit code=1: cd > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sphinx-argparse/build; python3.9 -m > pytest -v > dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.9 > returned exit code 13 > make: *** [debian/rules:7: build] Error 25 > dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2