Unconditionally enable component-model tests (#4556)

* Unconditionally enable component-model tests

* Remove an outdated test that wasn't previously being compiled

* Fix a component model doc test

* Try to decrease memory usage in qemu
This commit is contained in:
Alex Crichton
2022-08-01 10:43:37 -05:00
committed by GitHub
parent 8d0224341c
commit 04631ad0af
7 changed files with 12 additions and 27 deletions

View File

@@ -321,10 +321,6 @@ jobs:
env: env:
RUST_BACKTRACE: 1 RUST_BACKTRACE: 1
# Test the component-model related functionality which is gated behind a
# compile-time feature
- run: cargo test --test all --features component-model component_model
# Build and test the wasi-nn module. # Build and test the wasi-nn module.
test_wasi_nn: test_wasi_nn:
name: Test wasi-nn module name: Test wasi-nn module

View File

@@ -43,7 +43,7 @@ rustix = { version = "0.35.6", features = ["mm", "param"] }
[dev-dependencies] [dev-dependencies]
# depend again on wasmtime to activate its default features for tests # depend again on wasmtime to activate its default features for tests
wasmtime = { path = "crates/wasmtime", version = "0.40.0" } wasmtime = { path = "crates/wasmtime", version = "0.40.0", features = ['component-model'] }
env_logger = "0.9.0" env_logger = "0.9.0"
filecheck = "0.5.0" filecheck = "0.5.0"
tempfile = "3.1.0" tempfile = "3.1.0"

View File

@@ -617,19 +617,3 @@ impl InstanceFlags {
self.0 self.0
} }
} }
#[cfg(test)]
mod tests {
use super::*;
use std::mem::size_of;
#[test]
fn size_of_vmcomponent_flags() {
let component = Component::default();
let offsets = VMComponentOffsets::new(size_of::<*mut u8>() as u8, &component);
assert_eq!(
size_of::<VMComponentFlags>(),
usize::from(offsets.size_of_vmcomponent_flags())
);
}
}

View File

@@ -189,13 +189,12 @@ impl Func {
/// string: /// string:
/// ///
/// ``` /// ```
/// # use wasmtime::component::{Func, Value}; /// # use wasmtime::component::Func;
/// # use wasmtime::Store; /// # use wasmtime::Store;
/// # fn foo(func: &Func, mut store: Store<()>) -> anyhow::Result<()> { /// # fn foo(func: &Func, mut store: Store<()>) -> anyhow::Result<()> {
/// let typed = func.typed::<(&str,), Value<String>, _>(&store)?; /// let typed = func.typed::<(&str,), String, _>(&store)?;
/// let ret = typed.call(&mut store, ("Hello, ",))?; /// let ret = typed.call(&mut store, ("Hello, ",))?;
/// let ret = ret.cursor(&store); /// println!("returned string was: {}", ret);
/// println!("returned string was: {}", ret.to_str()?);
/// # Ok(()) /// # Ok(())
/// # } /// # }
/// ``` /// ```

View File

@@ -90,6 +90,14 @@ const REALLOC_AND_FREE: &str = r#"
fn engine() -> Engine { fn engine() -> Engine {
let mut config = Config::new(); let mut config = Config::new();
config.wasm_component_model(true); config.wasm_component_model(true);
// When pooling allocator tests are skipped it means we're in qemu. The
// component model tests create a disproportionate number of instances so
// try to cut down on virtual memory usage by avoiding 4G reservations.
if crate::skip_pooling_allocator_tests() {
config.static_memory_maximum_size(0);
config.dynamic_memory_guard_size(0);
}
Engine::new(&config).unwrap() Engine::new(&config).unwrap()
} }

View File

@@ -1,7 +1,6 @@
mod async_functions; mod async_functions;
mod call_hook; mod call_hook;
mod cli_tests; mod cli_tests;
#[cfg(feature = "component-model")]
mod component_model; mod component_model;
mod custom_signal_handler; mod custom_signal_handler;
mod debug; mod debug;

View File

@@ -33,7 +33,6 @@ fn run_wast(wast: &str, strategy: Strategy, pooling: bool) -> anyhow::Result<()>
.wasm_memory64(memory64) .wasm_memory64(memory64)
.cranelift_debug_verifier(true); .cranelift_debug_verifier(true);
#[cfg(feature = "component-model")]
cfg.wasm_component_model(feature_found(wast, "component-model")); cfg.wasm_component_model(feature_found(wast, "component-model"));
if feature_found(wast, "canonicalize-nan") { if feature_found(wast, "canonicalize-nan") {