mirror of https://github.com/ansible/ansible.git
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.8 KiB
Bash
48 lines
1.8 KiB
Bash
#!/usr/bin/env bash
|
|
# Make sure that `ansible-test sanity --lint` outputs the correct format to stdout, even when delegation is used.
|
|
|
|
set -eu
|
|
|
|
# Create test scenarios at runtime that do not pass sanity tests.
|
|
# This avoids the need to create ignore entries for the tests.
|
|
|
|
mkdir -p ansible_collections/ns/col/plugins/modules
|
|
|
|
(
|
|
cd ansible_collections/ns/col/plugins/modules
|
|
|
|
echo '#!invalid' > python-wrong-shebang.py # expected module shebang "b'#!/usr/bin/python'" but found: b'#!invalid'
|
|
)
|
|
|
|
source ../collection/setup.sh
|
|
|
|
set -x
|
|
|
|
###
|
|
### Run the sanity test with the `--lint` option.
|
|
###
|
|
|
|
# Use the `--venv` option to verify that delegation preserves the output streams.
|
|
ansible-test sanity --test shebang --color --failure-ok --lint --venv "${@}" 1> actual-stdout.txt 2> actual-stderr.txt
|
|
diff -u "${TEST_DIR}/expected.txt" actual-stdout.txt
|
|
grep -f "${TEST_DIR}/expected.txt" actual-stderr.txt
|
|
|
|
# Run without delegation to verify direct output uses the correct streams.
|
|
ansible-test sanity --test shebang --color --failure-ok --lint "${@}" 1> actual-stdout.txt 2> actual-stderr.txt
|
|
diff -u "${TEST_DIR}/expected.txt" actual-stdout.txt
|
|
grep -f "${TEST_DIR}/expected.txt" actual-stderr.txt
|
|
|
|
###
|
|
### Run the sanity test without the `--lint` option.
|
|
###
|
|
|
|
# Use the `--venv` option to verify that delegation preserves the output streams.
|
|
ansible-test sanity --test shebang --color --failure-ok --venv "${@}" 1> actual-stdout.txt 2> actual-stderr.txt
|
|
grep -f "${TEST_DIR}/expected.txt" actual-stdout.txt
|
|
[ ! -s actual-stderr.txt ]
|
|
|
|
# Run without delegation to verify direct output uses the correct streams.
|
|
ansible-test sanity --test shebang --color --failure-ok "${@}" 1> actual-stdout.txt 2> actual-stderr.txt
|
|
grep -f "${TEST_DIR}/expected.txt" actual-stdout.txt
|
|
[ ! -s actual-stderr.txt ]
|