Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ensure Python 3.12+ compatibility in check_console_script #448

Merged
merged 1 commit into from
Sep 16, 2023

Commits on Sep 14, 2023

  1. Ensure Python 3.12+ compatibility in check_console_script

    In f4d046c an assumption was made
    (correct at the time), that only the importlib.metadata backport,
    `importlib_metadata`, returns a tuple of entry points.
    
    However, importlib.metadata in Python 3.12+ behaves the same.
    
    This caused a KeyError exception to be thrown on Python 3.12,
    as reported repeatedly be testers of Fedora Linux 39 in:
    
    https://bugzilla.redhat.com/show_bug.cgi?id=2231593
    
    This change adjusts the conditional used in check_console_script
    to assume both the backport and Python 3.12+ return a tuple.
    
    While not obvious from the test failures output,
    this change also fixes the following TestBashGlobal tests failures:
    
     - test_console_script_module
     - test_console_script_module_wheel
     - test_console_script_package
     - test_console_script_package_wheel
    
    For the reference, the failures looked like this:
    
        FAIL: test_console_script_module (__main__.TestBashGlobal.test_console_script_module)
        Test completing a console_script for a module.
        ----------------------------------------------------------------------
        Traceback (most recent call last):
          File ".../argcomplete/test/test.py", line 1376, in test_console_script_module
            self._test_console_script()
          File ".../argcomplete/test/test.py", line 1370, in _test_console_script
            self.assertEqual(self.sh.run_command(command), "arg\r\n")
        AssertionError: "usage: test-module [-h] {arg}\r\ntest-mo[66 chars]\r\n" != 'arg\r\n'
        + arg
        - usage: test-module [-h] {arg}
        - test-module: error: argument arg: invalid choice: 'a' (choose from 'arg')
    
    Fixes kislyuk#440
    hroncok committed Sep 14, 2023
    Configuration menu
    Copy the full SHA
    d7e6775 View commit details
    Browse the repository at this point in the history