[stable-2.14] ansible-test - Fix completion error in Python 3.11. (#79500)

(cherry picked from commit 38fe342)

Co-authored-by: Matt Clay <matt@mystile.com>
pull/79576/head
Matt Clay 2 years ago committed by GitHub
parent 022202056e
commit 5e2806b502
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -0,0 +1,2 @@
bugfixes:
- ansible-test - Added a work-around for a traceback under Python 3.11 when completing certain command line options.

@ -22,24 +22,26 @@ ASSIGNMENT_DELIMITER = '='
PATH_DELIMITER = '/'
@dataclasses.dataclass(frozen=True)
# This class was originally frozen. However, that causes issues when running under Python 3.11.
# See: https://github.com/python/cpython/issues/99856
@dataclasses.dataclass
class Completion(Exception):
"""Base class for argument completion results."""
@dataclasses.dataclass(frozen=True)
@dataclasses.dataclass
class CompletionUnavailable(Completion):
"""Argument completion unavailable."""
message: str = 'No completions available.'
@dataclasses.dataclass(frozen=True)
@dataclasses.dataclass
class CompletionError(Completion):
"""Argument completion error."""
message: t.Optional[str] = None
@dataclasses.dataclass(frozen=True)
@dataclasses.dataclass
class CompletionSuccess(Completion):
"""Successful argument completion result."""
list_mode: bool

Loading…
Cancel
Save