skip some unittests on older python versions
authorPhilipp Gesang <philipp.gesang@intra2net.com>
Wed, 30 Aug 2017 07:47:16 +0000 (09:47 +0200)
committerThomas Jarosch <thomas.jarosch@intra2net.com>
Mon, 2 Apr 2018 11:34:09 +0000 (13:34 +0200)
testing/test_recover.py

index 66ba247..a5016c0 100644 (file)
@@ -2,6 +2,8 @@ import logging
 import os
 import shutil
 import stat
+import sys
+import unittest
 
 from functools import partial
 
@@ -753,6 +755,7 @@ class RecoverCorruptVolumeGZAESTest (RecoverCorruptVolumeBaseTest):
     PASSWORD    = TEST_PASSWORD
 
 
+@unittest.skipIf(sys.version_info < (3, 4), "requires recent os library")
 class RecoverCorruptHoleBaseTest (RecoverTest):
     """
     Cut bytes from the middle of a volume.
@@ -766,13 +769,16 @@ class RecoverCorruptHoleBaseTest (RecoverTest):
     VOLUMES     = 2 # request two vols to swell up the first one
     MISMATCHES  = 1
 
+@unittest.skipIf(sys.version_info < (3, 4), "requires recent os library")
 class RecoverCorruptHoleTest (RecoverCorruptHoleBaseTest):
     FAILURES    = 2
 
+@unittest.skipIf(sys.version_info < (3, 4), "requires recent os library")
 class RecoverCorruptHoleGZTest (RecoverCorruptHoleBaseTest):
     COMPRESSION = "#gz"
     MISSING     = 2
 
+@unittest.skipIf(sys.version_info < (3, 4), "requires recent os library")
 class RecoverCorruptHoleGZAESTest (RecoverCorruptHoleBaseTest):
     COMPRESSION = "#gz"
     PASSWORD    = TEST_PASSWORD
@@ -782,6 +788,7 @@ class RecoverCorruptHoleGZAESTest (RecoverCorruptHoleBaseTest):
 # rescue
 ###############################################################################
 
+@unittest.skipIf(sys.version_info < (3, 4), "requires recent os library")
 class RescueCorruptHoleBaseTest (RescueTest):
     """
     Cut bytes from the middle of a volume.
@@ -794,15 +801,18 @@ class RescueCorruptHoleBaseTest (RescueTest):
     MISMATCHES  = 2 # intersected by hole
     MISSING     = 1 # excised by hole
 
+@unittest.skipIf(sys.version_info < (3, 4), "requires recent os library")
 class RescueCorruptHoleTest (RescueCorruptHoleBaseTest):
     pass
 
+@unittest.skipIf(sys.version_info < (3, 4), "requires recent os library")
 class RescueCorruptHoleGZTest (RescueCorruptHoleBaseTest):
     COMPRESSION = "#gz"
     # the decompressor explodes in our face processing the first dummy, nothing
     # we can do to recover
     FAILURES    = 1
 
+@unittest.skipIf(sys.version_info < (3, 4), "requires recent os library")
 class RescueCorruptHoleGZAESTest (RescueCorruptHoleBaseTest):
     COMPRESSION = "#gz"
     PASSWORD    = TEST_PASSWORD
@@ -820,6 +830,7 @@ class RescueCorruptHeaderCTSizeGZAESTest (RescueTest):
     MISMATCHES  = 0
 
 
+@unittest.skipIf(sys.version_info < (3, 4), "requires recent os library")
 class RescueCorruptLeadingGarbageTestBase (RescueTest):
     # plain Tar is indifferent against traling data and the results
     # are consistent
@@ -829,9 +840,11 @@ class RescueCorruptLeadingGarbageTestBase (RescueTest):
     CORRUPT     = corrupt_leading_garbage
     MISMATCHES  = 0
 
+@unittest.skipIf(sys.version_info < (3, 4), "requires recent os library")
 class RescueCorruptLeadingGarbageSingleTest (RescueCorruptLeadingGarbageTestBase):
     VOLUMES     = 1
 
+@unittest.skipIf(sys.version_info < (3, 4), "requires recent os library")
 class RescueCorruptLeadingGarbageMultiTest (RescueCorruptLeadingGarbageTestBase):
     # the last object in first archive has extra bytes somewhere in the
     # middle because tar itself performs no data checksumming.