community.general/tests/sanity/extra/aliases.py
Felix Fontein 8f8a0e1d7c
Some checks are pending
EOL CI / EOL Sanity (Ⓐ2.17) (push) Waiting to run
EOL CI / EOL Units (Ⓐ2.17+py3.10) (push) Waiting to run
EOL CI / EOL Units (Ⓐ2.17+py3.12) (push) Waiting to run
EOL CI / EOL Units (Ⓐ2.17+py3.7) (push) Waiting to run
EOL CI / EOL I (Ⓐ2.17+alpine319+py:azp/posix/1/) (push) Waiting to run
EOL CI / EOL I (Ⓐ2.17+alpine319+py:azp/posix/2/) (push) Waiting to run
EOL CI / EOL I (Ⓐ2.17+alpine319+py:azp/posix/3/) (push) Waiting to run
EOL CI / EOL I (Ⓐ2.17+fedora39+py:azp/posix/1/) (push) Waiting to run
EOL CI / EOL I (Ⓐ2.17+fedora39+py:azp/posix/2/) (push) Waiting to run
EOL CI / EOL I (Ⓐ2.17+fedora39+py:azp/posix/3/) (push) Waiting to run
EOL CI / EOL I (Ⓐ2.17+ubuntu2004+py:azp/posix/1/) (push) Waiting to run
EOL CI / EOL I (Ⓐ2.17+ubuntu2004+py:azp/posix/2/) (push) Waiting to run
EOL CI / EOL I (Ⓐ2.17+ubuntu2004+py:azp/posix/3/) (push) Waiting to run
nox / Run extra sanity tests (push) Waiting to run
Fix __future__ imports, __metaclass__ = type, and remove explicit UTF-8 encoding statement for Python files (#10886)
* Adjust all __future__ imports:

for i in $(grep -REl "__future__.*absolute_import" plugins/ tests/); do
  sed -e 's/from __future__ import .*/from __future__ import annotations/g' -i $i;
done

* Remove all UTF-8 encoding specifications for Python source files:

for i in $(grep -REl '[-][*]- coding: utf-8 -[*]-' plugins/ tests/); do
  sed -e '/^# -\*- coding: utf-8 -\*-/d' -i $i;
done

* Remove __metaclass__ = type:

for i in $(grep -REl '__metaclass__ = type' plugins/ tests/); do
  sed -e '/^__metaclass__ = type/d' -i $i;
done
2025-10-10 19:52:04 +02:00

69 lines
2.2 KiB
Python

#!/usr/bin/env python
# Copyright (c) Ansible Project
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
# SPDX-License-Identifier: GPL-3.0-or-later
"""Check extra collection docs with antsibull-docs."""
from __future__ import annotations
import glob
import sys
import yaml
def main():
"""Main entry point."""
with open('.azure-pipelines/azure-pipelines.yml', 'rb') as f:
azp = yaml.safe_load(f)
allowed_targets = set(['azp/generic/1'])
for stage in azp['stages']:
if stage['stage'].startswith(('Sanity', 'Unit', 'Generic', 'Summary')):
continue
for job in stage['jobs']:
for group in job['parameters']['groups']:
allowed_targets.add('azp/posix/{0}'.format(group))
paths = glob.glob("tests/integration/targets/*/aliases")
has_errors = False
for path in paths:
targets = []
skip = False
with open(path, 'r') as f:
for line in f:
if '#' in line:
line = line[:line.find('#')]
line = line.strip()
if line.startswith('needs/'):
continue
if line.startswith('skip/'):
continue
if line.startswith('cloud/'):
continue
if line.startswith('context/'):
continue
if line in ('unsupported', 'disabled', 'hidden'):
skip = True
if line in ('destructive', ):
continue
if '/' not in line:
continue
targets.append(line)
if skip:
continue
if not targets:
if 'targets/setup_' in path:
continue
print('%s: %s' % (path, 'found no targets'))
has_errors = True
for target in targets:
if target not in allowed_targets:
print('%s: %s' % (path, 'found invalid target "{0}"'.format(target)))
has_errors = True
return 1 if has_errors else 0
if __name__ == '__main__':
sys.exit(main())