| 268 | #[case::zstd_crazy_threads(CompressionSettings::Zstd { compression_level: ZstdCompressionLevel::default(), threads: ZstdThreads::new(99999) })] |
| 269 | #[case::no_compression(CompressionSettings::None)] |
| 270 | fn test_compression_encoder_write(#[case] settings: CompressionSettings) -> TestResult { |
| 271 | let file = tempfile()?; |
| 272 | let mut encoder = CompressionEncoder::new(file, &settings)?; |
| 273 | let ref_encoder = encoder.by_ref(); |
| 274 | let buf = &[1; 8]; |
| 275 | |
| 276 | let mut write_len = 0; |
| 277 | while write_len < buf.len() { |
| 278 | let len_written = ref_encoder.write(buf)?; |
| 279 | write_len += len_written; |
| 280 | } |
| 281 | |
| 282 | ref_encoder.flush()?; |
| 283 | |
| 284 | Ok(()) |
| 285 | } |
| 286 | |
| 287 | /// Ensures that the [`Write::write_vectored`] implementation works for each |
| 288 | /// [`CompressionEncoder`]. |