Skip to content

Commit c0d7e3a

Browse files
committed
use our dictbuilder in test
1 parent 79d695b commit c0d7e3a

File tree

2 files changed

+94
-94
lines changed

2 files changed

+94
-94
lines changed

test-libzstd-rs-sys/src/decompress.rs

Lines changed: 92 additions & 94 deletions
Original file line numberDiff line numberDiff line change
@@ -844,128 +844,126 @@ mod fastest_wasm_zlib_continue {
844844
fn decompress_using_dict() {
845845
use std::ffi::c_void;
846846

847-
use libzstd_rs_sys::*;
848-
849847
let input_data = "The quick brown fox jumps high";
850848

851-
let (compressed, dict_buffer) = unsafe {
852-
use zstd_sys::*;
853-
854-
let samples: [&str; 16] = [
855-
"The quick brown fox jumps over the lazy dog",
856-
"The quick brown fox jumps high",
857-
"The slow turtle crawls under the energetic cat",
858-
"Lorem ipsum dolor sit amet, consectetur adipiscing elit",
859-
"Pack my box with five dozen liquor jugs",
860-
"Bright vixens jump; dozy fowl quack",
861-
"Sphinx of black quartz, judge my vow",
862-
"How razorback-jumping frogs can level six piqued gymnasts",
863-
"Crazy Fredrick bought many very exquisite opal jewels",
864-
"Five quacking zephyrs jolt my wax bed",
865-
"Jackdaws love my big sphinx of quartz",
866-
"Two driven jocks help fax my big quiz",
867-
"The wizard quickly jinxed the gnomes before they vaporized",
868-
"Quick zephyrs blow, vexing daft Jim",
869-
"Heavy boxes perform quick waltzes and jigs",
870-
"Jovial harpooned sharks quizzed exotic men drinking water",
871-
];
872-
873-
let mut sample_data = Vec::new();
874-
875-
let mut sample_sizes = Vec::new();
876-
877-
for &s in &samples {
878-
sample_data.extend_from_slice(s.as_bytes());
879-
880-
sample_sizes.push(s.len());
881-
}
849+
let samples: [&str; 16] = [
850+
"The quick brown fox jumps over the lazy dog",
851+
"The quick brown fox jumps high",
852+
"The slow turtle crawls under the energetic cat",
853+
"Lorem ipsum dolor sit amet, consectetur adipiscing elit",
854+
"Pack my box with five dozen liquor jugs",
855+
"Bright vixens jump; dozy fowl quack",
856+
"Sphinx of black quartz, judge my vow",
857+
"How razorback-jumping frogs can level six piqued gymnasts",
858+
"Crazy Fredrick bought many very exquisite opal jewels",
859+
"Five quacking zephyrs jolt my wax bed",
860+
"Jackdaws love my big sphinx of quartz",
861+
"Two driven jocks help fax my big quiz",
862+
"The wizard quickly jinxed the gnomes before they vaporized",
863+
"Quick zephyrs blow, vexing daft Jim",
864+
"Heavy boxes perform quick waltzes and jigs",
865+
"Jovial harpooned sharks quizzed exotic men drinking water",
866+
];
867+
868+
assert_eq_rs_c!({
869+
let (compressed, dict_buffer) = unsafe {
870+
let mut sample_data = Vec::new();
871+
872+
let mut sample_sizes = Vec::new();
873+
874+
for &s in &samples {
875+
sample_data.extend_from_slice(s.as_bytes());
876+
877+
sample_sizes.push(s.len());
878+
}
882879

883-
let dict_capacity = 16 * 1024;
880+
let dict_capacity = 16 * 1024;
884881

885-
let mut dict_buffer = vec![0u8; dict_capacity];
882+
let mut dict_buffer = vec![0u8; dict_capacity];
886883

887-
let dict_size = ZDICT_trainFromBuffer(
888-
dict_buffer.as_mut_ptr() as *mut c_void,
889-
dict_buffer.len(),
890-
sample_data.as_ptr() as *const c_void,
891-
sample_sizes.as_ptr(),
892-
dbg!(sample_sizes.len() as u32),
893-
);
884+
let dict_size = ZDICT_trainFromBuffer(
885+
dict_buffer.as_mut_ptr() as *mut c_void,
886+
dict_buffer.len(),
887+
sample_data.as_ptr() as *const c_void,
888+
sample_sizes.as_ptr(),
889+
sample_sizes.len() as u32,
890+
);
894891

895-
assert_eq!(
896-
ZDICT_isError(dict_size),
897-
0,
898-
"Dict training failed {:?}",
899-
CStr::from_ptr(ZDICT_getErrorName(dict_size)).to_str(),
900-
);
892+
assert_eq!(
893+
ZDICT_isError(dict_size),
894+
0,
895+
"Dict training failed {:?}",
896+
CStr::from_ptr(ZDICT_getErrorName(dict_size)).to_str(),
897+
);
901898

902-
dict_buffer.truncate(dict_size);
899+
dict_buffer.truncate(dict_size);
903900

904-
println!("Dictionary size: {}", dict_size);
901+
println!("Dictionary size: {}", dict_size);
905902

906-
let cctx = ZSTD_createCCtx();
903+
let cctx = ZSTD_createCCtx();
907904

908-
assert!(!cctx.is_null());
905+
assert!(!cctx.is_null());
909906

910-
let max_compressed_size = ZSTD_compressBound(input_data.len());
907+
let max_compressed_size = ZSTD_compressBound(input_data.len());
911908

912-
let mut compressed = vec![0u8; max_compressed_size];
909+
let mut compressed = vec![0u8; max_compressed_size];
913910

914-
let compressed_size = ZSTD_compress_usingDict(
915-
cctx,
916-
compressed.as_mut_ptr() as *mut c_void,
917-
compressed.len(),
918-
input_data.as_bytes().as_ptr() as *const c_void,
919-
input_data.len(),
920-
dict_buffer.as_ptr() as *const c_void,
921-
dict_buffer.len(),
922-
3, // compression level
923-
);
911+
let compressed_size = ZSTD_compress_usingDict(
912+
cctx,
913+
compressed.as_mut_ptr() as *mut c_void,
914+
compressed.len(),
915+
input_data.as_bytes().as_ptr() as *const c_void,
916+
input_data.len(),
917+
dict_buffer.as_ptr() as *const c_void,
918+
dict_buffer.len(),
919+
3, // compression level
920+
);
924921

925-
assert_eq!(ZSTD_isError(compressed_size), 0, "Compression failed");
922+
assert_eq!(ZSTD_isError(compressed_size), 0, "Compression failed");
926923

927-
compressed.truncate(compressed_size);
924+
compressed.truncate(compressed_size);
928925

929-
println!("Compressed size: {}", compressed_size);
926+
println!("Compressed size: {}", compressed_size);
930927

931-
ZSTD_freeCCtx(cctx);
928+
ZSTD_freeCCtx(cctx);
932929

933-
(compressed, dict_buffer)
934-
};
930+
(compressed, dict_buffer)
931+
};
935932

936-
unsafe {
937-
let dctx = ZSTD_createDCtx();
933+
unsafe {
934+
let dctx = ZSTD_createDCtx();
938935

939-
assert!(!dctx.is_null());
936+
assert!(!dctx.is_null());
940937

941-
// Initialize decompression with the raw dictionary buffer
938+
// Initialize decompression with the raw dictionary buffer
942939

943-
let res = ZSTD_decompressBegin_usingDict(
944-
dctx,
945-
dict_buffer.as_ptr() as *const c_void,
946-
dict_buffer.len(),
947-
);
940+
let res = ZSTD_decompressBegin_usingDict(
941+
dctx,
942+
dict_buffer.as_ptr() as *const c_void,
943+
dict_buffer.len(),
944+
);
948945

949-
assert_eq!(ZSTD_isError(res), 0, "Init decompression failed");
946+
assert_eq!(ZSTD_isError(res), 0, "Init decompression failed");
950947

951-
let mut decompressed = vec![0u8; input_data.len()];
948+
let mut decompressed = vec![0u8; input_data.len()];
952949

953-
let decompressed_size = ZSTD_decompress_usingDict(
954-
dctx,
955-
decompressed.as_mut_ptr() as *mut c_void,
956-
decompressed.len(),
957-
compressed.as_ptr() as *const c_void,
958-
compressed.len(),
959-
dict_buffer.as_ptr() as *const c_void,
960-
dict_buffer.len(),
961-
);
950+
let decompressed_size = ZSTD_decompress_usingDict(
951+
dctx,
952+
decompressed.as_mut_ptr() as *mut c_void,
953+
decompressed.len(),
954+
compressed.as_ptr() as *const c_void,
955+
compressed.len(),
956+
dict_buffer.as_ptr() as *const c_void,
957+
dict_buffer.len(),
958+
);
962959

963-
assert_eq!(ZSTD_isError(decompressed_size), 0, "Decompression failed");
960+
assert_eq!(ZSTD_isError(decompressed_size), 0, "Decompression failed");
964961

965-
ZSTD_freeDCtx(dctx);
962+
ZSTD_freeDCtx(dctx);
966963

967-
assert_eq!(input_data, String::from_utf8(decompressed).unwrap());
968-
}
964+
assert_eq!(input_data, String::from_utf8(decompressed).unwrap());
965+
}
966+
});
969967
}
970968

971969
#[test]

test-libzstd-rs-sys/src/lib.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ macro_rules! assert_eq_rs_c {
1010
($tt:tt) => {{
1111
#[cfg(not(miri))]
1212
#[allow(clippy::macro_metavars_in_unsafe)]
13+
#[allow(unused_unsafe)]
1314
let _c = unsafe {
1415
use zstd_sys::*;
1516

@@ -18,6 +19,7 @@ macro_rules! assert_eq_rs_c {
1819
};
1920

2021
#[allow(clippy::macro_metavars_in_unsafe)]
22+
#[allow(unused_unsafe)]
2123
let _rs = unsafe {
2224
use libzstd_rs_sys::*;
2325

0 commit comments

Comments
 (0)