diff --git a/test/integration/targets/xattr/defaults/main.yml b/test/integration/targets/xattr/defaults/main.yml index 2ea8acbb4d2..af18fb84745 100644 --- a/test/integration/targets/xattr/defaults/main.yml +++ b/test/integration/targets/xattr/defaults/main.yml @@ -1 +1 @@ -test_file: ~/foo.txt \ No newline at end of file +test_file: "{{ output_dir }}/foo.txt" diff --git a/test/integration/targets/xattr/tasks/main.yml b/test/integration/targets/xattr/tasks/main.yml index 8514c444f74..563326b839e 100644 --- a/test/integration/targets/xattr/tasks/main.yml +++ b/test/integration/targets/xattr/tasks/main.yml @@ -1,68 +1,11 @@ - name: Setup include: setup.yml -- name: Set attributes - xattr: - path: "{{ test_file }}" - key: user.foo - value: bar - register: xattr_set_result - -- name: Get attributes - xattr: - path: "{{ test_file }}" - register: xattr_get_all_result - -- name: Get specific attribute - xattr: - path: "{{ test_file }}" - key: user.foo - register: xattr_get_specific_result - -- assert: - that: - - "xattr_set_result.changed" - - "xattr_get_all_result['xattr']['user.foo'] == 'bar'" - - "not xattr_get_all_result.changed" - - "xattr_get_specific_result['xattr']['user.foo'] == 'bar'" - - "not xattr_get_specific_result.changed" - -- name: Set attribute again - xattr: - path: "{{ test_file }}" - key: user.foo - value: bar - register: xattr_set_again_result - -- assert: - that: - - "not xattr_set_again_result.changed" - -- name: Unset attribute - xattr: - path: "{{ test_file }}" - key: user.foo - state: absent - register: xattr_unset_result - -- name: get attributes - xattr: - path: "{{ test_file }}" - register: xattr_get_after_unset_result - -- assert: - that: - - "xattr_unset_result.changed" - - "xattr_get_after_unset_result['xattr'] == {}" - - "not xattr_get_after_unset_result.changed" - -- name: Unset attribute again - xattr: - path: "{{ test_file }}" - key: user.foo - state: absent - register: xattr_unset_result - -- assert: - that: - - "not xattr_set_again_result.changed" \ No newline at end of file +- name: Check availability of xattr support + command: setfattr -n user.foo {{ test_file }} + ignore_errors: yes + register: xattr + +- name: Test + include: test.yml + when: xattr is not failed diff --git a/test/integration/targets/xattr/tasks/test.yml b/test/integration/targets/xattr/tasks/test.yml new file mode 100644 index 00000000000..4f4f35672c1 --- /dev/null +++ b/test/integration/targets/xattr/tasks/test.yml @@ -0,0 +1,65 @@ +- name: Set attributes + xattr: + path: "{{ test_file }}" + key: user.foo + value: bar + register: xattr_set_result + +- name: Get attributes + xattr: + path: "{{ test_file }}" + register: xattr_get_all_result + +- name: Get specific attribute + xattr: + path: "{{ test_file }}" + key: user.foo + register: xattr_get_specific_result + +- assert: + that: + - "xattr_set_result.changed" + - "xattr_get_all_result['xattr']['user.foo'] == 'bar'" + - "not xattr_get_all_result.changed" + - "xattr_get_specific_result['xattr']['user.foo'] == 'bar'" + - "not xattr_get_specific_result.changed" + +- name: Set attribute again + xattr: + path: "{{ test_file }}" + key: user.foo + value: bar + register: xattr_set_again_result + +- assert: + that: + - "not xattr_set_again_result.changed" + +- name: Unset attribute + xattr: + path: "{{ test_file }}" + key: user.foo + state: absent + register: xattr_unset_result + +- name: get attributes + xattr: + path: "{{ test_file }}" + register: xattr_get_after_unset_result + +- assert: + that: + - "xattr_unset_result.changed" + - "xattr_get_after_unset_result['xattr'] == {}" + - "not xattr_get_after_unset_result.changed" + +- name: Unset attribute again + xattr: + path: "{{ test_file }}" + key: user.foo + state: absent + register: xattr_unset_result + +- assert: + that: + - "not xattr_set_again_result.changed"