mirror of https://github.com/borgbackup/borg.git
"auto" compressor tests: don't assume a specific size, fixes #7363
The tests assumed a specific compressed results size, which is bad, because it might vary depending on the zlib implementation. Now the "auto" compressor tests just check if it is the same size as when unconditionally using the zlib compressor.
This commit is contained in:
parent
9e22b27dad
commit
793104ff13
|
@ -2243,22 +2243,11 @@ class ArchiverTestCase(ArchiverTestCaseBase):
|
|||
def test_compression_zlib_compressible(self):
|
||||
size, csize = self._get_sizes('zlib', compressible=True)
|
||||
assert csize < size * 0.1
|
||||
assert csize == 35
|
||||
|
||||
def test_compression_zlib_uncompressible(self):
|
||||
size, csize = self._get_sizes('zlib', compressible=False)
|
||||
assert csize >= size
|
||||
|
||||
def test_compression_auto_compressible(self):
|
||||
size, csize = self._get_sizes('auto,zlib', compressible=True)
|
||||
assert csize < size * 0.1
|
||||
assert csize == 35 # same as compression 'zlib'
|
||||
|
||||
def test_compression_auto_uncompressible(self):
|
||||
size, csize = self._get_sizes('auto,zlib', compressible=False)
|
||||
assert csize >= size
|
||||
assert csize == size + 3 # same as compression 'none'
|
||||
|
||||
def test_compression_lz4_compressible(self):
|
||||
size, csize = self._get_sizes('lz4', compressible=True)
|
||||
assert csize < size * 0.1
|
||||
|
@ -2275,6 +2264,23 @@ class ArchiverTestCase(ArchiverTestCaseBase):
|
|||
size, csize = self._get_sizes('lzma', compressible=False)
|
||||
assert csize >= size
|
||||
|
||||
def test_compression_auto_compressible(self):
|
||||
# this is testing whether the "auto" meta-compressor chooses the "expensive" zlib compression
|
||||
# if it detects that the data is very compressible (and not "lz4" nor "none" compression).
|
||||
auto_size, auto_csize = self._get_sizes('auto,zlib', compressible=True)
|
||||
self.cmd('delete', self.repository_location)
|
||||
zlib_size, zlib_csize = self._get_sizes('zlib', compressible=True)
|
||||
assert auto_size == zlib_size
|
||||
assert auto_csize < auto_size * 0.1 # it did compress!
|
||||
assert auto_csize == zlib_csize # looking at the result size, it seems to be zlib compressed
|
||||
|
||||
def test_compression_auto_uncompressible(self):
|
||||
# this is testing whether the "auto" meta-compressor chooses the "none" compression (storing the
|
||||
# data "as is" with just the 3 bytes header) if all else would result in something bigger.
|
||||
size, csize = self._get_sizes('auto,zlib', compressible=False)
|
||||
assert csize >= size
|
||||
assert csize == size + 3 # same as compression 'none'
|
||||
|
||||
def test_change_passphrase(self):
|
||||
self.cmd('init', '--encryption=repokey', self.repository_location)
|
||||
os.environ['BORG_NEW_PASSPHRASE'] = 'newpassphrase'
|
||||
|
|
Loading…
Reference in New Issue