884: Show the full hex value of a float that fails assert returns arithmetic nan or assert returns canonical nan. r=nlewycky a=nlewycky



Co-authored-by: Nick Lewycky <nick@wasmer.io>
This commit is contained in:
bors[bot] 2019-10-17 19:29:22 +00:00 committed by GitHub
commit 62b2cdc5e9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -445,8 +445,9 @@ mod tests {
"AssertReturnCanonicalNan"
),
message: format!(
"value is not canonical nan {:?}",
v
"value is not canonical nan {:?} ({:?})",
v,
value_to_hex(v.clone()),
),
},
&test_key,
@ -512,8 +513,9 @@ mod tests {
"AssertReturnArithmeticNan"
),
message: format!(
"value is not arithmetic nan {:?}",
v
"value is not arithmetic nan {:?} ({:?})",
v,
value_to_hex(v.clone()),
),
},
&test_key,
@ -945,6 +947,16 @@ mod tests {
}
}
fn value_to_hex(val: wasmer_runtime_core::types::Value) -> String {
match val {
wasmer_runtime_core::types::Value::I32(x) => format!("{:#x}", x),
wasmer_runtime_core::types::Value::I64(x) => format!("{:#x}", x),
wasmer_runtime_core::types::Value::F32(x) => format!("{:#x}", x.to_bits()),
wasmer_runtime_core::types::Value::F64(x) => format!("{:#x}", x.to_bits()),
wasmer_runtime_core::types::Value::V128(x) => format!("{:#x}", x),
}
}
#[derive(Debug, Clone, Eq, PartialEq)]
pub enum SpectestValue {
I32(i32),