# HG changeset patch # User Bastien Orivel # Date 1465922388 -7200 # Node ID e0368bea06a6d749a2ec19dfe7523d004c0e8286 # Parent c06d12a81637060a7bff79ebaa72ad2eb6e4259e Refactor tests a little bit so it's easier to add more. diff --git a/build.rs b/build.rs --- a/build.rs +++ b/build.rs @@ -3,8 +3,7 @@ use std::path::Path; use std::io::prelude::*; use std::fs::{File, read_dir}; -fn main() { - let out_dir = env::var("OUT_DIR").unwrap(); +fn gen_parse_file_tests(out_dir: String) { let path = Path::new(&out_dir).join("generated_parse_tests.rs"); let mut f = File::create(&path).unwrap(); @@ -17,3 +16,8 @@ fn {}() {{ }}\n", test_name, path.to_str().unwrap()).as_bytes()).unwrap(); } } + +fn main() { + let out_dir = env::var("OUT_DIR").unwrap(); + gen_parse_file_tests(out_dir); +} diff --git a/src/tests/mod.rs b/src/tests/mod.rs --- a/src/tests/mod.rs +++ b/src/tests/mod.rs @@ -1,1 +1,2 @@ +mod utils; mod test_parse_files; diff --git a/src/tests/test_parse_files.rs b/src/tests/test_parse_files.rs --- a/src/tests/test_parse_files.rs +++ b/src/tests/test_parse_files.rs @@ -2,22 +2,10 @@ use ast_convert; use ast_dump; use python_tb; use python_parse; -use std::io::Read; -use std::fs::File; +use tests::utils::read_file; fn test_parse_file(filename: &str) { - let code = { - let mut file = match File::open(filename) { - Ok(file) => file, - Err(err) => { - panic!(format!("Can't find {}: {}", filename, err)); - } - }; - let mut code = String::new(); - file.read_to_string(&mut code).unwrap(); - code - }; - + let code = read_file(filename); let module = match python_parse::parse_ast(code.clone()) { Ok(module) => module, Err(err) => { diff --git a/src/tests/utils.rs b/src/tests/utils.rs new file mode 100644 --- /dev/null +++ b/src/tests/utils.rs @@ -0,0 +1,14 @@ +use std::fs::File; +use std::io::Read; + +pub fn read_file(filename: &str) -> String{ + let mut file = match File::open(filename) { + Ok(file) => file, + Err(err) => { + panic!(format!("Can't find {}: {}", filename, err)); + } + }; + let mut content = String::new(); + file.read_to_string(&mut content).unwrap(); + content +}