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:
4
.github/workflows/main.yml
vendored
4
.github/workflows/main.yml
vendored
@@ -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
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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())
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -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(())
|
||||||
/// # }
|
/// # }
|
||||||
/// ```
|
/// ```
|
||||||
|
|||||||
@@ -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()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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") {
|
||||||
|
|||||||
Reference in New Issue
Block a user