Skip to content

Commit 87a2b7a

Browse files
author
Bo Maryniuk
committed
Fix integration tests
1 parent 2d1d826 commit 87a2b7a

1 file changed

Lines changed: 14 additions & 1 deletion

File tree

logjetd/tests/common/mod.rs

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -307,10 +307,23 @@ fn read_wire_record(stream: &mut TcpStream) -> io::Result<Option<Vec<u8>>> {
307307
}
308308
let mut header = [0u8; 24];
309309
stream.read_exact(&mut header)?;
310+
let codec = header[2];
310311
let payload_len = u32::from_le_bytes([header[20], header[21], header[22], header[23]]) as usize;
311312
let mut payload = vec![0u8; payload_len];
312313
stream.read_exact(&mut payload)?;
313-
Ok(Some(payload))
314+
let mut _crc = [0u8; 4];
315+
stream.read_exact(&mut _crc)?;
316+
if codec == 1 {
317+
if payload.len() < 4 {
318+
return Err(io::Error::new(io::ErrorKind::InvalidData, "LZ4 payload too short"));
319+
}
320+
let uncompressed_len = u32::from_le_bytes([payload[0], payload[1], payload[2], payload[3]]) as usize;
321+
let decompressed = lz4_flex::block::decompress(&payload[4..], uncompressed_len)
322+
.map_err(|err| io::Error::new(io::ErrorKind::InvalidData, err.to_string()))?;
323+
Ok(Some(decompressed))
324+
} else {
325+
Ok(Some(payload))
326+
}
314327
}
315328

316329
fn build_logs_request(service_name: &str, message: &str) -> ExportLogsServiceRequest {

0 commit comments

Comments
 (0)