diff --git a/src/borg/compress.pyx b/src/borg/compress.pyx index d7c4f5f36f..e78821ec93 100644 --- a/src/borg/compress.pyx +++ b/src/borg/compress.pyx @@ -713,8 +713,8 @@ class CompressionSpec: elif self.name == 'obfuscate': if 3 <= count <= 5: level = int(values[1]) - if not ((1 <= level <= 6) or (110 <= level <= 123)): - raise ArgumentTypeError("level must be >= 1 and <= 6 or >= 110 and <= 123") + if not ((1 <= level <= 6) or (110 <= level <= 123) or (level == 250)): + raise ArgumentTypeError("level must be (inclusively) within 1...6, 110...123 or equal to 250") self.level = level compression = ','.join(values[2:]) else: diff --git a/src/borg/testsuite/compress_test.py b/src/borg/testsuite/compress_test.py index c7d45444a1..9ec9f1046e 100644 --- a/src/borg/testsuite/compress_test.py +++ b/src/borg/testsuite/compress_test.py @@ -232,7 +232,7 @@ def test_invalid_compression_level(invalid_spec): ], ) def test_padme_obfuscation(data_length, expected_padding): - compressor = Compressor(name="obfuscate", level=250, compressor=Compressor("none")) + compressor = CompressionSpec("obfuscate,250,none").compressor data = b"x" * data_length meta, compressed = compressor.compress(dict(type=ROBJ_FILE_STREAM), data) @@ -251,7 +251,7 @@ def test_padme_obfuscation(data_length, expected_padding): ], ) def test_robj_specific_obfuscation(data_length, expected_padding, robj_type): - compressor = Compressor(name="obfuscate", level=250, compressor=Compressor("none")) + compressor = CompressionSpec("obfuscate,250,none").compressor data = b"x" * data_length meta, compressed = compressor.compress(dict(type=robj_type), data)