test-programs: use wasi-c2 instead of wasmtime

This commit is contained in:
Pat Hickey
2020-12-11 15:00:58 -08:00
parent 22db10e643
commit aef8be560f
4 changed files with 44 additions and 28 deletions

16
Cargo.lock generated
View File

@@ -2140,9 +2140,9 @@ dependencies = [
"pretty_env_logger",
"target-lexicon",
"tempfile",
"wasi-common",
"wasi-c2",
"wasi-c2-wasmtime",
"wasmtime",
"wasmtime-wasi",
"wat",
]
@@ -2389,6 +2389,18 @@ dependencies = [
"wiggle",
]
[[package]]
name = "wasi-c2-wasmtime"
version = "0.21.0"
dependencies = [
"anyhow",
"cap-std",
"wasi-c2",
"wasmtime",
"wasmtime-wiggle",
"wiggle",
]
[[package]]
name = "wasi-common"
version = "0.21.0"

View File

@@ -71,6 +71,7 @@ members = [
"crates/wiggle",
"crates/wiggle/wasmtime",
"crates/wasi-c2",
"crates/wasi-c2/wasmtime",
"examples/fib-debug/wasm",
"examples/wasi/wasm",
"examples/wasi-fs/wasm",

View File

@@ -10,8 +10,8 @@ publish = false
cfg-if = "1.0"
[dev-dependencies]
wasi-common = { path = "../wasi-common", version = "0.21.0" }
wasmtime-wasi = { path = "../wasi", version = "0.21.0" }
wasi-c2 = { path = "../wasi-c2", version = "0.21.0" }
wasi-c2-wasmtime = { path = "../wasi-c2/wasmtime", version = "0.21.0" }
wasmtime = { path = "../wasmtime", version = "0.21.0" }
target-lexicon = "0.11.0"
pretty_env_logger = "0.4.0"

View File

@@ -2,7 +2,7 @@ use anyhow::Context;
use std::convert::TryFrom;
use std::fs::File;
use std::path::Path;
use wasi_common::{OsOther, VirtualDirEntry};
use wasi_c2::WasiCtx;
use wasmtime::{Linker, Module, Store};
#[derive(Clone, Copy, Debug)]
@@ -23,10 +23,11 @@ pub fn instantiate(
// Create our wasi context with pretty standard arguments/inheritance/etc.
// Additionally register any preopened directories if we have them.
let mut builder = wasi_common::WasiCtxBuilder::new();
let mut builder = wasi_c2::WasiCtx::builder();
builder.arg(bin_name).arg(".").inherit_stdio();
/*
if let Some(workspace) = workspace {
match preopen_type {
PreopenType::OS => {
@@ -41,7 +42,8 @@ pub fn instantiate(
}
}
}
*/
/*
// The nonstandard thing we do with `WasiCtxBuilder` is to ensure that
// `stdin` is always an unreadable pipe. This is expected in the test suite
// where `stdin` is never ready to be read. In some CI systems, however,
@@ -50,7 +52,8 @@ pub fn instantiate(
let file = reader_to_file(reader);
let handle = OsOther::try_from(file).context("failed to create OsOther from PipeReader")?;
builder.stdin(handle);
let snapshot1 = wasmtime_wasi::Wasi::new(&store, builder.build()?);
*/
let snapshot1 = wasi_c2_wasmtime::Wasi::new(&store, builder.build()?);
let mut linker = Linker::new(&store);