ansible-test - Fix completion error in Python 3.11.

This commit is contained in:
Matt Clay
2022-11-28 13:29:32 -08:00
parent 3723c426d2
commit 38fe34244c
2 changed files with 8 additions and 4 deletions

View File

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

View File

@ -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