kislyuk / argcomplete

Python and tab completion, better together.
https://kislyuk.github.io/argcomplete/
Apache License 2.0
1.39k stars 129 forks source link

Test failures with Python 3.12.0b2 #440

Closed hroncok closed 9 months ago

hroncok commented 1 year ago

Hello. We are mass rebuilding all Fedora 39 packages with Python 3.12.0b2 to align Fedora 39 and Python 3.12.0 final releases.

Our argcomplete package fails to build. The test failure is reproducible on Fedora 37/38 as well, from git, with Python 3.12.0b2, like so:

[argcomplete (develop %)]$ git rev-parse HEAD
a9059f37bb04609ba27c540ffeea4d3c422558a3
[argcomplete (develop %)]$ python3.12 --version
Python 3.12.0b2
[argcomplete (develop %)]$ python3.12 -m venv venv3.12
[argcomplete (develop %)]$ . venv3.12/bin/activate
(venv3.12) [argcomplete (develop %)]$ make test_deps
...
Successfully installed argcomplete-3.1.1 coverage-7.2.7 mypy-1.3.0 mypy-extensions-1.0.0 pexpect-4.8.0 ptyprocess-0.7.0 ruff-0.0.272 typing-extensions-4.6.3 wheel-0.40.0
(venv3.12) [argcomplete (develop %)]$ make test
...
======================================================================
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')

======================================================================
FAIL: test_console_script_module_wheel (__main__.TestBashGlobal.test_console_script_module_wheel)
Test completing a console_script for a module from a wheel.
----------------------------------------------------------------------
Traceback (most recent call last):
  File ".../argcomplete/test/test.py", line 1388, in test_console_script_module_wheel
    self._test_console_script(wheel=True)
  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')

======================================================================
FAIL: test_console_script_package (__main__.TestBashGlobal.test_console_script_package)
Test completing a console_script for a package.
----------------------------------------------------------------------
Traceback (most recent call last):
  File ".../argcomplete/test/test.py", line 1382, in test_console_script_package
    self._test_console_script(package=True)
  File ".../argcomplete/test/test.py", line 1370, in _test_console_script
    self.assertEqual(self.sh.run_command(command), "arg\r\n")
AssertionError: "usage: test-package [-h] {arg}\r\ntest-p[68 chars]\r\n" != 'arg\r\n'
+ arg
- usage: test-package [-h] {arg}
- test-package: error: argument arg: invalid choice: 'a' (choose from 'arg')

======================================================================
FAIL: test_console_script_package_wheel (__main__.TestBashGlobal.test_console_script_package_wheel)
Test completing a console_script for a package from a wheel.
----------------------------------------------------------------------
Traceback (most recent call last):
  File ".../argcomplete/test/test.py", line 1394, in test_console_script_package_wheel
    self._test_console_script(package=True, wheel=True)
  File ".../argcomplete/test/test.py", line 1370, in _test_console_script
    self.assertEqual(self.sh.run_command(command), "arg\r\n")
AssertionError: "usage: test-package [-h] {arg}\r\ntest-p[68 chars]\r\n" != 'arg\r\n'
+ arg
- usage: test-package [-h] {arg}
- test-package: error: argument arg: invalid choice: 'a' (choose from 'arg')

----------------------------------------------------------------------
Ran 127 tests in 62.218s

FAILED (failures=4, expected failures=10)
hroncok commented 9 months ago

Heureka, I got it!