# 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)
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
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
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
# 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()
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_')
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)