mirror of https://github.com/ansible/ansible.git
Account for empty strings when splitting the host pattern (#62442)
Improve tests - add more unit test cases - add specific integration test with more cases Testing shows no major downside to calling .strip() twice in a comprehension vs. using a regular for loop and only calling .strip() once. Going with the comprehension for ease of maintenance and because comprehensions are optimized in CPython.pull/62799/head
parent
8d0c193b25
commit
987265a6ef
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- account for empty strings in when splitting the host pattern (https://github.com/ansible/ansible/issues/61964)
|
@ -0,0 +1 @@
|
||||
shippable/posix/group4
|
@ -0,0 +1,5 @@
|
||||
all:
|
||||
hosts:
|
||||
host1:
|
||||
host2:
|
||||
host3:
|
@ -0,0 +1,31 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -eux
|
||||
|
||||
trap 'echo "Host pattern limit test failed"' ERR
|
||||
|
||||
# https://github.com/ansible/ansible/issues/61964
|
||||
|
||||
# These tests should return all hosts
|
||||
ansible -i hosts.yml all --limit ,, --list-hosts | tee out ; grep -q 'hosts (3)' out
|
||||
ansible -i hosts.yml ,, --list-hosts | tee out ; grep -q 'hosts (3)' out
|
||||
ansible -i hosts.yml , --list-hosts | tee out ; grep -q 'hosts (3)' out
|
||||
ansible -i hosts.yml all --limit , --list-hosts | tee out ; grep -q 'hosts (3)' out
|
||||
ansible -i hosts.yml all --limit '' --list-hosts | tee out ; grep -q 'hosts (3)' out
|
||||
|
||||
|
||||
# Only one host
|
||||
ansible -i hosts.yml all --limit ,,host1 --list-hosts | tee out ; grep -q 'hosts (1)' out
|
||||
ansible -i hosts.yml ,,host1 --list-hosts | tee out ; grep -q 'hosts (1)' out
|
||||
|
||||
ansible -i hosts.yml all --limit host1,, --list-hosts | tee out ; grep -q 'hosts (1)' out
|
||||
ansible -i hosts.yml host1,, --list-hosts | tee out ; grep -q 'hosts (1)' out
|
||||
|
||||
|
||||
# Only two hosts
|
||||
ansible -i hosts.yml all --limit host1,,host3 --list-hosts | tee out ; grep -q 'hosts (2)' out
|
||||
ansible -i hosts.yml host1,,host3 --list-hosts | tee out ; grep -q 'hosts (2)' out
|
||||
|
||||
ansible -i hosts.yml all --limit 'host1, , ,host3' --list-hosts | tee out ; grep -q 'hosts (2)' out
|
||||
ansible -i hosts.yml 'host1, , ,host3' --list-hosts | tee out ; grep -q 'hosts (2)' out
|
||||
|
Loading…
Reference in New Issue