diff --git a/test/integration/targets/binary_modules/aliases b/test/integration/targets/binary_modules/aliases new file mode 100644 index 00000000000..136c05e0d02 --- /dev/null +++ b/test/integration/targets/binary_modules/aliases @@ -0,0 +1 @@ +hidden diff --git a/test/integration/targets/connection/aliases b/test/integration/targets/connection/aliases new file mode 100644 index 00000000000..136c05e0d02 --- /dev/null +++ b/test/integration/targets/connection/aliases @@ -0,0 +1 @@ +hidden diff --git a/test/integration/targets/connection_posix/aliases b/test/integration/targets/connection_posix/aliases index c0fdd23c557..f5e09799b1f 100644 --- a/test/integration/targets/connection_posix/aliases +++ b/test/integration/targets/connection_posix/aliases @@ -1 +1,2 @@ needs/target/connection +hidden diff --git a/test/lib/ansible_test/_internal/provider/layout/__init__.py b/test/lib/ansible_test/_internal/provider/layout/__init__.py index 49f304b14d2..54fa0e88c12 100644 --- a/test/lib/ansible_test/_internal/provider/layout/__init__.py +++ b/test/lib/ansible_test/_internal/provider/layout/__init__.py @@ -85,6 +85,8 @@ class ContentLayout(Layout): results_path, # type: str sanity_path, # type: str integration_path, # type: str + integration_targets_path, # type: str + integration_vars_path, # type: str unit_path, # type: str unit_module_path, # type: str unit_module_utils_path, # type: str @@ -97,11 +99,12 @@ class ContentLayout(Layout): self.results_path = results_path self.sanity_path = sanity_path self.integration_path = integration_path - self.integration_targets_path = os.path.join(integration_path, 'targets') - self.integration_vars_path = os.path.join(integration_path, 'integration_config.yml') + self.integration_targets_path = integration_targets_path + self.integration_vars_path = integration_vars_path self.unit_path = unit_path self.unit_module_path = unit_module_path self.unit_module_utils_path = unit_module_utils_path + self.is_ansible = root == ANSIBLE_SOURCE_ROOT @property diff --git a/test/lib/ansible_test/_internal/provider/layout/ansible.py b/test/lib/ansible_test/_internal/provider/layout/ansible.py index 6ef68dada25..b393d7907a0 100644 --- a/test/lib/ansible_test/_internal/provider/layout/ansible.py +++ b/test/lib/ansible_test/_internal/provider/layout/ansible.py @@ -36,6 +36,8 @@ class AnsibleLayout(LayoutProvider): results_path='test/results', sanity_path='test/sanity', integration_path='test/integration', + integration_targets_path='test/integration/targets', + integration_vars_path='test/integration/integration_config.yml', unit_path='test/units', unit_module_path='test/units/modules', unit_module_utils_path='test/units/module_utils', diff --git a/test/lib/ansible_test/_internal/provider/layout/collection.py b/test/lib/ansible_test/_internal/provider/layout/collection.py index 1b83065d1c1..3f4ddbd858f 100644 --- a/test/lib/ansible_test/_internal/provider/layout/collection.py +++ b/test/lib/ansible_test/_internal/provider/layout/collection.py @@ -48,6 +48,8 @@ class CollectionLayout(LayoutProvider): results_path='tests/output', sanity_path='tests/sanity', integration_path='tests/integration', + integration_targets_path='tests/integration/targets', + integration_vars_path='tests/integration/integration_config.yml', unit_path='tests/unit', unit_module_path='tests/unit/plugins/modules', unit_module_utils_path='tests/unit/plugins/module_utils', diff --git a/test/lib/ansible_test/_internal/target.py b/test/lib/ansible_test/_internal/target.py index 5c2f84a407b..c0cf8c5b10d 100644 --- a/test/lib/ansible_test/_internal/target.py +++ b/test/lib/ansible_test/_internal/target.py @@ -520,31 +520,23 @@ class IntegrationTarget(CompletionTarget): # script_path and type - contents = [os.path.basename(p) for p in data_context().content.get_files(path)] + file_paths = data_context().content.get_files(path) + runme_path = os.path.join(path, 'runme.sh') - runme_files = tuple(c for c in contents if os.path.splitext(c)[0] == 'runme') - test_files = tuple(c for c in contents if os.path.splitext(c)[0] == 'test') - - self.script_path = None - - if runme_files: + if runme_path in file_paths: self.type = 'script' - self.script_path = os.path.join(path, runme_files[0]) - elif test_files: - self.type = 'special' - elif os.path.isdir(os.path.join(path, 'tasks')) or os.path.isdir(os.path.join(path, 'defaults')): - self.type = 'role' + self.script_path = runme_path else: self.type = 'role' # ansible will consider these empty roles, so ansible-test should as well + self.script_path = None # static_aliases - try: - aliases_path = os.path.join(path, 'aliases') + aliases_path = os.path.join(path, 'aliases') + + if aliases_path in file_paths: static_aliases = tuple(read_lines_without_comments(aliases_path, remove_blank_lines=True)) - except IOError as ex: - if ex.errno != errno.ENOENT: - raise + else: static_aliases = tuple() # modules