From 698c39027c377a829e26827c95a9fa29e34f7f7c Mon Sep 17 00:00:00 2001
From: Bryton Lacquement <bryton.lacquement@nexedi.com>
Date: Tue, 19 May 2020 16:43:08 +0200
Subject: [PATCH] kvm/slaprunner: skip tests that fail due to missing
 rdiff-backup in Python 3

See merge request nexedi/slapos!779
---
 software/kvm/test/test.py        | 4 ++++
 software/slaprunner/test/test.py | 8 ++++++++
 2 files changed, 12 insertions(+)

diff --git a/software/kvm/test/test.py b/software/kvm/test/test.py
index 3018a2326..ba239b869 100644
--- a/software/kvm/test/test.py
+++ b/software/kvm/test/test.py
@@ -40,6 +40,7 @@ from slapos.testing.testcase import makeModuleSetUpAndTestCaseClass
 
 has_kvm = os.access('/dev/kvm', os.R_OK|os.W_OK)
 skipUnlessKvm = unittest.skipUnless(has_kvm, 'kvm not loaded or not allowed')
+skipIfPython3 = unittest.skipIf(six.PY3, 'rdiff-backup is not compatible with Python 3 yet')
 
 if has_kvm:
   setUpModule, InstanceTestCase = makeModuleSetUpAndTestCaseClass(
@@ -327,6 +328,7 @@ class TestAccessKvmClusterAdditional(MonitorAccessMixin, InstanceTestCase):
     )
     self.assertIn('<title>noVNC</title>', result.text)
 
+@skipIfPython3
 @skipUnlessKvm
 class TestAccessKvmClusterBootstrap(MonitorAccessMixin, InstanceTestCase):
   __partition_reference__ = 'akcb'
@@ -365,6 +367,7 @@ class TestAccessKvmClusterBootstrap(MonitorAccessMixin, InstanceTestCase):
     )
     self.assertIn('<title>noVNC</title>', result.text)
 
+@skipIfPython3
 @skipUnlessKvm
 class TestInstanceResilient(InstanceTestCase):
   __partition_reference__ = 'ir'
@@ -392,6 +395,7 @@ class TestInstanceResilient(InstanceTestCase):
         'takeover-kvm-1-url',
         'url']))
 
+@skipIfPython3
 @skipUnlessKvm
 class TestAccessResilientAdditional(InstanceTestCase):
   __partition_reference__ = 'ara'
diff --git a/software/slaprunner/test/test.py b/software/slaprunner/test/test.py
index ba4e3f285..907a3a174 100644
--- a/software/slaprunner/test/test.py
+++ b/software/slaprunner/test/test.py
@@ -46,6 +46,8 @@ from slapos.recipe.librecipe import generateHashFromFiles
 from slapos.testing.testcase import makeModuleSetUpAndTestCaseClass
 from slapos.util import bytes2str
 
+skipIfPython3 = unittest.skipIf(six.PY3, 'rdiff-backup is not compatible with Python 3 yet')
+
 setUpModule, SlapOSInstanceTestCase = makeModuleSetUpAndTestCaseClass(
     os.path.abspath(
         os.path.join(os.path.dirname(__file__), '..',
@@ -476,6 +478,7 @@ class TestCustomFrontend(SlaprunnerTestCase):
       parameter_dict['custom-frontend-url'],
       'https://www.erp5.com')
 
+@skipIfPython3
 class TestResilientInstance(SlaprunnerTestCase):
   instance_max_retry = 20
 
@@ -502,12 +505,14 @@ class TestResilientInstance(SlaprunnerTestCase):
         'url',
         'webdav-url']))
 
+@skipIfPython3
 class TestResilientCustomFrontend(TestCustomFrontend):
   instance_max_retry = 20
   @classmethod
   def getInstanceSoftwareType(cls):
     return 'resilient'
 
+@skipIfPython3
 class TestResilientWebInstance(TestWeb):
   instance_max_retry = 20
   @classmethod
@@ -518,6 +523,7 @@ class TestResilientWebInstance(TestWeb):
     pass # Disable until we can write on runner0 rather them
          # on root partition
 
+@skipIfPython3
 class TestResilientWebrunnerBasicUsage(TestWebRunnerBasicUsage):
   instance_max_retry = 20
   @classmethod
@@ -525,12 +531,14 @@ class TestResilientWebrunnerBasicUsage(TestWebRunnerBasicUsage):
     return 'resilient'
 
 
+@skipIfPython3
 class TestResilientWebrunnerAutorun(TestWebRunnerAutorun):
   instance_max_retry = 20
   @classmethod
   def getInstanceSoftwareType(cls):
     return 'resilient'
 
+@skipIfPython3
 class TestResilientDummyInstance(SlaprunnerTestCase):
   instance_max_retry = 20
   @classmethod
-- 
2.30.9