Sourcing python-remove-tests-dir-hook Sourcing python-catch-conflicts-hook.sh Sourcing python-remove-bin-bytecode-hook.sh Sourcing pypa-build-hook Using pypaBuildPhase Sourcing python-runtime-deps-check-hook Using pythonRuntimeDepsCheckHook Sourcing pypa-install-hook Using pypaInstallPhase Sourcing python-imports-check-hook.sh Using pythonImportsCheckPhase Sourcing python-namespaces-hook Sourcing python-catch-conflicts-hook.sh Sourcing pytest-check-hook Using pytestCheckPhase Running phase: unpackPhase unpacking source archive /nix/store/hsmip6j4csx4cpyw25m0sm4jrj7vdqdc-traitlets-5.14.3.tar.gz source root is traitlets-5.14.3 setting SOURCE_DATE_EPOCH to timestamp 1580601600 of file traitlets-5.14.3/traitlets/utils/warnings.py Running phase: patchPhase Running phase: updateAutotoolsGnuConfigScriptsPhase Running phase: configurePhase no configure script, doing nothing Running phase: buildPhase Executing pypaBuildPhase Creating a wheel... pypa build flags: --no-isolation --outdir dist/ --wheel * Getting build dependencies for wheel... * Building wheel... Successfully built traitlets-5.14.3-py3-none-any.whl Finished creating a wheel... Finished executing pypaBuildPhase Running phase: pythonRuntimeDepsCheckHook Executing pythonRuntimeDepsCheck Checking runtime dependencies for traitlets-5.14.3-py3-none-any.whl Finished executing pythonRuntimeDepsCheck Running phase: installPhase Executing pypaInstallPhase Successfully installed traitlets-5.14.3-py3-none-any.whl Finished executing pypaInstallPhase Running phase: pythonOutputDistPhase Executing pythonOutputDistPhase Finished executing pythonOutputDistPhase Running phase: fixupPhase shrinking RPATHs of ELF executables and libraries in /nix/store/5d5mypy91by4dsvk3sqpnb7jnp2qij02-python3.12-traitlets-5.14.3 checking for references to /build/ in /nix/store/5d5mypy91by4dsvk3sqpnb7jnp2qij02-python3.12-traitlets-5.14.3... patching script interpreter paths in /nix/store/5d5mypy91by4dsvk3sqpnb7jnp2qij02-python3.12-traitlets-5.14.3 stripping (with command strip and flags -S -p) in /nix/store/5d5mypy91by4dsvk3sqpnb7jnp2qij02-python3.12-traitlets-5.14.3/lib shrinking RPATHs of ELF executables and libraries in /nix/store/6m13r2qfvqb95czs183059w8x395laqr-python3.12-traitlets-5.14.3-dist checking for references to /build/ in /nix/store/6m13r2qfvqb95czs183059w8x395laqr-python3.12-traitlets-5.14.3-dist... patching script interpreter paths in /nix/store/6m13r2qfvqb95czs183059w8x395laqr-python3.12-traitlets-5.14.3-dist Executing pythonRemoveTestsDir Finished executing pythonRemoveTestsDir Running phase: installCheckPhase no Makefile or custom installCheckPhase, doing nothing Running phase: pythonCatchConflictsPhase Running phase: pythonRemoveBinBytecodePhase Running phase: pythonImportsCheckPhase Executing pythonImportsCheckPhase Running phase: pytestCheckPhase Executing pytestCheckPhase ============================= test session starts ============================== platform linux -- Python 3.12.8, pytest-8.3.3, pluggy-1.5.0 rootdir: /build/traitlets-5.14.3 configfile: pyproject.toml testpaths: tests, examples plugins: mock-3.14.0 collected 573 items / 1 deselected / 572 selected tests/_warnings.py .s [ 0%] tests/config/test_application.py ....................................... [ 7%] ...... [ 8%] tests/config/test_argcomplete.py FFFFF [ 9%] tests/config/test_configurable.py ................................... [ 15%] tests/config/test_loader.py ............................................ [ 22%] .................. [ 26%] tests/test_traitlets.py ................................................ [ 34%] ........................................................................ [ 47%] ........................................................................ [ 59%] ........................................................................ [ 72%] ........................................................................ [ 84%] ..................................................... [ 94%] tests/test_traitlets_docstring.py . [ 94%] tests/test_traitlets_enum.py ........................ [ 98%] tests/utils/test_bunch.py .. [ 98%] tests/utils/test_decorators.py ..... [ 99%] tests/utils/test_importstring.py .. [100%] =================================== FAILURES =================================== ___________________ TestArgcomplete.test_complete_simple_app ___________________ self = argcomplete_on = None def test_complete_simple_app(self, argcomplete_on): app = ArgcompleteApp() expected = [ "--help", "--debug", "--show-config", "--show-config-json", "--log-level", "--Application.", "--ArgcompleteApp.", ] > assert set(self.run_completer(app, "app --")) == set(expected) app = argcomplete_on = None expected = ['--help', '--debug', '--show-config', '--show-config-json', '--log-level', '--Application.', ...] self = tests/config/test_argcomplete.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/config/test_argcomplete.py:127: in run_completer app.initialize() app = cm = command = 'app --' kwargs = {} point = '6' self = strio = <_io.StringIO object at 0x7ffff5894580> traitlets/config/application.py:118: in inner return method(app, *args, **kwargs) app = args = () kwargs = {} method = traitlets/config/application.py:465: in initialize self.parse_command_line(argv) argv = None self = traitlets/config/application.py:118: in inner return method(app, *args, **kwargs) app = args = (None,) kwargs = {} method = traitlets/config/application.py:881: in parse_command_line self.cli_config = deepcopy(loader.load_config()) aliases = {'log-level': 'ArgcompleteApp.log_level'} argv = ['-k', 'not test_complete_custom_completers', '--ignore=tests/test_typing.py'] classes = [, ] flags = {'debug': ({'ArgcompleteApp': {'log_level': 10}}, 'Set log-level to debug, for the most verbose logging.'), 'show-conf...w-config-json': ({'ArgcompleteApp': {'show_config_json': True}}, "Show the application's configuration (json format)")} interpreted_argv = ['-k', 'not test_complete_custom_completers', '--ignore=tests/test_typing.py'] loader = self = traitlets/config/loader.py:894: in load_config self._argcomplete(self.classes, self.subcommands) aliases = None argv = ['-k', 'not test_complete_custom_completers', '--ignore=tests/test_typing.py'] classes = None flags = self = traitlets/config/loader.py:1139: in _argcomplete finder(self.parser, **getattr(self, "_argcomplete_kwargs", {})) argcomplete = argcomplete_config = classes = [, ] finder = self = subcommands = {} /nix/store/vgdb7dysn0wyag5nywk2j35gawl1jd3m-python3.12-argcomplete-3.5.1/lib/python3.12/site-packages/argcomplete/finders.py:174: in __call__ completions = self._get_completions(comp_words, cword_prefix, cword_prequote, last_wordbreak_pos) always_complete_options = True append_space = None argument_parser = MonkeyPatchedIntrospectiveArgumentParser(prog='__main__.py', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) comp_line = 'app --' comp_point = 6 comp_words = ['app'] cword_prefix = '--' cword_prequote = '' cword_suffix = '' default_completer = dfs = None exclude = None exit_method = > ifs = '\x0b' last_wordbreak_pos = None output_stream = <_io.StringIO object at 0x7ffff5894580> print_suppressed = False self = start = 0 validator = None traitlets/config/argcomplete_config.py:191: in _get_completions completions = super()._get_completions(comp_words, cword_prefix, *args) # type:ignore[no-untyped-call] __class__ = args = ('', None) comp_words = ['app'] cword_prefix = '--' is_option = True matched_completions = [(, '--Application.'), (, '--ArgcompleteApp.')] prefix_chars = '-' self = /nix/store/vgdb7dysn0wyag5nywk2j35gawl1jd3m-python3.12-argcomplete-3.5.1/lib/python3.12/site-packages/argcomplete/finders.py:223: in _get_completions completions = self.collect_completions(active_parsers, parsed_args, cword_prefix) active_parsers = [MonkeyPatchedIntrospectiveArgumentParser(prog='__main__.py', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True)] comp_words = ['app'] cword_prefix = '--' cword_prequote = '' last_wordbreak_pos = None parsed_args = Namespace(_flags=[]) self = /nix/store/vgdb7dysn0wyag5nywk2j35gawl1jd3m-python3.12-argcomplete-3.5.1/lib/python3.12/site-packages/argcomplete/finders.py:440: in collect_completions completions += self._get_option_completions(active_parser, cword_prefix) active_parser = MonkeyPatchedIntrospectiveArgumentParser(prog='__main__.py', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) active_parsers = [MonkeyPatchedIntrospectiveArgumentParser(prog='__main__.py', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True)] completions = [] cword_prefix = '--' parsed_args = Namespace(_flags=[]) self = traitlets/config/argcomplete_config.py:209: in _get_option_completions completions = super()._get_option_completions(parser, cword_prefix) # type:ignore[no-untyped-call] __class__ = cword_prefix = '--' parser = MonkeyPatchedIntrospectiveArgumentParser(prog='__main__.py', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) self = /nix/store/vgdb7dysn0wyag5nywk2j35gawl1jd3m-python3.12-argcomplete-3.5.1/lib/python3.12/site-packages/argcomplete/finders.py:326: in _get_option_completions if not self._action_allowed(action, parser): action = IntrospectAction(option_strings=['-h', '--help'], dest='help', nargs=0, const=None, default='==SUPPRESS==', type=None, choices=None, required=False, help='show this help message and exit', metavar=None) completer = None cword_prefix = '--' option_completions = [] option_string = '--log-level' parser = MonkeyPatchedIntrospectiveArgumentParser(prog='__main__.py', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) self = _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ action = IntrospectAction(option_strings=['-h', '--help'], dest='help', nargs=0, const=None, default='==SUPPRESS==', type=None, choices=None, required=False, help='show this help message and exit', metavar=None) parser = MonkeyPatchedIntrospectiveArgumentParser(prog='__main__.py', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) @staticmethod def _action_allowed(action, parser): # Logic adapted from take_action in ArgumentParser._parse_known_args # (members are saved by vendor._argparse.IntrospectiveArgumentParser) > for conflict_action in parser._action_conflicts.get(action, []): E AttributeError: 'MonkeyPatchedIntrospectiveArgumentParser' object has no attribute '_action_conflicts' action = IntrospectAction(option_strings=['-h', '--help'], dest='help', nargs=0, const=None, default='==SUPPRESS==', type=None, choices=None, required=False, help='show this help message and exit', metavar=None) parser = MonkeyPatchedIntrospectiveArgumentParser(prog='__main__.py', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) /nix/store/vgdb7dysn0wyag5nywk2j35gawl1jd3m-python3.12-argcomplete-3.5.1/lib/python3.12/site-packages/argcomplete/finders.py:336: AttributeError __________________ TestArgcomplete.test_complete_subcommands ___________________ self = argcomplete_on = None def test_complete_subcommands(self, argcomplete_on): app = MainApp() > assert set(self.run_completer(app, "app ")) >= {"subapp1", "subapp2"} app = argcomplete_on = None self = tests/config/test_argcomplete.py:189: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/config/test_argcomplete.py:127: in run_completer app.initialize() app = cm = command = 'app ' kwargs = {} point = '4' self = strio = <_io.StringIO object at 0x7ffff652a740> traitlets/config/application.py:118: in inner return method(app, *args, **kwargs) app = args = () kwargs = {} method = traitlets/config/application.py:465: in initialize self.parse_command_line(argv) argv = None self = traitlets/config/application.py:118: in inner return method(app, *args, **kwargs) app = args = (None,) kwargs = {} method = traitlets/config/application.py:881: in parse_command_line self.cli_config = deepcopy(loader.load_config()) aliases = {'log-level': 'MainApp.log_level'} argv = [] classes = [, , ] flags = {'debug': ({'MainApp': {'log_level': 10}}, 'Set log-level to debug, for the most verbose logging.'), 'show-config': ({...), 'show-config-json': ({'MainApp': {'show_config_json': True}}, "Show the application's configuration (json format)")} interpreted_argv = [] loader = self = traitlets/config/loader.py:894: in load_config self._argcomplete(self.classes, self.subcommands) aliases = None argv = [] classes = None flags = self = traitlets/config/loader.py:1139: in _argcomplete finder(self.parser, **getattr(self, "_argcomplete_kwargs", {})) argcomplete = argcomplete_config = classes = [, , ] finder = self = subcommands = {'subapp1': (, 'First subapp'), 'subapp2': (>, 'Second subapp')} /nix/store/vgdb7dysn0wyag5nywk2j35gawl1jd3m-python3.12-argcomplete-3.5.1/lib/python3.12/site-packages/argcomplete/finders.py:174: in __call__ completions = self._get_completions(comp_words, cword_prefix, cword_prequote, last_wordbreak_pos) always_complete_options = True append_space = None argument_parser = MonkeyPatchedIntrospectiveArgumentParser(prog='__main__.py', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) comp_line = 'app ' comp_point = 4 comp_words = ['app'] cword_prefix = '' cword_prequote = '' cword_suffix = '' default_completer = dfs = None exclude = None exit_method = > ifs = '\x0b' last_wordbreak_pos = None output_stream = <_io.StringIO object at 0x7ffff652a740> print_suppressed = False self = start = 0 validator = None traitlets/config/argcomplete_config.py:191: in _get_completions completions = super()._get_completions(comp_words, cword_prefix, *args) # type:ignore[no-untyped-call] __class__ = args = ('', None) comp_words = ['app'] cword_prefix = '' is_option = False prefix_chars = '-' self = /nix/store/vgdb7dysn0wyag5nywk2j35gawl1jd3m-python3.12-argcomplete-3.5.1/lib/python3.12/site-packages/argcomplete/finders.py:223: in _get_completions completions = self.collect_completions(active_parsers, parsed_args, cword_prefix) active_parsers = [MonkeyPatchedIntrospectiveArgumentParser(prog='__main__.py', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True)] comp_words = ['app'] cword_prefix = '' cword_prequote = '' last_wordbreak_pos = None parsed_args = Namespace(_flags=[]) self = /nix/store/vgdb7dysn0wyag5nywk2j35gawl1jd3m-python3.12-argcomplete-3.5.1/lib/python3.12/site-packages/argcomplete/finders.py:440: in collect_completions completions += self._get_option_completions(active_parser, cword_prefix) active_parser = MonkeyPatchedIntrospectiveArgumentParser(prog='__main__.py', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) active_parsers = [MonkeyPatchedIntrospectiveArgumentParser(prog='__main__.py', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True)] completions = [] cword_prefix = '' parsed_args = Namespace(_flags=[]) self = traitlets/config/argcomplete_config.py:209: in _get_option_completions completions = super()._get_option_completions(parser, cword_prefix) # type:ignore[no-untyped-call] __class__ = cword_prefix = '' parser = MonkeyPatchedIntrospectiveArgumentParser(prog='__main__.py', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) self = /nix/store/vgdb7dysn0wyag5nywk2j35gawl1jd3m-python3.12-argcomplete-3.5.1/lib/python3.12/site-packages/argcomplete/finders.py:326: in _get_option_completions if not self._action_allowed(action, parser): action = IntrospectAction(option_strings=['-h', '--help'], dest='help', nargs=0, const=None, default='==SUPPRESS==', type=None, choices=None, required=False, help='show this help message and exit', metavar=None) completer = None cword_prefix = '' option_completions = [] option_string = '--log-level' parser = MonkeyPatchedIntrospectiveArgumentParser(prog='__main__.py', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) self = _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ action = IntrospectAction(option_strings=['-h', '--help'], dest='help', nargs=0, const=None, default='==SUPPRESS==', type=None, choices=None, required=False, help='show this help message and exit', metavar=None) parser = MonkeyPatchedIntrospectiveArgumentParser(prog='__main__.py', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) @staticmethod def _action_allowed(action, parser): # Logic adapted from take_action in ArgumentParser._parse_known_args # (members are saved by vendor._argparse.IntrospectiveArgumentParser) > for conflict_action in parser._action_conflicts.get(action, []): E AttributeError: 'MonkeyPatchedIntrospectiveArgumentParser' object has no attribute '_action_conflicts' action = IntrospectAction(option_strings=['-h', '--help'], dest='help', nargs=0, const=None, default='==SUPPRESS==', type=None, choices=None, required=False, help='show this help message and exit', metavar=None) parser = MonkeyPatchedIntrospectiveArgumentParser(prog='__main__.py', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) /nix/store/vgdb7dysn0wyag5nywk2j35gawl1jd3m-python3.12-argcomplete-3.5.1/lib/python3.12/site-packages/argcomplete/finders.py:336: AttributeError ______________ TestArgcomplete.test_complete_subcommands_subapp1 _______________ self = argcomplete_on = None def test_complete_subcommands_subapp1(self, argcomplete_on): # subcommand handling modifies _ARGCOMPLETE env var global state, so # only can test one completion per unit test app = MainApp() try: > assert set(self.run_completer(app, "app subapp1 --Sub")) > { "--SubApp1.show_config", "--SubApp1.log_level", "--SubApp1.log_format", } app = argcomplete_on = None self = tests/config/test_argcomplete.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/config/test_argcomplete.py:127: in run_completer app.initialize() app = cm = command = 'app subapp1 --Sub' kwargs = {} point = '17' self = strio = <_io.StringIO object at 0x7ffff58953c0> traitlets/config/application.py:118: in inner return method(app, *args, **kwargs) app = args = () kwargs = {} method = traitlets/config/application.py:465: in initialize self.parse_command_line(argv) argv = None self = traitlets/config/application.py:118: in inner return method(app, *args, **kwargs) app = args = (None,) kwargs = {} method = traitlets/config/application.py:857: in parse_command_line return self.initialize_subcommand(subc, subargv) argv = ['subapp1'] self = subargv = [] subc = 'subapp1' traitlets/config/application.py:118: in inner return method(app, *args, **kwargs) app = args = ('subapp1', []) kwargs = {} method = traitlets/config/application.py:721: in initialize_subcommand self.subapp.initialize(argv) _ = 'First subapp' argv = [] self = subapp = subc = 'subapp1' val = (, 'First subapp') traitlets/config/application.py:118: in inner return method(app, *args, **kwargs) app = args = ([],) kwargs = {} method = traitlets/config/application.py:465: in initialize self.parse_command_line(argv) argv = [] self = traitlets/config/application.py:118: in inner return method(app, *args, **kwargs) app = args = ([],) kwargs = {} method = traitlets/config/application.py:881: in parse_command_line self.cli_config = deepcopy(loader.load_config()) aliases = {'log-level': 'SubApp1.log_level'} argv = [] classes = [, , ] flags = {'debug': ({'SubApp1': {'log_level': 10}}, 'Set log-level to debug, for the most verbose logging.'), 'show-config': ({...), 'show-config-json': ({'SubApp1': {'show_config_json': True}}, "Show the application's configuration (json format)")} interpreted_argv = [] loader = self = traitlets/config/loader.py:894: in load_config self._argcomplete(self.classes, self.subcommands) aliases = None argv = [] classes = None flags = self = traitlets/config/loader.py:1139: in _argcomplete finder(self.parser, **getattr(self, "_argcomplete_kwargs", {})) argcomplete = argcomplete_config = classes = [, , ] finder = self = subcommands = {} /nix/store/vgdb7dysn0wyag5nywk2j35gawl1jd3m-python3.12-argcomplete-3.5.1/lib/python3.12/site-packages/argcomplete/finders.py:174: in __call__ completions = self._get_completions(comp_words, cword_prefix, cword_prequote, last_wordbreak_pos) always_complete_options = True append_space = None argument_parser = MonkeyPatchedIntrospectiveArgumentParser(prog='__main__.py', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) comp_line = 'app subapp1 --Sub' comp_point = 17 comp_words = ['subapp1'] cword_prefix = '--Sub' cword_prequote = '' cword_suffix = '' default_completer = dfs = None exclude = None exit_method = > ifs = '\x0b' last_wordbreak_pos = None output_stream = <_io.StringIO object at 0x7ffff58953c0> print_suppressed = False self = start = 1 validator = None traitlets/config/argcomplete_config.py:191: in _get_completions completions = super()._get_completions(comp_words, cword_prefix, *args) # type:ignore[no-untyped-call] __class__ = args = ('', None) comp_words = ['subapp1'] cword_prefix = '--Sub' is_option = True matched_cls = matched_completions = [(, '--SubApp1.')] prefix_chars = '-' self = /nix/store/vgdb7dysn0wyag5nywk2j35gawl1jd3m-python3.12-argcomplete-3.5.1/lib/python3.12/site-packages/argcomplete/finders.py:223: in _get_completions completions = self.collect_completions(active_parsers, parsed_args, cword_prefix) active_parsers = [MonkeyPatchedIntrospectiveArgumentParser(prog='__main__.py', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True)] comp_words = ['subapp1'] cword_prefix = '--Sub' cword_prequote = '' last_wordbreak_pos = None parsed_args = Namespace(_flags=[]) self = /nix/store/vgdb7dysn0wyag5nywk2j35gawl1jd3m-python3.12-argcomplete-3.5.1/lib/python3.12/site-packages/argcomplete/finders.py:440: in collect_completions completions += self._get_option_completions(active_parser, cword_prefix) active_parser = MonkeyPatchedIntrospectiveArgumentParser(prog='__main__.py', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) active_parsers = [MonkeyPatchedIntrospectiveArgumentParser(prog='__main__.py', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True)] completions = [] cword_prefix = '--Sub' parsed_args = Namespace(_flags=[]) self = traitlets/config/argcomplete_config.py:209: in _get_option_completions completions = super()._get_option_completions(parser, cword_prefix) # type:ignore[no-untyped-call] __class__ = cword_prefix = '--Sub' parser = MonkeyPatchedIntrospectiveArgumentParser(prog='__main__.py', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) self = /nix/store/vgdb7dysn0wyag5nywk2j35gawl1jd3m-python3.12-argcomplete-3.5.1/lib/python3.12/site-packages/argcomplete/finders.py:326: in _get_option_completions if not self._action_allowed(action, parser): action = IntrospectAction(option_strings=['-h', '--help'], dest='help', nargs=0, const=None, default='==SUPPRESS==', type=None, choices=None, required=False, help='show this help message and exit', metavar=None) completer = None cword_prefix = '--Sub' option_completions = [] option_string = '--SubApp1.show_config_json' parser = MonkeyPatchedIntrospectiveArgumentParser(prog='__main__.py', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) self = _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ action = IntrospectAction(option_strings=['-h', '--help'], dest='help', nargs=0, const=None, default='==SUPPRESS==', type=None, choices=None, required=False, help='show this help message and exit', metavar=None) parser = MonkeyPatchedIntrospectiveArgumentParser(prog='__main__.py', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) @staticmethod def _action_allowed(action, parser): # Logic adapted from take_action in ArgumentParser._parse_known_args # (members are saved by vendor._argparse.IntrospectiveArgumentParser) > for conflict_action in parser._action_conflicts.get(action, []): E AttributeError: 'MonkeyPatchedIntrospectiveArgumentParser' object has no attribute '_action_conflicts' action = IntrospectAction(option_strings=['-h', '--help'], dest='help', nargs=0, const=None, default='==SUPPRESS==', type=None, choices=None, required=False, help='show this help message and exit', metavar=None) parser = MonkeyPatchedIntrospectiveArgumentParser(prog='__main__.py', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) /nix/store/vgdb7dysn0wyag5nywk2j35gawl1jd3m-python3.12-argcomplete-3.5.1/lib/python3.12/site-packages/argcomplete/finders.py:336: AttributeError ______________ TestArgcomplete.test_complete_subcommands_subapp2 _______________ self = argcomplete_on = None def test_complete_subcommands_subapp2(self, argcomplete_on): app = MainApp() try: > assert set(self.run_completer(app, "app subapp2 --")) > { "--Application.", "--SubApp2.", } app = argcomplete_on = None self = tests/config/test_argcomplete.py:209: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/config/test_argcomplete.py:127: in run_completer app.initialize() app = cm = command = 'app subapp2 --' kwargs = {} point = '14' self = strio = <_io.StringIO object at 0x7ffff58944c0> traitlets/config/application.py:118: in inner return method(app, *args, **kwargs) app = args = () kwargs = {} method = traitlets/config/application.py:465: in initialize self.parse_command_line(argv) argv = None self = traitlets/config/application.py:118: in inner return method(app, *args, **kwargs) app = args = (None,) kwargs = {} method = traitlets/config/application.py:857: in parse_command_line return self.initialize_subcommand(subc, subargv) argv = ['subapp2'] self = subargv = [] subc = 'subapp2' traitlets/config/application.py:118: in inner return method(app, *args, **kwargs) app = args = ('subapp2', []) kwargs = {} method = traitlets/config/application.py:721: in initialize_subcommand self.subapp.initialize(argv) _ = 'Second subapp' argv = [] self = subapp = > subc = 'subapp2' val = (>, 'Second subapp') traitlets/config/application.py:118: in inner return method(app, *args, **kwargs) app = args = ([],) kwargs = {} method = traitlets/config/application.py:465: in initialize self.parse_command_line(argv) argv = [] self = traitlets/config/application.py:118: in inner return method(app, *args, **kwargs) app = args = ([],) kwargs = {} method = traitlets/config/application.py:881: in parse_command_line self.cli_config = deepcopy(loader.load_config()) aliases = {'log-level': 'SubApp2.log_level'} argv = [] classes = [, , ] flags = {'debug': ({'SubApp2': {'log_level': 10}}, 'Set log-level to debug, for the most verbose logging.'), 'show-config': ({...), 'show-config-json': ({'SubApp2': {'show_config_json': True}}, "Show the application's configuration (json format)")} interpreted_argv = [] loader = self = traitlets/config/loader.py:894: in load_config self._argcomplete(self.classes, self.subcommands) aliases = None argv = [] classes = None flags = self = traitlets/config/loader.py:1139: in _argcomplete finder(self.parser, **getattr(self, "_argcomplete_kwargs", {})) argcomplete = argcomplete_config = classes = [, , ] finder = self = subcommands = {} /nix/store/vgdb7dysn0wyag5nywk2j35gawl1jd3m-python3.12-argcomplete-3.5.1/lib/python3.12/site-packages/argcomplete/finders.py:174: in __call__ completions = self._get_completions(comp_words, cword_prefix, cword_prequote, last_wordbreak_pos) always_complete_options = True append_space = None argument_parser = MonkeyPatchedIntrospectiveArgumentParser(prog='__main__.py', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) comp_line = 'app subapp2 --' comp_point = 14 comp_words = ['subapp2'] cword_prefix = '--' cword_prequote = '' cword_suffix = '' default_completer = dfs = None exclude = None exit_method = > ifs = '\x0b' last_wordbreak_pos = None output_stream = <_io.StringIO object at 0x7ffff58944c0> print_suppressed = False self = start = 1 validator = None traitlets/config/argcomplete_config.py:191: in _get_completions completions = super()._get_completions(comp_words, cword_prefix, *args) # type:ignore[no-untyped-call] __class__ = args = ('', None) comp_words = ['subapp2'] cword_prefix = '--' is_option = True matched_completions = [(, '--Application.'), (, '--ArgcompleteApp.'), (, '--SubApp2.')] prefix_chars = '-' self = /nix/store/vgdb7dysn0wyag5nywk2j35gawl1jd3m-python3.12-argcomplete-3.5.1/lib/python3.12/site-packages/argcomplete/finders.py:223: in _get_completions completions = self.collect_completions(active_parsers, parsed_args, cword_prefix) active_parsers = [MonkeyPatchedIntrospectiveArgumentParser(prog='__main__.py', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True)] comp_words = ['subapp2'] cword_prefix = '--' cword_prequote = '' last_wordbreak_pos = None parsed_args = Namespace(_flags=[]) self = /nix/store/vgdb7dysn0wyag5nywk2j35gawl1jd3m-python3.12-argcomplete-3.5.1/lib/python3.12/site-packages/argcomplete/finders.py:440: in collect_completions completions += self._get_option_completions(active_parser, cword_prefix) active_parser = MonkeyPatchedIntrospectiveArgumentParser(prog='__main__.py', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) active_parsers = [MonkeyPatchedIntrospectiveArgumentParser(prog='__main__.py', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True)] completions = [] cword_prefix = '--' parsed_args = Namespace(_flags=[]) self = traitlets/config/argcomplete_config.py:209: in _get_option_completions completions = super()._get_option_completions(parser, cword_prefix) # type:ignore[no-untyped-call] __class__ = cword_prefix = '--' parser = MonkeyPatchedIntrospectiveArgumentParser(prog='__main__.py', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) self = /nix/store/vgdb7dysn0wyag5nywk2j35gawl1jd3m-python3.12-argcomplete-3.5.1/lib/python3.12/site-packages/argcomplete/finders.py:326: in _get_option_completions if not self._action_allowed(action, parser): action = IntrospectAction(option_strings=['-h', '--help'], dest='help', nargs=0, const=None, default='==SUPPRESS==', type=None, choices=None, required=False, help='show this help message and exit', metavar=None) completer = None cword_prefix = '--' option_completions = [] option_string = '--log-level' parser = MonkeyPatchedIntrospectiveArgumentParser(prog='__main__.py', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) self = _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ action = IntrospectAction(option_strings=['-h', '--help'], dest='help', nargs=0, const=None, default='==SUPPRESS==', type=None, choices=None, required=False, help='show this help message and exit', metavar=None) parser = MonkeyPatchedIntrospectiveArgumentParser(prog='__main__.py', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) @staticmethod def _action_allowed(action, parser): # Logic adapted from take_action in ArgumentParser._parse_known_args # (members are saved by vendor._argparse.IntrospectiveArgumentParser) > for conflict_action in parser._action_conflicts.get(action, []): E AttributeError: 'MonkeyPatchedIntrospectiveArgumentParser' object has no attribute '_action_conflicts' action = IntrospectAction(option_strings=['-h', '--help'], dest='help', nargs=0, const=None, default='==SUPPRESS==', type=None, choices=None, required=False, help='show this help message and exit', metavar=None) parser = MonkeyPatchedIntrospectiveArgumentParser(prog='__main__.py', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) /nix/store/vgdb7dysn0wyag5nywk2j35gawl1jd3m-python3.12-argcomplete-3.5.1/lib/python3.12/site-packages/argcomplete/finders.py:336: AttributeError ________________ TestArgcomplete.test_complete_subcommands_main ________________ self = argcomplete_on = None def test_complete_subcommands_main(self, argcomplete_on): app = MainApp() > completions = set(self.run_completer(app, "app --")) app = argcomplete_on = None self = tests/config/test_argcomplete.py:218: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/config/test_argcomplete.py:127: in run_completer app.initialize() app = cm = command = 'app --' kwargs = {} point = '6' self = strio = <_io.StringIO object at 0x7ffff5895e40> traitlets/config/application.py:118: in inner return method(app, *args, **kwargs) app = args = () kwargs = {} method = traitlets/config/application.py:465: in initialize self.parse_command_line(argv) argv = None self = traitlets/config/application.py:118: in inner return method(app, *args, **kwargs) app = args = (None,) kwargs = {} method = traitlets/config/application.py:881: in parse_command_line self.cli_config = deepcopy(loader.load_config()) aliases = {'log-level': 'MainApp.log_level'} argv = [] classes = [, , ] flags = {'debug': ({'MainApp': {'log_level': 10}}, 'Set log-level to debug, for the most verbose logging.'), 'show-config': ({...), 'show-config-json': ({'MainApp': {'show_config_json': True}}, "Show the application's configuration (json format)")} interpreted_argv = [] loader = self = traitlets/config/loader.py:894: in load_config self._argcomplete(self.classes, self.subcommands) aliases = None argv = [] classes = None flags = self = traitlets/config/loader.py:1139: in _argcomplete finder(self.parser, **getattr(self, "_argcomplete_kwargs", {})) argcomplete = argcomplete_config = classes = [, , ] finder = self = subcommands = {'subapp1': (, 'First subapp'), 'subapp2': (>, 'Second subapp')} /nix/store/vgdb7dysn0wyag5nywk2j35gawl1jd3m-python3.12-argcomplete-3.5.1/lib/python3.12/site-packages/argcomplete/finders.py:174: in __call__ completions = self._get_completions(comp_words, cword_prefix, cword_prequote, last_wordbreak_pos) always_complete_options = True append_space = None argument_parser = MonkeyPatchedIntrospectiveArgumentParser(prog='__main__.py', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) comp_line = 'app --' comp_point = 6 comp_words = ['app'] cword_prefix = '--' cword_prequote = '' cword_suffix = '' default_completer = dfs = None exclude = None exit_method = > ifs = '\x0b' last_wordbreak_pos = None output_stream = <_io.StringIO object at 0x7ffff5895e40> print_suppressed = False self = start = 0 validator = None traitlets/config/argcomplete_config.py:191: in _get_completions completions = super()._get_completions(comp_words, cword_prefix, *args) # type:ignore[no-untyped-call] __class__ = args = ('', None) comp_words = ['app'] cword_prefix = '--' is_option = True matched_completions = [(, '--Application.'), (, '--ArgcompleteApp.'), (, '--MainApp.')] prefix_chars = '-' self = /nix/store/vgdb7dysn0wyag5nywk2j35gawl1jd3m-python3.12-argcomplete-3.5.1/lib/python3.12/site-packages/argcomplete/finders.py:223: in _get_completions completions = self.collect_completions(active_parsers, parsed_args, cword_prefix) active_parsers = [MonkeyPatchedIntrospectiveArgumentParser(prog='__main__.py', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True)] comp_words = ['app'] cword_prefix = '--' cword_prequote = '' last_wordbreak_pos = None parsed_args = Namespace(_flags=[]) self = /nix/store/vgdb7dysn0wyag5nywk2j35gawl1jd3m-python3.12-argcomplete-3.5.1/lib/python3.12/site-packages/argcomplete/finders.py:440: in collect_completions completions += self._get_option_completions(active_parser, cword_prefix) active_parser = MonkeyPatchedIntrospectiveArgumentParser(prog='__main__.py', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) active_parsers = [MonkeyPatchedIntrospectiveArgumentParser(prog='__main__.py', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True)] completions = [] cword_prefix = '--' parsed_args = Namespace(_flags=[]) self = traitlets/config/argcomplete_config.py:209: in _get_option_completions completions = super()._get_option_completions(parser, cword_prefix) # type:ignore[no-untyped-call] __class__ = cword_prefix = '--' parser = MonkeyPatchedIntrospectiveArgumentParser(prog='__main__.py', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) self = /nix/store/vgdb7dysn0wyag5nywk2j35gawl1jd3m-python3.12-argcomplete-3.5.1/lib/python3.12/site-packages/argcomplete/finders.py:326: in _get_option_completions if not self._action_allowed(action, parser): action = IntrospectAction(option_strings=['-h', '--help'], dest='help', nargs=0, const=None, default='==SUPPRESS==', type=None, choices=None, required=False, help='show this help message and exit', metavar=None) completer = None cword_prefix = '--' option_completions = [] option_string = '--log-level' parser = MonkeyPatchedIntrospectiveArgumentParser(prog='__main__.py', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) self = _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ action = IntrospectAction(option_strings=['-h', '--help'], dest='help', nargs=0, const=None, default='==SUPPRESS==', type=None, choices=None, required=False, help='show this help message and exit', metavar=None) parser = MonkeyPatchedIntrospectiveArgumentParser(prog='__main__.py', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) @staticmethod def _action_allowed(action, parser): # Logic adapted from take_action in ArgumentParser._parse_known_args # (members are saved by vendor._argparse.IntrospectiveArgumentParser) > for conflict_action in parser._action_conflicts.get(action, []): E AttributeError: 'MonkeyPatchedIntrospectiveArgumentParser' object has no attribute '_action_conflicts' action = IntrospectAction(option_strings=['-h', '--help'], dest='help', nargs=0, const=None, default='==SUPPRESS==', type=None, choices=None, required=False, help='show this help message and exit', metavar=None) parser = MonkeyPatchedIntrospectiveArgumentParser(prog='__main__.py', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) /nix/store/vgdb7dysn0wyag5nywk2j35gawl1jd3m-python3.12-argcomplete-3.5.1/lib/python3.12/site-packages/argcomplete/finders.py:336: AttributeError =============================== warnings summary =============================== tests/_warnings.py::tests._warnings.all_warnings :2: RuntimeWarning: bar -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html ============================= slowest 10 durations ============================= 0.26s call tests/config/test_application.py::test_help_output 0.25s call tests/config/test_application.py::test_show_config_cli 0.25s call tests/config/test_application.py::test_help_all_output 0.24s call tests/config/test_application.py::test_show_config_json_cli 0.01s call tests/config/test_configurable.py::TestConfigurable::test_override2 0.01s call tests/test_traitlets.py::TestTraitType::test_deprecated_method_warnings 0.01s call tests/test_traitlets.py::TestTraitType::test_deprecated_metadata_access 0.01s call tests/config/test_configurable.py::TestConfigurable::test_parent 0.01s call tests/config/test_configurable.py::TestConfigContainers::test_config_default_deprecated 0.01s call tests/config/test_application.py::TestApplication::test_flags =========================== short test summary info ============================ SKIPPED [1] ../../nix/store/bzg3wwihj3njvmyzjd3735ja7fq43aid-python3.12-pytest-8.3.3/lib/python3.12/site-packages/_pytest/doctest.py:458: all tests skipped by +SKIP option FAILED tests/config/test_argcomplete.py::TestArgcomplete::test_complete_simple_app - AttributeError: 'MonkeyPatchedIntrospectiveArgumentParser' object has no at... FAILED tests/config/test_argcomplete.py::TestArgcomplete::test_complete_subcommands - AttributeError: 'MonkeyPatchedIntrospectiveArgumentParser' object has no at... FAILED tests/config/test_argcomplete.py::TestArgcomplete::test_complete_subcommands_subapp1 - AttributeError: 'MonkeyPatchedIntrospectiveArgumentParser' object has no at... FAILED tests/config/test_argcomplete.py::TestArgcomplete::test_complete_subcommands_subapp2 - AttributeError: 'MonkeyPatchedIntrospectiveArgumentParser' object has no at... FAILED tests/config/test_argcomplete.py::TestArgcomplete::test_complete_subcommands_main - AttributeError: 'MonkeyPatchedIntrospectiveArgumentParser' object has no at... ====== 5 failed, 566 passed, 1 skipped, 1 deselected, 1 warning in 3.20s =======