comparison src/tests/test_parse_files.rs @ 25:86604a156ed0

Rename tests_convert_dump to test_parse_files.
author Bastien Orivel <eijebong@bananium.fr>
date Fri, 03 Jun 2016 23:35:38 +0200
parents src/tests/tests_convert_dump.rs@199ba034e4af
children d255a932553f
comparison
equal deleted inserted replaced
24:199ba034e4af 25:86604a156ed0
1 use ast_convert;
2 use ast_dump;
3 use python_tb;
4 use python_parse;
5 use std::io::Read;
6 use std::fs::File;
7
8 fn test_parse_file(filename: &str) {
9 let code = {
10 let mut file = match File::open(filename) {
11 Ok(file) => file,
12 Err(err) => {
13 panic!(format!("Can't find {}", filename));
14 }
15 };
16 let mut code = String::new();
17 file.read_to_string(&mut code).unwrap();
18 code
19 };
20
21 let module = match python_parse::parse_ast(code.clone()) {
22 Ok(module) => module,
23 Err(err) => {
24 python_tb::traceback(err);
25 panic!(format!("Error while parsing file “{}”:", filename));
26 }
27 };
28
29 let module_ast = ast_convert::convert_ast("__main__".to_string(), &module);
30 let dumped_ast = ast_dump::dump_ast(&module_ast);
31 assert_eq!(code, dumped_ast + "\n");
32 }
33
34 include!(concat!(env!("OUT_DIR"), "/generated_parse_tests.rs"));