Просмотр исходного кода

Auto merge of #392 - frewsxcv:frewsxcv-roundtrip, r=mbrubeck

Extend fuzz target to also do serialization.

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/rust-url/392)
<!-- Reviewable:end -->
bors-servo 9 лет назад
Родитель
Сommit
8950062717
2 измененных файлов с 5 добавлено и 2 удалено
  1. 1 1
      fuzz/Cargo.toml
  2. 4 1
      fuzz/fuzz_targets/parse.rs

+ 1 - 1
fuzz/Cargo.toml

@@ -15,7 +15,7 @@ git = "https://github.com/rust-fuzz/libfuzzer-sys.git"
 
 [[bin]]
 name = "parse"
-path = "fuzzers/parse.rs"
+path = "fuzz_targets/parse.rs"
 
 [workspace]
 members = ["."]

+ 4 - 1
fuzz/fuzzers/parse.rs → fuzz/fuzz_targets/parse.rs

@@ -5,6 +5,9 @@ use std::str;
 
 fuzz_target!(|data: &[u8]| {
     if let Ok(utf8) = str::from_utf8(data) {
-        let _ = url::Url::parse(utf8);
+        if let Ok(parsed) = url::Url::parse(utf8) {
+            let as_str = parsed.as_str();
+            assert_eq!(parsed, url::Url::parse(as_str).unwrap());
+        }
     }
 });