Skip to content
This repository was archived by the owner on Oct 3, 2025. It is now read-only.

Commit 154d5fe

Browse files
tests: improve test glue code
Signed-off-by: Henry <[email protected]>
1 parent ac6b812 commit 154d5fe

File tree

7 files changed

+1175
-163
lines changed

7 files changed

+1175
-163
lines changed

Cargo.lock

Lines changed: 20 additions & 14 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crates/tinywasm/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ tinywasm-types={version="0.0.6-alpha.0", path="../types", default-features=false
2020
[dev-dependencies]
2121
wasm-testsuite={path="../wasm-testsuite"}
2222
wast={version="69.0"}
23-
owo-colors={version="3.5"}
23+
owo-colors={version="4.0"}
2424
eyre={version="0.6"}
2525
serde_json={version="1.0"}
2626
serde={version="1.0", features=["derive"]}

crates/tinywasm/tests/test-mvp.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ fn main() -> Result<()> {
99
fn test_mvp() -> Result<()> {
1010
let mut test_suite = TestSuite::new();
1111

12-
test_suite.run(wasm_testsuite::MVP_TESTS)?;
12+
test_suite.run_spec_group(wasm_testsuite::MVP_TESTS)?;
1313
test_suite.save_csv("./tests/generated/mvp.csv", env!("CARGO_PKG_VERSION"))?;
1414

1515
if test_suite.failed() {

crates/tinywasm/tests/test-wast.rs

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
use std::path::PathBuf;
2+
13
use eyre::{bail, Result};
24
use testsuite::TestSuite;
35

@@ -9,8 +11,20 @@ fn main() -> Result<()> {
911
bail!("usage: cargo test-wast <wast-file>")
1012
}
1113

12-
let wast_file = &args[1];
13-
test_wast(wast_file)?;
14+
// cwd for relative paths, absolute paths are kept as-is
15+
let cwd = std::env::current_dir()?;
16+
17+
// if current dir is crates/tinywasm, then we want to go up 2 levels
18+
let mut wast_file = if cwd.ends_with("crates/tinywasm") {
19+
PathBuf::from("../../")
20+
} else {
21+
PathBuf::from("./")
22+
};
23+
24+
wast_file.push(&args[1]);
25+
let wast_file = cwd.join(wast_file);
26+
27+
test_wast(wast_file.to_str().expect("wast_file is not a valid path"))?;
1428
Ok(())
1529
}
1630

@@ -19,7 +33,8 @@ fn test_wast(wast_file: &str) -> Result<()> {
1933
println!("args: {:?}", args);
2034

2135
let mut test_suite = TestSuite::new();
22-
test_suite.run(&[wast_file])?;
36+
println!("running wast file: {}", wast_file);
37+
test_suite.run_paths(&[wast_file])?;
2338

2439
if test_suite.failed() {
2540
eprintln!("\n\nfailed one or more tests:\n{:#?}", test_suite);

crates/tinywasm/tests/testsuite/mod.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
#![allow(dead_code)] // rust analyzer doesn't recognize that code is used by tests without harness
2+
13
use eyre::Result;
24
use std::io::{BufRead, Seek, SeekFrom};
35
use std::{

0 commit comments

Comments
 (0)