fixed corner case when counting backwards, added test cases for count=0 and backwards counts
This commit is contained in:
parent
35a2ca8a5d
commit
2a8a302e7e
2 changed files with 23 additions and 1 deletions
|
@ -166,7 +166,11 @@ class LookupModule(object):
|
|||
raise AnsibleError("bad formatting string: %s" % self.format)
|
||||
|
||||
def generate_sequence(self):
|
||||
numbers = xrange(self.start, self.end + 1, self.stride)
|
||||
if self.stride > 0:
|
||||
adjust = 1
|
||||
else:
|
||||
adjust = -1
|
||||
numbers = xrange(self.start, self.end + adjust, self.stride)
|
||||
|
||||
for i in numbers:
|
||||
try:
|
||||
|
|
|
@ -60,6 +60,10 @@
|
|||
set_fact: "{{ 'x' + item }}={{ item }}"
|
||||
with_sequence: start=0 end=3
|
||||
|
||||
- name: test with_sequence backwards
|
||||
set_fact: "{{ 'y' + item }}={{ item }}"
|
||||
with_sequence: start=3 end=0 stride=-1
|
||||
|
||||
- name: verify with_sequence
|
||||
assert:
|
||||
that:
|
||||
|
@ -67,6 +71,20 @@
|
|||
- "x1 == '1'"
|
||||
- "x2 == '2'"
|
||||
- "x3 == '3'"
|
||||
- "y3 == '3'"
|
||||
- "y2 == '2'"
|
||||
- "y1 == '1'"
|
||||
- "y0 == '0'"
|
||||
|
||||
- name: test with_sequence not failing on count == 0
|
||||
debug: msg='previously failed with backward counting error'
|
||||
with_sequence: count=0
|
||||
register: count_of_zero
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- count_of_zero | skipped
|
||||
- not count_of_zero | failed
|
||||
|
||||
# WITH_RANDOM_CHOICE
|
||||
|
||||
|
|
Loading…
Reference in a new issue