mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-05-01 23:01:27 -07:00
allows loop pause for subseconds (#50461)
* allows loop pause for subseconds * skip test on os x and bsd since date commands lacks nano fixes #49951
This commit is contained in:
parent
d4dbc7f2e0
commit
30da7a363c
3 changed files with 22 additions and 1 deletions
2
changelogs/fragments/pause_subsecs.yml
Normal file
2
changelogs/fragments/pause_subsecs.yml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
minor_changes:
|
||||||
|
- loop_control's pause now allows for fractions of a second
|
|
@ -28,7 +28,7 @@ class LoopControl(FieldAttributeBase):
|
||||||
_loop_var = FieldAttribute(isa='str', default='item')
|
_loop_var = FieldAttribute(isa='str', default='item')
|
||||||
_index_var = FieldAttribute(isa='str')
|
_index_var = FieldAttribute(isa='str')
|
||||||
_label = FieldAttribute(isa='str')
|
_label = FieldAttribute(isa='str')
|
||||||
_pause = FieldAttribute(isa='int', default=0)
|
_pause = FieldAttribute(isa='float', default=0)
|
||||||
_extended = FieldAttribute(isa='bool')
|
_extended = FieldAttribute(isa='bool')
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
|
|
|
@ -23,6 +23,25 @@
|
||||||
that:
|
that:
|
||||||
- '(after.stdout |int) - (before.stdout|int) >= 4'
|
- '(after.stdout |int) - (before.stdout|int) >= 4'
|
||||||
|
|
||||||
|
- name: test subsecond pause
|
||||||
|
block:
|
||||||
|
- name: Measure time before loop with .5s pause
|
||||||
|
set_fact:
|
||||||
|
times: "{{times|default([]) + [ lookup('pipe','date +%s.%3N') ]}}"
|
||||||
|
with_sequence: count=3
|
||||||
|
loop_control:
|
||||||
|
pause: 0.6
|
||||||
|
|
||||||
|
- name: ensure lag, since there is 3 rounds, and 0.5 seconds between, it should last 1.2 seconds, but allowing leeway due to CI lag
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- tdiff|float >= 1.2
|
||||||
|
- tdiff|int < 3
|
||||||
|
vars:
|
||||||
|
tdiff: '{{ times[2]|float - times[0]|float }}'
|
||||||
|
when:
|
||||||
|
- ansible_facts['distribution'] not in ("MacOSX", "FreeBSD")
|
||||||
|
|
||||||
#
|
#
|
||||||
# Tests of loop syntax with args
|
# Tests of loop syntax with args
|
||||||
#
|
#
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue