CycloneDX / cyclonedx-python

CycloneDX Software Bill of Materials (SBOM) generator for Python projects and environments
https://cyclonedx.org
Apache License 2.0
258 stars 67 forks source link

tests: render help pages #807

Closed jkowalleck closed 2 months ago

jkowalleck commented 2 months ago

test for #804

expected to fail on windows systems

jkowalleck commented 2 months ago

the test runs showcase the bug described in #804
https://github.com/CycloneDX/cyclonedx-python/actions/runs/11111264109/job/30870797680?pr=807#step:8:1460

Traceback (most recent call last):
  File "D:\a\cyclonedx-python\cyclonedx-python\tests\integration\test_cli_environment.py", line 49, in test_help
    res, out, err = run_cli('environment', '--help')
  File "D:\a\cyclonedx-python\cyclonedx-python\tests\integration\__init__.py", line 34, in run_cli
    c_res = _run_cli(argv=args)
  File "D:\a\cyclonedx-python\cyclonedx-python\cyclonedx_py\_internal\cli.py", line 270, in run
    args = vars(arg_parser.parse_args(argv))  # may exit -> raise `SystemExit`
  File "C:\hostedtoolcache\windows\Python\3.8.10\x64\lib\argparse.py", line 1768, in parse_args
    args, argv = self.parse_known_args(args, namespace)
  File "C:\hostedtoolcache\windows\Python\3.8.10\x64\lib\argparse.py", line 1800, in parse_known_args
    namespace, args = self._parse_known_args(args, namespace)
  File "C:\hostedtoolcache\windows\Python\3.8.10\x64\lib\argparse.py", line 1988, in _parse_known_args
    positionals_end_index = consume_positionals(start_index)
  File "C:\hostedtoolcache\windows\Python\3.8.10\x64\lib\argparse.py", line 1965, in consume_positionals
    take_action(action, args)
  File "C:\hostedtoolcache\windows\Python\3.8.10\x64\lib\argparse.py", line 1874, in take_action
    action(self, namespace, argument_values, option_string)
  File "C:\hostedtoolcache\windows\Python\3.8.10\x64\lib\argparse.py", line 1159, in __call__
    subnamespace, arg_strings = parser.parse_known_args(arg_strings, None)
  File "C:\hostedtoolcache\windows\Python\3.8.10\x64\lib\argparse.py", line 1800, in parse_known_args
    namespace, args = self._parse_known_args(args, namespace)
  File "C:\hostedtoolcache\windows\Python\3.8.10\x64\lib\argparse.py", line 2006, in _parse_known_args
    start_index = consume_optional(start_index)
  File "C:\hostedtoolcache\windows\Python\3.8.10\x64\lib\argparse.py", line 1946, in consume_optional
    take_action(action, args, option_string)
  File "C:\hostedtoolcache\windows\Python\3.8.10\x64\lib\argparse.py", line 1874, in take_action
    action(self, namespace, argument_values, option_string)
  File "C:\hostedtoolcache\windows\Python\3.8.10\x64\lib\argparse.py", line 1044, in __call__
    parser.print_help()
  File "C:\hostedtoolcache\windows\Python\3.8.10\x64\lib\argparse.py", line 2494, in print_help
    self._print_message(self.format_help(), file)
  File "C:\hostedtoolcache\windows\Python\3.8.10\x64\lib\argparse.py", line 2478, in format_help
    return formatter.format_help()
  File "C:\hostedtoolcache\windows\Python\3.8.10\x64\lib\argparse.py", line 282, in format_help
    help = self._root_section.format_help()
  File "C:\hostedtoolcache\windows\Python\3.8.10\x64\lib\argparse.py", line 213, in format_help
    item_help = join([func(*args) for func, args in self.items])
  File "C:\hostedtoolcache\windows\Python\3.8.10\x64\lib\argparse.py", line 213, in <listcomp>
    item_help = join([func(*args) for func, args in self.items])
  File "C:\hostedtoolcache\windows\Python\3.8.10\x64\lib\argparse.py", line 494, in _format_text
    text = text % dict(prog=self._prog)
TypeError: not enough arguments for format string
jkowalleck commented 2 months ago

already included in #805