Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Ensure Python 3.12+ compatibility in check_console_script (#448)
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 #440
- Loading branch information