From 76df31830c16d0b2dbbb8622dbc584de256cf874 Mon Sep 17 00:00:00 2001
From: Adrian Reber <areber@redhat.com>
Date: Fri, 26 Apr 2019 21:06:23 +0200
Subject: Only run checkpoint/restore tests on Fedora >= 29

Only Fedora 29 and newer has an updated container-selinux and
selinux-policy new enough to support CRIU in restoring threaded
processes in a container with SELinux enabled.

Also skip checkpoint/restore tests if rootless. CRIU requires root.

Signed-off-by: Adrian Reber <areber@redhat.com>
---
 test/e2e/checkpoint_test.go | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

(limited to 'test')

diff --git a/test/e2e/checkpoint_test.go b/test/e2e/checkpoint_test.go
index 5b549755e..c2f5a592c 100644
--- a/test/e2e/checkpoint_test.go
+++ b/test/e2e/checkpoint_test.go
@@ -21,6 +21,7 @@ var _ = Describe("Podman checkpoint", func() {
 	)
 
 	BeforeEach(func() {
+		SkipIfRootless()
 		tempdir, err = CreateTempDirInTempDir()
 		if err != nil {
 			os.Exit(1)
@@ -41,11 +42,12 @@ var _ = Describe("Podman checkpoint", func() {
 		if !criu.CheckForCriu() {
 			Skip("CRIU is missing or too old.")
 		}
-		// TODO: Remove the skip when the current CRIU SELinux problem is solved.
-		// See: https://github.com/containers/libpod/issues/2334
+		// Only Fedora 29 and newer has a new enough selinux-policy and
+		// container-selinux package to support CRIU in correctly
+		// restoring threaded processes
 		hostInfo := podmanTest.Host
-		if hostInfo.Distribution == "fedora" {
-			Skip("Checkpointing containers on Fedora currently broken.")
+		if hostInfo.Distribution == "fedora" && hostInfo.Version < "29" {
+			Skip("Checkpoint/Restore with SELinux only works on Fedora >= 29")
 		}
 
 	})
-- 
cgit v1.2.3-54-g00ecf