summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Clay <matt@mystile.com>2018-01-08 22:31:17 -0800
committerMatt Clay <matt@mystile.com>2018-01-08 23:58:30 -0800
commit204d0f7beaca3c8e70259a20264bbcc8d445571d (patch)
tree941baddf72e617972a4c29305647f1f66f971d12
parentfcba7a086a3fa6dd9f8b4c748267cfcb5fd9fc38 (diff)
downloadansible-204d0f7beaca3c8e70259a20264bbcc8d445571d.tar.gz
Make xattr test conditional on feature support.
(cherry picked from commit 77726b471f2fa610cb48a670126536c9583b23ff)
-rw-r--r--test/integration/targets/xattr/defaults/main.yml2
-rw-r--r--test/integration/targets/xattr/tasks/main.yml73
-rw-r--r--test/integration/targets/xattr/tasks/test.yml65
3 files changed, 74 insertions, 66 deletions
diff --git a/test/integration/targets/xattr/defaults/main.yml b/test/integration/targets/xattr/defaults/main.yml
index 2ea8acbb4d..af18fb8474 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 8514c444f7..563326b839 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 0000000000..4f4f35672c
--- /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"