test_generator/
processors.rs1use crate::{Test, Testsuite, extract_name};
3use std::path::PathBuf;
4
5pub fn wast_processor(_out: &mut Testsuite, p: PathBuf) -> Option<Test> {
8 let ext = p.extension()?;
9 if ext != "wast" {
11 return None;
12 }
13
14 if p.file_stem()?.to_str()?.starts_with('.') {
16 return None;
17 }
18
19 let testname = extract_name(&p);
20
21 let body = format!("crate::run_wast(config, r#\"{}\"#)", p.display());
23
24 Some(Test {
25 name: testname,
26 body,
27 })
28}
29
30pub fn wasi_processor(
33 _out: &mut Testsuite,
34 p: PathBuf,
35 wasi_filesystem_kind: &str,
36) -> Option<Test> {
37 let ext = p.extension()?;
38 if ext != "wast" {
40 return None;
41 }
42
43 let wasm_dir = {
44 let mut inner = p.clone();
45 inner.pop();
46 inner
47 };
48 let testname = extract_name(&p);
49
50 let body = format!(
51 "crate::run_wasi(config, r#\"{}\"#, \"{}\", crate::{})",
52 p.display(),
53 wasm_dir.display(),
54 wasi_filesystem_kind,
55 );
56
57 Some(Test {
58 name: testname,
59 body,
60 })
61}