Skip to content

Commit

Permalink
Fix printing float results from the CLI (#2797)
Browse files Browse the repository at this point in the history
Previously their bit patterns were printed interpreted as decimals, now
they're printed as floats.
  • Loading branch information
alexcrichton authored Apr 2, 2021
1 parent 90aa5cf commit 2994950
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 4 deletions.
6 changes: 3 additions & 3 deletions src/commands/run.rs
Original file line number Diff line number Diff line change
Expand Up @@ -333,10 +333,10 @@ impl RunCommand {
match result {
Val::I32(i) => println!("{}", i),
Val::I64(i) => println!("{}", i),
Val::F32(f) => println!("{}", f),
Val::F64(f) => println!("{}", f),
Val::F32(f) => println!("{}", f32::from_bits(f)),
Val::F64(f) => println!("{}", f64::from_bits(f)),
Val::ExternRef(_) => println!("<externref>"),
Val::FuncRef(_) => println!("<externref>"),
Val::FuncRef(_) => println!("<funcref>"),
Val::V128(i) => println!("{}", i),
}
}
Expand Down
20 changes: 20 additions & 0 deletions tests/all/cli_tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,26 @@ fn run_wasmtime_simple_wat() -> Result<()> {
"--disable-cache",
"4",
])?;
assert_eq!(
run_wasmtime(&[
"run",
wasm.path().to_str().unwrap(),
"--invoke",
"get_f32",
"--disable-cache",
])?,
"100\n"
);
assert_eq!(
run_wasmtime(&[
"run",
wasm.path().to_str().unwrap(),
"--invoke",
"get_f64",
"--disable-cache",
])?,
"100\n"
);
Ok(())
}

Expand Down
4 changes: 3 additions & 1 deletion tests/wasm/simple.wat
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,6 @@
(func (export "simple") (param i32) (result i32)
local.get 0
)
)
(func (export "get_f32") (result f32) f32.const 100)
(func (export "get_f64") (result f64) f64.const 100)
)

0 comments on commit 2994950

Please sign in to comment.