Refactor parser fuzz testing

This commit is contained in:
pcpthm 2019-03-22 02:05:12 +09:00
parent 51323a852a
commit e734190c24
5 changed files with 23 additions and 16 deletions

View file

@ -0,0 +1,12 @@
use crate::{SourceFile, validation, AstNode};
fn check_file_invariants(file: &SourceFile) {
let root = file.syntax();
validation::validate_block_structure(root);
let _ = file.errors();
}
pub fn check_parser(text: &str) {
let file = SourceFile::parse(text);
check_file_invariants(&file);
}

View file

@ -29,6 +29,8 @@ mod ptr;
pub mod algo;
pub mod ast;
#[doc(hidden)]
pub mod fuzz;
pub use rowan::{SmolStr, TextRange, TextUnit};
pub use ra_parser::SyntaxKind;
@ -83,13 +85,6 @@ impl SourceFile {
}
}
pub fn check_fuzz_invariants(text: &str) {
let file = SourceFile::parse(text);
let root = file.syntax();
validation::validate_block_structure(root);
let _ = file.errors();
}
/// This test does not assert anything and instead just shows off the crate's
/// API.
#[test]