view src/tests/test_parse_files.rs @ 94:e0368bea06a6

Refactor tests a little bit so it's easier to add more.
author Bastien Orivel <eijebong@bananium.fr>
date Tue, 14 Jun 2016 18:39:48 +0200
parents c06d12a81637
children
line wrap: on
line source

use ast_convert;
use ast_dump;
use python_tb;
use python_parse;
use tests::utils::read_file;

fn test_parse_file(filename: &str) {
    let code = read_file(filename);
    let module = match python_parse::parse_ast(code.clone()) {
        Ok(module) => module,
        Err(err) => {
            python_tb::traceback(err);
            panic!(format!("Error while parsing file “{}”:", filename));
        }
    };

    let module_ast = ast_convert::convert_ast("__main__".to_string(), &module);
    let dumped_ast = ast_dump::dump_ast(&module_ast) + "\n";
    assert_diff!(code.as_str(), dumped_ast.as_str(), "\n", 0);
}

include!(concat!(env!("OUT_DIR"), "/generated_parse_tests.rs"));