summaryrefslogtreecommitdiff
path: root/test/lib/ansible_test/_internal/content_config.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/lib/ansible_test/_internal/content_config.py')
-rw-r--r--test/lib/ansible_test/_internal/content_config.py24
1 files changed, 10 insertions, 14 deletions
diff --git a/test/lib/ansible_test/_internal/content_config.py b/test/lib/ansible_test/_internal/content_config.py
index 7802dc355e..10574cc0b6 100644
--- a/test/lib/ansible_test/_internal/content_config.py
+++ b/test/lib/ansible_test/_internal/content_config.py
@@ -1,10 +1,13 @@
"""Content configuration."""
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
+from __future__ import annotations
import os
+import typing as t
-from . import types as t
+from .constants import (
+ CONTROLLER_PYTHON_VERSIONS,
+ SUPPORTED_PYTHON_VERSIONS,
+)
from .compat.packaging import (
PACKAGING_IMPORT_ERROR,
@@ -23,10 +26,9 @@ from .io import (
from .util import (
ApplicationError,
- CONTROLLER_PYTHON_VERSIONS,
- SUPPORTED_PYTHON_VERSIONS,
display,
str_to_version,
+ cache,
)
from .data import (
@@ -47,7 +49,7 @@ class BaseConfig:
class ModulesConfig(BaseConfig):
"""Configuration for modules."""
def __init__(self, data): # type: (t.Any) -> None
- super(ModulesConfig, self).__init__(data)
+ super().__init__(data)
python_requires = data.get('python_requires', MISSING)
@@ -62,7 +64,7 @@ class ModulesConfig(BaseConfig):
class ContentConfig(BaseConfig):
"""Configuration for all content."""
def __init__(self, data): # type: (t.Any) -> None
- super(ContentConfig, self).__init__(data)
+ super().__init__(data)
# Configuration specific to modules/module_utils.
self.modules = ModulesConfig(data.get('modules', {}))
@@ -103,17 +105,13 @@ def load_config(path): # type: (str) -> t.Optional[ContentConfig]
return config
+@cache
def get_content_config(): # type: () -> ContentConfig
"""
Parse and return the content configuration (if any) for the current collection.
For ansible-core, a default configuration is used.
Results are cached.
"""
- try:
- return get_content_config.config
- except AttributeError:
- pass
-
collection_config_path = 'tests/config.yml'
config = None
@@ -128,8 +126,6 @@ def get_content_config(): # type: () -> ContentConfig
),
))
- get_content_config.config = config
-
if not config.modules.python_versions:
raise ApplicationError('This collection does not declare support for modules/module_utils on any known Python version.\n'
'Ansible supports modules/module_utils on Python versions: %s\n'