summaryrefslogtreecommitdiffstats
path: root/vendor/ruzstd/src/tests/fuzz_regressions.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/ruzstd/src/tests/fuzz_regressions.rs')
-rw-r--r--vendor/ruzstd/src/tests/fuzz_regressions.rs26
1 files changed, 26 insertions, 0 deletions
diff --git a/vendor/ruzstd/src/tests/fuzz_regressions.rs b/vendor/ruzstd/src/tests/fuzz_regressions.rs
new file mode 100644
index 000000000..2e293af4d
--- /dev/null
+++ b/vendor/ruzstd/src/tests/fuzz_regressions.rs
@@ -0,0 +1,26 @@
+#[test]
+fn test_all_artifacts() {
+ use crate::frame_decoder;
+ use std::fs;
+ use std::fs::File;
+
+ let mut frame_dec = frame_decoder::FrameDecoder::new();
+
+ for file in fs::read_dir("./fuzz/artifacts/decode").unwrap() {
+ let file_name = file.unwrap().path();
+
+ let fnstr = file_name.to_str().unwrap().to_owned();
+ if !fnstr.contains("/crash-") {
+ continue;
+ }
+
+ let mut f = File::open(file_name.clone()).unwrap();
+ match frame_dec.reset(&mut f) {
+ Ok(_) => {
+ let _ = frame_dec.decode_blocks(&mut f, frame_decoder::BlockDecodingStrategy::All);
+ /* ignore errors. It just should never panic on invalid input */
+ }
+ Err(_) => {} /* ignore errors. It just should never panic on invalid input */
+ }
+ }
+}