mirror of
https://github.com/fluencelabs/wasmer
synced 2025-06-23 13:41:32 +00:00
Move emscripten-tests to tests dir + misc fixes
This commit is contained in:
24
Cargo.lock
generated
24
Cargo.lock
generated
@ -753,6 +753,14 @@ version = "0.3.55"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8f5f3913fa0bfe7ee1fd8248b6b9f42a5af4b9d65ec2dd2c3c26132b950ecfc2"
|
||||
|
||||
[[package]]
|
||||
name = "generate-emscripten-tests"
|
||||
version = "0.16.2"
|
||||
dependencies = [
|
||||
"glob 0.3.0",
|
||||
"tempfile",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "generate-wasi-tests"
|
||||
version = "0.16.2"
|
||||
@ -2742,6 +2750,7 @@ dependencies = [
|
||||
"criterion",
|
||||
"errno",
|
||||
"fern",
|
||||
"generate-emscripten-tests",
|
||||
"generate-wasi-tests",
|
||||
"glob 0.3.0",
|
||||
"log",
|
||||
@ -2754,7 +2763,6 @@ dependencies = [
|
||||
"wasmer-clif-backend",
|
||||
"wasmer-dev-utils",
|
||||
"wasmer-emscripten",
|
||||
"wasmer-emscripten-tests",
|
||||
"wasmer-kernel-loader",
|
||||
"wasmer-llvm-backend",
|
||||
"wasmer-middleware-common",
|
||||
@ -2836,20 +2844,6 @@ dependencies = [
|
||||
"wasmer-runtime-core",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wasmer-emscripten-tests"
|
||||
version = "0.16.2"
|
||||
dependencies = [
|
||||
"glob 0.3.0",
|
||||
"wabt",
|
||||
"wasmer-clif-backend",
|
||||
"wasmer-dev-utils",
|
||||
"wasmer-emscripten",
|
||||
"wasmer-llvm-backend",
|
||||
"wasmer-runtime",
|
||||
"wasmer-singlepass-backend",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wasmer-interface-types"
|
||||
version = "0.16.2"
|
||||
|
@ -38,7 +38,6 @@ wasmer-llvm-backend = { path = "lib/llvm-backend", optional = true }
|
||||
wasmer-wasi = { path = "lib/wasi", optional = true }
|
||||
wasmer-kernel-loader = { path = "lib/kernel-loader", optional = true }
|
||||
wasmer-dev-utils = { path = "lib/dev-utils", optional = true }
|
||||
wasmer-emscripten-tests = { path = "lib/emscripten-tests", optional = true }
|
||||
wasmer-wasi-experimental-io-devices = { path = "lib/wasi-experimental-io-devices", optional = true }
|
||||
|
||||
[workspace]
|
||||
@ -59,16 +58,17 @@ members = [
|
||||
"lib/kernel-net",
|
||||
"lib/dev-utils",
|
||||
"lib/wasi-experimental-io-devices",
|
||||
"lib/emscripten-tests",
|
||||
"lib/interface-types",
|
||||
"examples/parallel",
|
||||
"examples/plugin-for-example",
|
||||
"examples/parallel-guest",
|
||||
"tests/generate-wasi-tests",
|
||||
"tests/generate-emscripten-tests",
|
||||
]
|
||||
|
||||
[build-dependencies]
|
||||
wabt = "0.9.1"
|
||||
generate-emscripten-tests = { path = "tests/generate-emscripten-tests" }
|
||||
generate-wasi-tests = { path = "tests/generate-wasi-tests" }
|
||||
glob = "0.3"
|
||||
rustc_version = "0.2"
|
||||
|
2
build.rs
2
build.rs
@ -2,8 +2,10 @@
|
||||
//!
|
||||
//! Please try to keep this file as clean as possible.
|
||||
|
||||
use generate_emscripten_tests;
|
||||
use generate_wasi_tests;
|
||||
|
||||
fn main() {
|
||||
generate_wasi_tests::build();
|
||||
generate_emscripten_tests::build();
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
use super::file_descriptor::FileDescriptor;
|
||||
use libc;
|
||||
use std::io;
|
||||
use std::io::BufReader;
|
||||
use std::io::Read;
|
||||
|
||||
@ -21,39 +22,76 @@ const STDOUT_FILENO: libc::c_int = 1;
|
||||
#[cfg(target_os = "windows")]
|
||||
const STDERR_FILENO: libc::c_int = 2;
|
||||
|
||||
fn pipe(ptr: *mut libc::c_int) -> Result<libc::c_int, io::Error> {
|
||||
#[cfg(not(target_os = "windows"))]
|
||||
let result = unsafe { libc::pipe(ptr) };
|
||||
#[cfg(target_os = "windows")]
|
||||
let result = unsafe { libc::pipe(ptr, 1000, libc::O_TEXT) };
|
||||
|
||||
if result == -1 {
|
||||
Err(std::io::Error::last_os_error())
|
||||
} else {
|
||||
Ok(result)
|
||||
}
|
||||
}
|
||||
|
||||
/// `dup` creates a new `fd`, make sure you `close` it when you're done with it!!
|
||||
fn dup(oldfd: libc::c_int) -> Result<libc::c_int, io::Error> {
|
||||
let result = unsafe { libc::dup(oldfd) };
|
||||
|
||||
if result == -1 {
|
||||
Err(std::io::Error::last_os_error())
|
||||
} else {
|
||||
Ok(result)
|
||||
}
|
||||
}
|
||||
|
||||
fn dup2(oldfd: libc::c_int, newfd: libc::c_int) -> Result<libc::c_int, io::Error> {
|
||||
let result = unsafe { libc::dup2(oldfd, newfd) };
|
||||
|
||||
if result == -1 {
|
||||
Err(std::io::Error::last_os_error())
|
||||
} else {
|
||||
Ok(result)
|
||||
}
|
||||
}
|
||||
|
||||
fn close(fd: libc::c_int) -> Result<libc::c_int, io::Error> {
|
||||
let result = unsafe { libc::close(fd) };
|
||||
|
||||
if result == -1 {
|
||||
Err(std::io::Error::last_os_error())
|
||||
} else {
|
||||
Ok(result)
|
||||
}
|
||||
}
|
||||
|
||||
// Implementation inspired in
|
||||
// https://github.com/rust-lang/rust/blob/7d52cbce6db83e4fc2d8706b4e4b9c7da76cbcf8/src/test/run-pass/issues/issue-30490.rs
|
||||
// Currently only works in Unix systems (Mac, Linux)
|
||||
impl StdioCapturer {
|
||||
fn pipe() -> (libc::c_int, libc::c_int) {
|
||||
let mut fds = [0; 2];
|
||||
|
||||
#[cfg(not(target_os = "windows"))]
|
||||
assert_eq!(unsafe { libc::pipe(fds.as_mut_ptr()) }, 0);
|
||||
#[cfg(target_os = "windows")]
|
||||
assert_eq!(
|
||||
unsafe { libc::pipe(fds.as_mut_ptr(), 1000, libc::O_TEXT) },
|
||||
0
|
||||
);
|
||||
pipe(fds.as_mut_ptr()).unwrap();
|
||||
|
||||
(fds[0], fds[1])
|
||||
}
|
||||
|
||||
pub fn new() -> Self {
|
||||
let stdout_backup = unsafe { libc::dup(STDOUT_FILENO) };
|
||||
let stderr_backup = unsafe { libc::dup(STDERR_FILENO) };
|
||||
let stdout_backup = dup(STDOUT_FILENO).unwrap();
|
||||
let stderr_backup = dup(STDERR_FILENO).unwrap();
|
||||
|
||||
let (stdout_reader, stdout_writer) = Self::pipe();
|
||||
let (stderr_reader, stderr_writer) = Self::pipe();
|
||||
|
||||
assert!(unsafe { libc::dup2(stdout_writer, STDOUT_FILENO) } > -1);
|
||||
assert!(unsafe { libc::dup2(stderr_writer, STDERR_FILENO) } > -1);
|
||||
dup2(stdout_writer, STDOUT_FILENO).unwrap();
|
||||
dup2(stderr_writer, STDERR_FILENO).unwrap();
|
||||
|
||||
// Make sure we close any duplicates of the writer end of the pipe,
|
||||
// otherwise we can get stuck reading from the pipe which has open
|
||||
// writers but no one supplying any input
|
||||
assert_eq!(unsafe { libc::close(stdout_writer) }, 0);
|
||||
assert_eq!(unsafe { libc::close(stderr_writer) }, 0);
|
||||
close(stdout_writer).unwrap();
|
||||
close(stderr_writer).unwrap();
|
||||
|
||||
StdioCapturer {
|
||||
stdout_backup,
|
||||
@ -64,11 +102,11 @@ impl StdioCapturer {
|
||||
}
|
||||
|
||||
pub fn end(self) -> Result<(String, String), std::io::Error> {
|
||||
// The Stdio passed into the Command took over (and closed) std{out, err}
|
||||
// so we should restore them as they were.
|
||||
dup2(self.stdout_backup, STDOUT_FILENO).unwrap();
|
||||
dup2(self.stderr_backup, STDERR_FILENO).unwrap();
|
||||
|
||||
assert!(unsafe { libc::dup2(self.stdout_backup, STDOUT_FILENO) } > -1);
|
||||
assert!(unsafe { libc::dup2(self.stderr_backup, STDERR_FILENO) } > -1);
|
||||
close(self.stdout_backup).unwrap();
|
||||
close(self.stderr_backup).unwrap();
|
||||
|
||||
let fd = FileDescriptor::new(self.stdout_reader);
|
||||
let mut reader = BufReader::new(fd);
|
||||
|
@ -1,28 +0,0 @@
|
||||
[package]
|
||||
name = "wasmer-emscripten-tests"
|
||||
version = "0.16.2"
|
||||
description = "Tests for our Emscripten implementation"
|
||||
license = "MIT"
|
||||
authors = ["The Wasmer Engineering Team <engineering@wasmer.io>"]
|
||||
edition = "2018"
|
||||
publish = false
|
||||
build = "build/mod.rs"
|
||||
|
||||
[dependencies]
|
||||
wasmer-emscripten = { path = "../emscripten", version = "0.16.2" }
|
||||
wasmer-runtime = { path = "../runtime", version = "0.16.2", default-features = false }
|
||||
wasmer-clif-backend = { path = "../clif-backend", version = "0.16.2", optional = true}
|
||||
wasmer-llvm-backend = { path = "../llvm-backend", version = "0.16.2", optional = true, features = ["test"] }
|
||||
wasmer-singlepass-backend = { path = "../singlepass-backend", version = "0.16.2", optional = true }
|
||||
|
||||
[dev-dependencies]
|
||||
wabt = "0.9.1"
|
||||
wasmer-dev-utils = { path = "../dev-utils", version = "0.16.2"}
|
||||
|
||||
[build-dependencies]
|
||||
glob = "0.3"
|
||||
|
||||
[features]
|
||||
clif = ["wasmer-clif-backend", "wasmer-runtime/default-backend-cranelift"]
|
||||
singlepass = ["wasmer-singlepass-backend", "wasmer-runtime/default-backend-singlepass"]
|
||||
llvm = ["wasmer-llvm-backend", "wasmer-runtime/default-backend-llvm"]
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_clock_gettime() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/clock_gettime.wasm",
|
||||
"clock_gettime",
|
||||
vec![],
|
||||
"../../emtests/clock_gettime.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_env() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/env.wasm",
|
||||
"env",
|
||||
vec![],
|
||||
"../../emtests/env.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_localtime() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/localtime.wasm",
|
||||
"localtime",
|
||||
vec![],
|
||||
"../../emtests/localtime.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_printf() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/printf.wasm",
|
||||
"printf",
|
||||
vec![],
|
||||
"../../emtests/printf.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_puts() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/puts.wasm",
|
||||
"puts",
|
||||
vec![],
|
||||
"../../emtests/puts.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_addr_of_stacked() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_addr_of_stacked.wasm",
|
||||
"test_addr_of_stacked",
|
||||
vec![],
|
||||
"../../emtests/test_addr_of_stacked.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_alloca() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_alloca.wasm",
|
||||
"test_alloca",
|
||||
vec![],
|
||||
"../../emtests/test_alloca.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_alloca_stack() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_alloca_stack.wasm",
|
||||
"test_alloca_stack",
|
||||
vec![],
|
||||
"../../emtests/test_alloca_stack.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_array2() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_array2.wasm",
|
||||
"test_array2",
|
||||
vec![],
|
||||
"../../emtests/test_array2.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_array2b() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_array2b.wasm",
|
||||
"test_array2b",
|
||||
vec![],
|
||||
"../../emtests/test_array2b.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_atomic() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_atomic.wasm",
|
||||
"test_atomic",
|
||||
vec![],
|
||||
"../../emtests/test_atomic.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_atox() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_atoX.wasm",
|
||||
"test_atox",
|
||||
vec![],
|
||||
"../../emtests/test_atoX.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_bsearch() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_bsearch.wasm",
|
||||
"test_bsearch",
|
||||
vec![],
|
||||
"../../emtests/test_bsearch.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_complex() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_complex.wasm",
|
||||
"test_complex",
|
||||
vec![],
|
||||
"../../emtests/test_complex.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_double_varargs() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_double_varargs.wasm",
|
||||
"test_double_varargs",
|
||||
vec![],
|
||||
"../../emtests/test_double_varargs.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_erf() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_erf.wasm",
|
||||
"test_erf",
|
||||
vec![],
|
||||
"../../emtests/test_erf.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_errar() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_errar.wasm",
|
||||
"test_errar",
|
||||
vec![],
|
||||
"../../emtests/test_errar.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_flexarray_struct() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_flexarray_struct.wasm",
|
||||
"test_flexarray_struct",
|
||||
vec![],
|
||||
"../../emtests/test_flexarray_struct.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_float32_precise() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_float32_precise.wasm",
|
||||
"test_float32_precise",
|
||||
vec![],
|
||||
"../../emtests/test_float32_precise.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_frexp() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_frexp.wasm",
|
||||
"test_frexp",
|
||||
vec![],
|
||||
"../../emtests/test_frexp.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_funcptr() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_funcptr.wasm",
|
||||
"test_funcptr",
|
||||
vec![],
|
||||
"../../emtests/test_funcptr.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_funcptr_namecollide() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_funcptr_namecollide.wasm",
|
||||
"test_funcptr_namecollide",
|
||||
vec![],
|
||||
"../../emtests/test_funcptr_namecollide.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_funcptrfunc() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_funcptrfunc.wasm",
|
||||
"test_funcptrfunc",
|
||||
vec![],
|
||||
"../../emtests/test_funcptrfunc.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_funcs() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_funcs.wasm",
|
||||
"test_funcs",
|
||||
vec![],
|
||||
"../../emtests/test_funcs.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_functionpointer_libfunc_varargs() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_functionpointer_libfunc_varargs.wasm",
|
||||
"test_functionpointer_libfunc_varargs",
|
||||
vec![],
|
||||
"../../emtests/test_functionpointer_libfunc_varargs.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_fwrite_0() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_fwrite_0.wasm",
|
||||
"test_fwrite_0",
|
||||
vec![],
|
||||
"../../emtests/test_fwrite_0.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_getcwd() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_getcwd.wasm",
|
||||
"test_getcwd",
|
||||
vec![],
|
||||
"../../emtests/test_getcwd.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_getgep() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_getgep.wasm",
|
||||
"test_getgep",
|
||||
vec![],
|
||||
"../../emtests/test_getgep.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_globaldoubles() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_globaldoubles.wasm",
|
||||
"test_globaldoubles",
|
||||
vec![],
|
||||
"../../emtests/test_globaldoubles.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_globals() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_globals.wasm",
|
||||
"test_globals",
|
||||
vec![],
|
||||
"../../emtests/test_globals.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_hello_world() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_hello_world.wasm",
|
||||
"test_hello_world",
|
||||
vec![],
|
||||
"../../emtests/test_hello_world.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_i32_mul_precise() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_i32_mul_precise.wasm",
|
||||
"test_i32_mul_precise",
|
||||
vec![],
|
||||
"../../emtests/test_i32_mul_precise.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_i64_4() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_i64_4.wasm",
|
||||
"test_i64_4",
|
||||
vec![],
|
||||
"../../emtests/test_i64_4.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_i64_cmp2() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_i64_cmp2.wasm",
|
||||
"test_i64_cmp2",
|
||||
vec![],
|
||||
"../../emtests/test_i64_cmp2.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_i64_i16() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_i64_i16.wasm",
|
||||
"test_i64_i16",
|
||||
vec![],
|
||||
"../../emtests/test_i64_i16.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_i64_llabs() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_i64_llabs.wasm",
|
||||
"test_i64_llabs",
|
||||
vec![],
|
||||
"../../emtests/test_i64_llabs.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_i64_precise() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_i64_precise.wasm",
|
||||
"test_i64_precise",
|
||||
vec![],
|
||||
"../../emtests/test_i64_precise.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_i64_precise_needed() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_i64_precise_needed.wasm",
|
||||
"test_i64_precise_needed",
|
||||
vec![],
|
||||
"../../emtests/test_i64_precise_needed.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_i64_precise_unneeded() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_i64_precise_unneeded.wasm",
|
||||
"test_i64_precise_unneeded",
|
||||
vec![],
|
||||
"../../emtests/test_i64_precise_unneeded.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_i64_qdouble() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_i64_qdouble.wasm",
|
||||
"test_i64_qdouble",
|
||||
vec![],
|
||||
"../../emtests/test_i64_qdouble.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_i64_umul() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_i64_umul.wasm",
|
||||
"test_i64_umul",
|
||||
vec![],
|
||||
"../../emtests/test_i64_umul.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_i64_zextneg() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_i64_zextneg.wasm",
|
||||
"test_i64_zextneg",
|
||||
vec![],
|
||||
"../../emtests/test_i64_zextneg.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_if() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_if.wasm",
|
||||
"test_if",
|
||||
vec![],
|
||||
"../../emtests/test_if.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_if_else() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_if_else.wasm",
|
||||
"test_if_else",
|
||||
vec![],
|
||||
"../../emtests/test_if_else.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_indirectbr() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_indirectbr.wasm",
|
||||
"test_indirectbr",
|
||||
vec![],
|
||||
"../../emtests/test_indirectbr.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_isnan() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_isnan.wasm",
|
||||
"test_isnan",
|
||||
vec![],
|
||||
"../../emtests/test_isnan.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_libcextra() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_libcextra.wasm",
|
||||
"test_libcextra",
|
||||
vec![],
|
||||
"../../emtests/test_libcextra.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_libgen() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_libgen.wasm",
|
||||
"test_libgen",
|
||||
vec![],
|
||||
"../../emtests/test_libgen.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_literal_negative_zero() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_literal_negative_zero.wasm",
|
||||
"test_literal_negative_zero",
|
||||
vec![],
|
||||
"../../emtests/test_literal_negative_zero.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_llrint() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_llrint.wasm",
|
||||
"test_llrint",
|
||||
vec![],
|
||||
"../../emtests/test_llrint.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_llvm_fabs() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_llvm_fabs.wasm",
|
||||
"test_llvm_fabs",
|
||||
vec![],
|
||||
"../../emtests/test_llvm_fabs.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_llvmswitch() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_llvmswitch.wasm",
|
||||
"test_llvmswitch",
|
||||
vec![],
|
||||
"../../emtests/test_llvmswitch.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_longjmp() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_longjmp.wasm",
|
||||
"test_longjmp",
|
||||
vec![],
|
||||
"../../emtests/test_longjmp.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_longjmp2() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_longjmp2.wasm",
|
||||
"test_longjmp2",
|
||||
vec![],
|
||||
"../../emtests/test_longjmp2.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_longjmp3() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_longjmp3.wasm",
|
||||
"test_longjmp3",
|
||||
vec![],
|
||||
"../../emtests/test_longjmp3.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_longjmp4() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_longjmp4.wasm",
|
||||
"test_longjmp4",
|
||||
vec![],
|
||||
"../../emtests/test_longjmp4.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_longjmp_funcptr() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_longjmp_funcptr.wasm",
|
||||
"test_longjmp_funcptr",
|
||||
vec![],
|
||||
"../../emtests/test_longjmp_funcptr.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_longjmp_repeat() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_longjmp_repeat.wasm",
|
||||
"test_longjmp_repeat",
|
||||
vec![],
|
||||
"../../emtests/test_longjmp_repeat.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_longjmp_stacked() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_longjmp_stacked.wasm",
|
||||
"test_longjmp_stacked",
|
||||
vec![],
|
||||
"../../emtests/test_longjmp_stacked.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_longjmp_throw() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_longjmp_throw.wasm",
|
||||
"test_longjmp_throw",
|
||||
vec![],
|
||||
"../../emtests/test_longjmp_throw.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_longjmp_unwind() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_longjmp_unwind.wasm",
|
||||
"test_longjmp_unwind",
|
||||
vec![],
|
||||
"../../emtests/test_longjmp_unwind.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_loop() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_loop.wasm",
|
||||
"test_loop",
|
||||
vec![],
|
||||
"../../emtests/test_loop.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_memcpy2() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_memcpy2.wasm",
|
||||
"test_memcpy2",
|
||||
vec![],
|
||||
"../../emtests/test_memcpy2.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_memcpy3() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_memcpy3.wasm",
|
||||
"test_memcpy3",
|
||||
vec![],
|
||||
"../../emtests/test_memcpy3.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_memmove() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_memmove.wasm",
|
||||
"test_memmove",
|
||||
vec![],
|
||||
"../../emtests/test_memmove.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_memmove2() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_memmove2.wasm",
|
||||
"test_memmove2",
|
||||
vec![],
|
||||
"../../emtests/test_memmove2.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_memmove3() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_memmove3.wasm",
|
||||
"test_memmove3",
|
||||
vec![],
|
||||
"../../emtests/test_memmove3.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_memset() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_memset.wasm",
|
||||
"test_memset",
|
||||
vec![],
|
||||
"../../emtests/test_memset.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_negative_zero() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_negative_zero.wasm",
|
||||
"test_negative_zero",
|
||||
vec![],
|
||||
"../../emtests/test_negative_zero.out"
|
||||
);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#[test]
|
||||
fn test_test_nested_struct_varargs() {
|
||||
assert_emscripten_output!(
|
||||
"../../emtests/test_nested_struct_varargs.wasm",
|
||||
"test_nested_struct_varargs",
|
||||
vec![],
|
||||
"../../emtests/test_nested_struct_varargs.out"
|
||||
);
|
||||
}
|
@ -7,7 +7,7 @@ mod tests {
|
||||
|
||||
#[test]
|
||||
fn should_detect_emscripten_files() {
|
||||
const WAST_BYTES: &[u8] = include_bytes!("tests/is_emscripten_true.wast");
|
||||
const WAST_BYTES: &[u8] = include_bytes!("emscripten_resources/is_emscripten_true.wast");
|
||||
let wasm_binary = wat2wasm(WAST_BYTES.to_vec()).expect("Can't convert to wasm");
|
||||
let module = compile(&wasm_binary[..]).expect("WASM can't be compiled");
|
||||
let module = Arc::new(module);
|
||||
@ -16,7 +16,7 @@ mod tests {
|
||||
|
||||
#[test]
|
||||
fn should_detect_non_emscripten_files() {
|
||||
const WAST_BYTES: &[u8] = include_bytes!("tests/is_emscripten_false.wast");
|
||||
const WAST_BYTES: &[u8] = include_bytes!("emscripten_resources/is_emscripten_false.wast");
|
||||
let wasm_binary = wat2wasm(WAST_BYTES.to_vec()).expect("Can't convert to wasm");
|
||||
let module = compile(&wasm_binary[..]).expect("WASM can't be compiled");
|
||||
let module = Arc::new(module);
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user