test: add TREE_SITTER_DUMP_EDITS env var to dump corpus edits

It dumps edits to the `target/scratch` folder in a format like `<SEED>.edit`
This commit is contained in:
Andrew Hlynskyi 2023-08-17 20:55:20 +03:00
parent e0e0763d29
commit caaa533b8d
2 changed files with 17 additions and 7 deletions

View file

@ -1,7 +1,7 @@
use super::helpers::{
allocations,
edits::{get_random_edit, invert_edit},
fixtures::{fixtures_dir, get_language, get_test_language},
fixtures::{fixtures_dir, get_language, get_test_language, SCRATCH_BASE_DIR},
new_seed,
random::Rand,
scope_sequence::ScopeSequence,
@ -104,6 +104,7 @@ fn test_language_corpus(start_seed: usize, language_name: &str) {
let mut failure_count = 0;
let log_seed = env::var("TREE_SITTER_LOG_SEED").is_ok();
let dump_edits = env::var("TREE_SITTER_DUMP_EDITS").is_ok();
if log_seed {
println!(" start seed: {}", start_seed);
@ -175,6 +176,10 @@ fn test_language_corpus(start_seed: usize, language_name: &str) {
println!(" seed: {}", seed);
}
if dump_edits {
fs::write(SCRATCH_BASE_DIR.join(format!("{seed}.edit")), &input).unwrap();
}
if *LOG_GRAPH_ENABLED {
eprintln!("{}\n", String::from_utf8_lossy(&input));
}