adapt test_multivol_compression_sizes.py to revised crypto
authorPhilipp Gesang <philipp.gesang@intra2net.com>
Tue, 2 May 2017 14:44:43 +0000 (16:44 +0200)
committerThomas Jarosch <thomas.jarosch@intra2net.com>
Mon, 2 Apr 2018 11:34:08 +0000 (13:34 +0200)
testing/test_multivol.py
testing/test_multivol_compression_sizes.py

index 934bd6f..8c9790e 100644 (file)
@@ -766,14 +766,15 @@ class MultivolGnuFormatTest(BaseTest):
         # params
         vol_size = 3   # MiB
         input_size_factor = 3   # --> add 3*3 MiB of data
-        modes = 'w#gz', 'w#gz.aes128'
+        modes = ('w#gz', None), ('w#gz', "test1234")
         debug_level = 0   # no debug output
         clean_up_if_error = True   # leave no files behind
 
         with TemporaryDirectory(prefix='deltatar_test_multivol_') \
                 as temp_dir:     # is deleted automatically after test
-            for mode in modes:
+            for mode, password in modes:
                 multivol_compr_test_func(vol_size, input_size_factor, mode,
+                                         password,
                                          temp_dir,
                                          debug_level=debug_level,
                                          clean_up_if_error=clean_up_if_error)
index fff069c..8b64805 100644 (file)
@@ -26,6 +26,7 @@ if __name__ == '__main__':
     print('pre-prended {} to sys path'.format(parent_dir))
 import deltatar
 from deltatar.tarfile import TarFile, BLOCKSIZE
+import deltatar.crypto as crypto
 
 
 #: tolerances of volume sizes
@@ -137,7 +138,7 @@ def new_volume_handler(tarobj, base_name, volume_number,
     tarobj.open_volume(new_vol_path)
 
 
-def test(volume_size, input_size_factor, mode, temp_dir, prefix='',
+def test(volume_size, input_size_factor, mode, password, temp_dir, prefix='',
          clean_up_if_error=False, debug_level=0):
     """ create TarFile with given vol_size, add vol_size*input_size
 
@@ -188,10 +189,15 @@ def test(volume_size, input_size_factor, mode, temp_dir, prefix='',
             return new_volume_handler(a,b,c, volume_prefix, debug_level)
 
         # create tar object
+
+        encryptor = None
+        if password is not None:
+            encryptor = crypto.Encrypt (password, 1, 1)
+
         tarobj = TarFile.open(temp_name, mode=mode,
                               max_volume_size=volume_size*MiB,
                               new_volume_handler=vol_handler,
-                              password='test1234', debug=debug_level)
+                              encryption=encryptor, debug=debug_level)
 
         # add data
         added_size = 0
@@ -246,9 +252,12 @@ def test(volume_size, input_size_factor, mode, temp_dir, prefix='',
         # extract data
         if debug_level:
             print(prefix + 'extracting:')
+        decryptor = None
+        if password is not None:
+            decryptor = crypto.Decrypt (password)
         tarobj = TarFile.open(temp_name, mode=mode.replace('w', 'r'),
                               new_volume_handler=new_volume_handler,
-                              password='test1234')
+                              encryption=decryptor, debug=debug_level)
         tarobj.extractall(path='/')
         tarobj.close()
 
@@ -330,8 +339,12 @@ def test_lots(fast_fail=False, debug_level=0, clean_up_if_error=False):
     input_size_factors = 3, 10, 30
 
     # compression modes (including uncompressed as comparison)
-    modes = 'w|gz', 'w|bz2', 'w|xz', 'w#gz', 'w#gz.aes128', 'w#gz.aes256', \
-            'w#aes128'
+    modes = ('w|gz' , None) \
+          , ('w|bz2', None) \
+          , ('w|xz' , None) \
+          , ('w#gz' , None) \
+          , ('w#gz' , "test1234") \
+          , ('w#'   , "test1234")
 
     # create a temp dir for all input and output data
     temp_dir = mkdtemp(prefix='deltatar_cmprs_tst_')
@@ -345,10 +358,11 @@ def test_lots(fast_fail=False, debug_level=0, clean_up_if_error=False):
         for input_size_factor in input_size_factors:
             if stop_now:
                 break
-            for mode in modes:
+            for mode, password in modes:
                 test_idx += 1
                 prefix = 'test{:d}: '.format(test_idx)
                 something_strange = test(volume_size, input_size_factor, mode,
+                                         password,
                                          temp_dir, prefix,
                                          clean_up_if_error=False,
                                          debug_level=debug_level)