Blob Blame History Raw
diff --git a/tests/set_selinux_variables.yml b/tests/set_selinux_variables.yml
index f294101..7571066 100644
--- a/tests/set_selinux_variables.yml
+++ b/tests/set_selinux_variables.yml
@@ -1,4 +1,12 @@
 ---
+- name: Install SELinux tool semanage on Fedora
+  package:
+    name:
+      - policycoreutils-python-utils
+    state: present
+  when: ansible_distribution == "Fedora" or
+    ( ansible_distribution_major_version > "7" and
+      ( ansible_distribution == "CentOS" or ansible_distribution == "RedHat" ))
 - name: Get local modifications - boolean
   command: /usr/sbin/semanage boolean -l -n -C
   register: selinux_role_boolean
diff --git a/tests/tests_all_purge.yml b/tests/tests_all_purge.yml
index 03dfe05..c686837 100644
--- a/tests/tests_all_purge.yml
+++ b/tests/tests_all_purge.yml
@@ -14,7 +14,9 @@
         name:
           - policycoreutils-python-utils
         state: present
-      when: ansible_distribution == "Fedora"
+      when: ansible_distribution == "Fedora" or
+        ( ansible_distribution_major_version > "7" and
+          ( ansible_distribution == "CentOS" or ansible_distribution == "RedHat" ))
 
     - name: Add a Linux System Roles SELinux User
       user:
diff --git a/tests/tests_all_transitions.yml b/tests/tests_all_transitions.yml
index f608a42..d0d209b 100644
--- a/tests/tests_all_transitions.yml
+++ b/tests/tests_all_transitions.yml
@@ -1,6 +1,8 @@
 - name: Test all the possible selinux_state transitions
   hosts: all
   become: true
+  tags:
+    - 'tests::reboot'
   vars:
     states:
       - permissive
diff --git a/tests/tests_boolean.yml b/tests/tests_boolean.yml
index 47eafc0..2aa0025 100644
--- a/tests/tests_boolean.yml
+++ b/tests/tests_boolean.yml
@@ -1,5 +1,6 @@
 
 - name: Check if selinux role sets SELinux booleans
+  tags: tests::expfail
   hosts: all
   become: true
 
@@ -12,7 +13,7 @@
         selinux_booleans:
           - { name: 'samba_enable_home_dirs', state: 'on', persistent: 'yes' }
 
-    - include: set_selinux_variables.yml
+    - import_tasks: set_selinux_variables.yml
     - name: save state after initial changes and before other changes
       set_fact:
         boolean_before: "{{ selinux_role_boolean.stdout_lines }}"
diff --git a/tests/tests_fcontext.yml b/tests/tests_fcontext.yml
index 0a411fb..f6f1bf4 100644
--- a/tests/tests_fcontext.yml
+++ b/tests/tests_fcontext.yml
@@ -13,7 +13,7 @@
         selinux_fcontexts:
           - { target: '/tmp/test_dir1(/.*)?', setype: 'user_home_dir_t', ftype: 'd' }
 
-    - include: set_selinux_variables.yml
+    - import_tasks: set_selinux_variables.yml
     - name: save state after initial changes and before other changes
       set_fact:
         fcontext_before: "{{ selinux_role_fcontext.stdout }}"
diff --git a/tests/tests_login.yml b/tests/tests_login.yml
index efa826d..c7ce462 100644
--- a/tests/tests_login.yml
+++ b/tests/tests_login.yml
@@ -18,7 +18,7 @@
           - { login: 'sar-user', seuser: 'staff_u', serange: 's0-s0:c0.c1023', state: 'present' }
 
 
-    - include: set_selinux_variables.yml
+    - import_tasks: set_selinux_variables.yml
     - name: save state after initial changes and before other changes
       set_fact:
         login_before: "{{ selinux_role_login.stdout }}"
diff --git a/tests/tests_port.yml b/tests/tests_port.yml
index 446f79d..7bb112e 100644
--- a/tests/tests_port.yml
+++ b/tests/tests_port.yml
@@ -29,7 +29,7 @@
         selinux_ports:
           - { ports: '22022', proto: 'tcp', setype: 'ssh_port_t', state: 'present' }
 
-    - include: set_selinux_variables.yml
+    - import_tasks: set_selinux_variables.yml
     - name: save state after other changes
       set_fact:
         port_after: "{{ selinux_role_port.stdout }}"
diff --git a/tests/tests_selinux_disabled.yml b/tests/tests_selinux_disabled.yml
index afd23e4..706882f 100644
--- a/tests/tests_selinux_disabled.yml
+++ b/tests/tests_selinux_disabled.yml
@@ -18,7 +18,9 @@
         name:
           - policycoreutils-python-utils
         state: present
-      when: ansible_distribution == "Fedora"
+      when: ansible_distribution == "Fedora" or
+        ( ansible_distribution_major_version > "7" and
+          ( ansible_distribution == "CentOS" or ansible_distribution == "RedHat" ))
 
     - name: Add a Linux System Roles SELinux User
       user:
@@ -67,17 +69,28 @@
       assert:
         that: "{{ ansible_selinux.config_mode == 'enforcing' }}"
         msg: "SELinux config mode should be enforcing instead of {{ ansible_selinux.config_mode }}"
-    - name: Restore original /etc/selinux/config
-      copy:
-        remote_src: true
-        dest: /etc/selinux/config
-        src: /etc/selinux/config.test_selinux_disabled
-    - name: Remove /etc/selinux/config backup
-      file:
-        path: /etc/selinux/config.test_selinux_disabled
-        state: absent
-    - name: Remove Linux System Roles SELinux User
-      user:
-        name: sar-user
-        remove: yes
-        state: absent
+
+    - name: Cleanup
+      tags: [ 'tests::cleanup' ]
+      block:
+        - name: Restore original /etc/selinux/config
+          copy:
+            remote_src: true
+            dest: /etc/selinux/config
+            src: /etc/selinux/config.test_selinux_disabled
+
+        - name: Remove /etc/selinux/config backup
+          file:
+            path: /etc/selinux/config.test_selinux_disabled
+            state: absent
+
+        - name: Remove Linux System Roles SELinux User
+          user:
+            name: sar-user
+            remove: yes
+            state: absent
+
+        - import_role:
+            name: selinux
+          vars:
+            selinux_all_purge: true