Mercurial > python-compiler.rs
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 |
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 } |