diff --git a/tests/integration/targets/module_helper/aliases b/tests/integration/targets/module_helper/aliases index 3005e4b26d..765b70da79 100644 --- a/tests/integration/targets/module_helper/aliases +++ b/tests/integration/targets/module_helper/aliases @@ -1 +1 @@ -shippable/posix/group4 +shippable/posix/group2 diff --git a/tests/integration/targets/module_helper/tasks/mdepfail.yml b/tests/integration/targets/module_helper/tasks/mdepfail.yml index d22738a778..7b354305cc 100644 --- a/tests/integration/targets/module_helper/tasks/mdepfail.yml +++ b/tests/integration/targets/module_helper/tasks/mdepfail.yml @@ -7,8 +7,8 @@ - name: assert failing dependency assert: that: - - result.failed is true + - result is failed - '"Failed to import" in result.msg' - '"nopackagewiththisname" in result.msg' - - '"ModuleNotFoundError:" in result.exception' + - '"ModuleNotFoundError:" in result.exception or "ImportError:" in result.exception' - '"nopackagewiththisname" in result.exception' diff --git a/tests/integration/targets/module_helper/tasks/msimple.yml b/tests/integration/targets/module_helper/tasks/msimple.yml index deb386f2b5..5b99788c21 100644 --- a/tests/integration/targets/module_helper/tasks/msimple.yml +++ b/tests/integration/targets/module_helper/tasks/msimple.yml @@ -8,7 +8,7 @@ that: - simple1.a == 80 - simple1.abc == "abc" - - simple1.changed is false + - simple1 is not changed - simple1.value is none - name: test msimple 2 @@ -23,8 +23,8 @@ - simple2.a == 101 - 'simple2.msg == "Module failed with exception: a >= 100"' - simple2.abc == "abc" - - simple2.failed is true - - simple2.changed is false + - simple2 is failed + - simple2 is not changed - simple2.value is none - name: test msimple 3 @@ -39,7 +39,7 @@ - simple3.a == 2 - simple3.b == "potatoespotatoes" - simple3.c == "NoneNone" - - simple3.changed is false + - simple3 is not changed - name: test msimple 4 msimple: @@ -51,4 +51,4 @@ that: - simple4.c == "abc change" - simple4.abc == "changed abc" - - simple4.changed is true + - simple4 is changed diff --git a/tests/integration/targets/module_helper/tasks/mstate.yml b/tests/integration/targets/module_helper/tasks/mstate.yml index 53329a3c70..920b4d0ae7 100644 --- a/tests/integration/targets/module_helper/tasks/mstate.yml +++ b/tests/integration/targets/module_helper/tasks/mstate.yml @@ -13,7 +13,7 @@ - state1.b == "banana" - state1.c == "cashew" - state1.result == "abc" - - state1.changed is false + - state1 is not changed - name: test mstate 2 mstate: @@ -29,7 +29,7 @@ - state2.b == "banana" - state2.c == "cashew" - state2.result == "80bananacashew" - - state2.changed is true + - state2 is changed - name: test mstate 3 mstate: @@ -44,7 +44,7 @@ - state3.a == 3 - state3.b == "banana" - state3.result == "bananabananabanana" - - state3.changed is true + - state3 is changed - name: test mstate 4 mstate: @@ -59,7 +59,7 @@ - state4.a == 4 - state4.c == "cashew" - state4.result == "cashewcashewcashewcashew" - - state4.changed is true + - state4 is changed - name: test mstate 5 mstate: @@ -76,4 +76,4 @@ - state5.b == "foo" - state5.c == "bar" - state5.result == "foobarfoobarfoobarfoobarfoobar" - - state5.changed is true + - state5 is changed diff --git a/tests/integration/targets/mqtt/aliases b/tests/integration/targets/mqtt/aliases index 0a4db0379e..9a30a5a281 100644 --- a/tests/integration/targets/mqtt/aliases +++ b/tests/integration/targets/mqtt/aliases @@ -1,4 +1,3 @@ -notification/mqtt shippable/posix/group1 skip/aix skip/osx diff --git a/tests/sanity/extra/aliases.json b/tests/sanity/extra/aliases.json new file mode 100644 index 0000000000..dabdcd6a1d --- /dev/null +++ b/tests/sanity/extra/aliases.json @@ -0,0 +1,11 @@ +{ + "include_symlinks": false, + "prefixes": [ + ".azure-pipelines/azure-pipelines.yml", + "tests/integration/targets/" + ], + "output": "path-message", + "requirements": [ + "PyYAML" + ] +} diff --git a/tests/sanity/extra/aliases.py b/tests/sanity/extra/aliases.py new file mode 100755 index 0000000000..8791238f5f --- /dev/null +++ b/tests/sanity/extra/aliases.py @@ -0,0 +1,63 @@ +#!/usr/bin/env python +# Copyright (c) Ansible Project +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) +"""Check extra collection docs with antsibull-lint.""" +from __future__ import (absolute_import, division, print_function) +__metaclass__ = type + +import os +import sys + +import yaml + + +def main(): + """Main entry point.""" + paths = sys.argv[1:] or sys.stdin.read().splitlines() + paths = [path for path in paths if path.endswith('/aliases')] + + with open('.azure-pipelines/azure-pipelines.yml', 'rb') as f: + azp = yaml.safe_load(f) + + allowed_targets = set(['shippable/cloud/group1']) + for stage in azp['stages']: + if stage['stage'].startswith(('Sanity', 'Unit', 'Cloud', 'Summary')): + continue + for job in stage['jobs']: + for group in job['parameters']['groups']: + allowed_targets.add('shippable/posix/group{0}'.format(group)) + + 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 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')) + for target in targets: + if target not in allowed_targets: + print('%s: %s' % (path, 'found invalid target "{0}"'.format(target))) + + +if __name__ == '__main__': + main()