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:
|
||||
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.
|
||||
test_wasi_nn:
|
||||
name: Test wasi-nn module
|
||||
|
||||
@@ -43,7 +43,7 @@ rustix = { version = "0.35.6", features = ["mm", "param"] }
|
||||
|
||||
[dev-dependencies]
|
||||
# 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"
|
||||
filecheck = "0.5.0"
|
||||
tempfile = "3.1.0"
|
||||
|
||||
@@ -617,19 +617,3 @@ impl InstanceFlags {
|
||||
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:
|
||||
///
|
||||
/// ```
|
||||
/// # use wasmtime::component::{Func, Value};
|
||||
/// # use wasmtime::component::Func;
|
||||
/// # use wasmtime::Store;
|
||||
/// # 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 = ret.cursor(&store);
|
||||
/// println!("returned string was: {}", ret.to_str()?);
|
||||
/// println!("returned string was: {}", ret);
|
||||
/// # Ok(())
|
||||
/// # }
|
||||
/// ```
|
||||
|
||||
@@ -90,6 +90,14 @@ const REALLOC_AND_FREE: &str = r#"
|
||||
fn engine() -> Engine {
|
||||
let mut config = Config::new();
|
||||
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()
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
mod async_functions;
|
||||
mod call_hook;
|
||||
mod cli_tests;
|
||||
#[cfg(feature = "component-model")]
|
||||
mod component_model;
|
||||
mod custom_signal_handler;
|
||||
mod debug;
|
||||
|
||||
@@ -33,7 +33,6 @@ fn run_wast(wast: &str, strategy: Strategy, pooling: bool) -> anyhow::Result<()>
|
||||
.wasm_memory64(memory64)
|
||||
.cranelift_debug_verifier(true);
|
||||
|
||||
#[cfg(feature = "component-model")]
|
||||
cfg.wasm_component_model(feature_found(wast, "component-model"));
|
||||
|
||||
if feature_found(wast, "canonicalize-nan") {
|
||||
|
||||
Reference in New Issue
Block a user