mirror of
				https://github.com/meilisearch/meilisearch.git
				synced 2025-10-31 07:56:28 +00:00 
			
		
		
		
	improve the fuzzer of the flatten crate
This commit is contained in:
		| @@ -1,5 +1,5 @@ | ||||
| [package] | ||||
| name = "flatten_serde_json-fuzz" | ||||
| name = "flatten-serde-json-fuzz" | ||||
| version = "0.0.0" | ||||
| authors = ["Automatically generated"] | ||||
| publish = false | ||||
| @@ -11,8 +11,9 @@ cargo-fuzz = true | ||||
| [dependencies] | ||||
| libfuzzer-sys = "0.4" | ||||
| arbitrary-json = "0.1.1" | ||||
| json-depth-checker = { path = "../../json-depth-checker" } | ||||
|  | ||||
| [dependencies.flatten_serde_json] | ||||
| [dependencies.flatten-serde-json] | ||||
| path = ".." | ||||
|  | ||||
| # Prevent this from interfering with workspaces | ||||
|   | ||||
| @@ -1,8 +1,12 @@ | ||||
| #![no_main] | ||||
| use arbitrary_json::ArbitraryObject; | ||||
| use flatten_serde_json::flatten; | ||||
| use json_depth_checker::should_flatten_from_value; | ||||
| use libfuzzer_sys::fuzz_target; | ||||
|  | ||||
| fuzz_target!(|object: ArbitraryObject| { | ||||
|     let _ = flatten(&object); | ||||
|     let object = flatten(&object); | ||||
|     if !object.is_empty() { | ||||
|         assert!(object.values().any(|value| !should_flatten_from_value(value))); | ||||
|     } | ||||
| }); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user