(self)
| 241 | zc.flush(zc.FLUSH_FRAME) |
| 242 | |
| 243 | def test_compress_parameters(self): |
| 244 | d = {CompressionParameter.compression_level : 10, |
| 245 | |
| 246 | CompressionParameter.window_log : 12, |
| 247 | CompressionParameter.hash_log : 10, |
| 248 | CompressionParameter.chain_log : 12, |
| 249 | CompressionParameter.search_log : 12, |
| 250 | CompressionParameter.min_match : 4, |
| 251 | CompressionParameter.target_length : 12, |
| 252 | CompressionParameter.strategy : Strategy.lazy, |
| 253 | |
| 254 | CompressionParameter.enable_long_distance_matching : 1, |
| 255 | CompressionParameter.ldm_hash_log : 12, |
| 256 | CompressionParameter.ldm_min_match : 11, |
| 257 | CompressionParameter.ldm_bucket_size_log : 5, |
| 258 | CompressionParameter.ldm_hash_rate_log : 12, |
| 259 | |
| 260 | CompressionParameter.content_size_flag : 1, |
| 261 | CompressionParameter.checksum_flag : 1, |
| 262 | CompressionParameter.dict_id_flag : 0, |
| 263 | |
| 264 | CompressionParameter.nb_workers : 2 if SUPPORT_MULTITHREADING else 0, |
| 265 | CompressionParameter.job_size : 5*_1M if SUPPORT_MULTITHREADING else 0, |
| 266 | CompressionParameter.overlap_log : 9 if SUPPORT_MULTITHREADING else 0, |
| 267 | } |
| 268 | ZstdCompressor(options=d) |
| 269 | |
| 270 | d1 = d.copy() |
| 271 | # larger than signed int |
| 272 | d1[CompressionParameter.ldm_bucket_size_log] = C_INT_MAX |
| 273 | with self.assertRaises(ValueError): |
| 274 | ZstdCompressor(options=d1) |
| 275 | # smaller than signed int |
| 276 | d1[CompressionParameter.ldm_bucket_size_log] = C_INT_MIN |
| 277 | with self.assertRaises(ValueError): |
| 278 | ZstdCompressor(options=d1) |
| 279 | |
| 280 | # out of bounds compression level |
| 281 | level_min, level_max = CompressionParameter.compression_level.bounds() |
| 282 | with self.assertRaises(ValueError): |
| 283 | compress(b'', level_max+1) |
| 284 | with self.assertRaises(ValueError): |
| 285 | compress(b'', level_min-1) |
| 286 | with self.assertRaises(ValueError): |
| 287 | compress(b'', 2**1000) |
| 288 | with self.assertRaises(ValueError): |
| 289 | compress(b'', -(2**1000)) |
| 290 | with self.assertRaises(ValueError): |
| 291 | compress(b'', options={ |
| 292 | CompressionParameter.compression_level: level_max+1}) |
| 293 | with self.assertRaises(ValueError): |
| 294 | compress(b'', options={ |
| 295 | CompressionParameter.compression_level: level_min-1}) |
| 296 | |
| 297 | # zstd lib doesn't support MT compression |
| 298 | if not SUPPORT_MULTITHREADING: |
| 299 | with self.assertRaises(ValueError): |
| 300 | ZstdCompressor(options={CompressionParameter.nb_workers:4}) |
nothing calls this directly
no test coverage detected