Show diff when file: state=link changes the symlink target (#22243)
* Show diff when file: state=link changes the symlink target * Integration test for symlink target change * Also check soft link idempotency
This commit is contained in:
parent
228131d1cd
commit
15c7288ab9
2 changed files with 22 additions and 0 deletions
|
@ -392,6 +392,8 @@ def main():
|
|||
elif prev_state == 'link':
|
||||
b_old_src = os.readlink(b_path)
|
||||
if b_old_src != b_src:
|
||||
diff['before']['src'] = to_native(b_old_src, errors='strict')
|
||||
diff['after']['src'] = src
|
||||
changed = True
|
||||
elif prev_state == 'hard':
|
||||
if not (state == 'hard' and os.stat(b_path).st_ino == os.stat(b_src).st_ino):
|
||||
|
|
|
@ -97,6 +97,26 @@
|
|||
that:
|
||||
- "file5_result.changed == true"
|
||||
|
||||
- name: change soft link to relative
|
||||
file: src={{output_file|basename}} dest={{output_dir}}/soft.txt state=link
|
||||
register: file5a_result
|
||||
|
||||
- name: verify that the file was marked as changed
|
||||
assert:
|
||||
that:
|
||||
- "file5a_result.changed == true"
|
||||
- "file5a_result.diff.before.src == output_file|expanduser"
|
||||
- "file5a_result.diff.after.src == output_file|basename"
|
||||
|
||||
- name: soft link idempotency check
|
||||
file: src={{output_file|basename}} dest={{output_dir}}/soft.txt state=link
|
||||
register: file5b_result
|
||||
|
||||
- name: verify that the file was not marked as changed
|
||||
assert:
|
||||
that:
|
||||
- "file5b_result.changed == false"
|
||||
|
||||
- name: create hard link to file
|
||||
file: src={{output_file}} dest={{output_dir}}/hard.txt state=hard
|
||||
register: file6_result
|
||||
|
|
Loading…
Reference in a new issue