annotate build.rs @ 69:a73eaf42bea1

Add ast.AsyncDefFunction.
author Bastien Orivel <eijebong@bananium.fr>
date Mon, 13 Jun 2016 17:54:19 +0200
parents 199ba034e4af
children e0368bea06a6
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
24
199ba034e4af Generate tests dynamically based on tests/test_parse_files/ content.
Bastien Orivel <eijebong@bananium.fr>
parents:
diff changeset
1 use std::env;
199ba034e4af Generate tests dynamically based on tests/test_parse_files/ content.
Bastien Orivel <eijebong@bananium.fr>
parents:
diff changeset
2 use std::path::Path;
199ba034e4af Generate tests dynamically based on tests/test_parse_files/ content.
Bastien Orivel <eijebong@bananium.fr>
parents:
diff changeset
3 use std::io::prelude::*;
199ba034e4af Generate tests dynamically based on tests/test_parse_files/ content.
Bastien Orivel <eijebong@bananium.fr>
parents:
diff changeset
4 use std::fs::{File, read_dir};
199ba034e4af Generate tests dynamically based on tests/test_parse_files/ content.
Bastien Orivel <eijebong@bananium.fr>
parents:
diff changeset
5
199ba034e4af Generate tests dynamically based on tests/test_parse_files/ content.
Bastien Orivel <eijebong@bananium.fr>
parents:
diff changeset
6 fn main() {
199ba034e4af Generate tests dynamically based on tests/test_parse_files/ content.
Bastien Orivel <eijebong@bananium.fr>
parents:
diff changeset
7 let out_dir = env::var("OUT_DIR").unwrap();
199ba034e4af Generate tests dynamically based on tests/test_parse_files/ content.
Bastien Orivel <eijebong@bananium.fr>
parents:
diff changeset
8 let path = Path::new(&out_dir).join("generated_parse_tests.rs");
199ba034e4af Generate tests dynamically based on tests/test_parse_files/ content.
Bastien Orivel <eijebong@bananium.fr>
parents:
diff changeset
9 let mut f = File::create(&path).unwrap();
199ba034e4af Generate tests dynamically based on tests/test_parse_files/ content.
Bastien Orivel <eijebong@bananium.fr>
parents:
diff changeset
10
199ba034e4af Generate tests dynamically based on tests/test_parse_files/ content.
Bastien Orivel <eijebong@bananium.fr>
parents:
diff changeset
11 for file in read_dir("tests/test_parse_files").unwrap() {
199ba034e4af Generate tests dynamically based on tests/test_parse_files/ content.
Bastien Orivel <eijebong@bananium.fr>
parents:
diff changeset
12 let path = file.unwrap().path();
199ba034e4af Generate tests dynamically based on tests/test_parse_files/ content.
Bastien Orivel <eijebong@bananium.fr>
parents:
diff changeset
13 let test_name = path.file_stem().unwrap().to_str().unwrap();
199ba034e4af Generate tests dynamically based on tests/test_parse_files/ content.
Bastien Orivel <eijebong@bananium.fr>
parents:
diff changeset
14 let _ = f.write_all(format!("#[test]
199ba034e4af Generate tests dynamically based on tests/test_parse_files/ content.
Bastien Orivel <eijebong@bananium.fr>
parents:
diff changeset
15 fn {}() {{
199ba034e4af Generate tests dynamically based on tests/test_parse_files/ content.
Bastien Orivel <eijebong@bananium.fr>
parents:
diff changeset
16 test_parse_file(\"{}\");
199ba034e4af Generate tests dynamically based on tests/test_parse_files/ content.
Bastien Orivel <eijebong@bananium.fr>
parents:
diff changeset
17 }}\n", test_name, path.to_str().unwrap()).as_bytes()).unwrap();
199ba034e4af Generate tests dynamically based on tests/test_parse_files/ content.
Bastien Orivel <eijebong@bananium.fr>
parents:
diff changeset
18 }
199ba034e4af Generate tests dynamically based on tests/test_parse_files/ content.
Bastien Orivel <eijebong@bananium.fr>
parents:
diff changeset
19 }