@ -1,3 +1,22 @@
- name : test slurping a non-existent file
slurp:
src : '{{ output_dir }}/i_do_not_exist'
register : slurp_missing
ignore_errors : yes
- name : Create a directory to test with
file:
path : '{{ output_dir }}/baz/'
state : directory
- name : test slurping a directory
slurp:
src : '{{ output_dir }}/baz'
register : slurp_dir
ignore_errors : yes
# Ensure unreadable file and directory handling and error messages
# https://github.com/ansible/ansible/issues/67340
- name : create test user
user:
name : "{{ become_test_user }}"
@ -16,37 +35,47 @@
slurp:
src : "{{ output_dir }}/qux.txt"
register : slurp_unreadable_file
become : true
become : yes
become_user : "{{ become_test_user }}"
become_method : su
ignore_errors : true
- name : check slurp unreadable file result
assert:
that:
- "slurp_unreadable_file is failed"
- "slurp_unreadable_file.msg is regex('^file is not readable:')"
- "slurp_unreadable_file is not changed"
ignore_errors : yes
- name : create unreadable directory
file:
path : "{{ output_dir }}/test_data"
state : directory
mode : 0700
mode : '0700'
owner : root
- name : test slurp unreadable directory
slurp:
src : "{{ output_dir }}/test_data"
register : slurp_unreadable_dir
become : true
become : yes
become_user : "{{ become_test_user }}"
become_method : su
ignore_errors : true
ignore_errors : yes
- name : Try to access file as directory
slurp:
src : "{{ output_dir }}/qux.txt/somefile"
ignore_errors : yes
register : slurp_path_file_as_dir
- name : check slurp unreadable directory result
- name : check slurp failures
assert:
that:
- "slurp_unreadable_dir is failed"
- "slurp_unreadable_dir.msg is regex('^file is not readable:')"
- "slurp_unreadable_dir is not changed"
- slurp_missing is failed
- slurp_missing.msg is search('file not found')
- slurp_missing is not changed
- slurp_unreadable_file is failed
- slurp_unreadable_file.msg is regex('^file is not readable:')
- slurp_unreadable_file is not changed
- slurp_unreadable_dir is failed
- slurp_unreadable_dir.msg is regex('^file is not readable:')
- slurp_unreadable_dir is not changed
- slurp_path_file_as_dir is failed
- slurp_path_file_as_dir is search('unable to slurp file')
- slurp_dir is failed
- slurp_dir.msg is search('source is a directory and must be a file')
- slurp_dir is not changed