1367: Move `dev-utils` crate into `tests` r=MarkMcCaskey a=MarkMcCaskey

<!-- 
Prior to submitting a PR, review the CONTRIBUTING.md document for recommendations on how to test:
https://github.com/wasmerio/wasmer/blob/master/CONTRIBUTING.md#pull-requests

-->

# Description
<!-- 
Provide details regarding the change including motivation,
links to related issues, and the context of the PR.
-->

# Review

- [ ] Add a short description of the the change to the CHANGELOG.md file


Co-authored-by: Mark McCaskey <mark@wasmer.io>
Co-authored-by: Mark McCaskey <5770194+MarkMcCaskey@users.noreply.github.com>
This commit is contained in:
bors[bot] 2020-04-08 20:41:23 +00:00 committed by GitHub
commit cd4706fbac
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
14 changed files with 19 additions and 43 deletions

9
Cargo.lock generated
View File

@ -2753,6 +2753,7 @@ dependencies = [
"generate-emscripten-tests",
"generate-wasi-tests",
"glob 0.3.0",
"libc",
"log",
"rustc_version",
"serde",
@ -2761,7 +2762,6 @@ dependencies = [
"wabt",
"wasmer",
"wasmer-clif-backend",
"wasmer-dev-utils",
"wasmer-emscripten",
"wasmer-kernel-loader",
"wasmer-llvm-backend",
@ -2824,13 +2824,6 @@ dependencies = [
"wasmparser",
]
[[package]]
name = "wasmer-dev-utils"
version = "0.16.2"
dependencies = [
"libc",
]
[[package]]
name = "wasmer-emscripten"
version = "0.16.2"

View File

@ -37,7 +37,6 @@ wasmer-emscripten = { path = "lib/emscripten" }
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-wasi-experimental-io-devices = { path = "lib/wasi-experimental-io-devices", optional = true }
[workspace]
@ -55,7 +54,6 @@ members = [
"lib/middleware-common",
"lib/kernel-loader",
"lib/kernel-net",
"lib/dev-utils",
"lib/wasi-experimental-io-devices",
"lib/interface-types",
"examples/parallel",
@ -75,10 +73,10 @@ rustc_version = "0.2"
[dev-dependencies]
criterion = "0.3"
glob = "0.3"
libc = "0.2.60" # for `tests/dev-utils`'s Stdout capturing
serde = { version = "1", features = ["derive"] } # used by the plugin example
typetag = "0.1" # used by the plugin example
wabt = "0.9.1"
wasmer-dev-utils = { path = "lib/dev-utils" }
[features]
default = ["fast-tests", "wasi", "backend-cranelift", "wabt"]

View File

@ -156,7 +156,6 @@ test-capi: test-capi-singlepass test-capi-cranelift test-capi-llvm test-capi-ems
capi-test: test-capi
test-rest:
cargo test --release -p wasmer-dev-utils
cargo test --release -p wasmer-interface-types
cargo test --release -p wasmer-kernel-loader
cargo test --release -p kernel-net
@ -210,7 +209,7 @@ check-bench: check-bench-singlepass check-bench-llvm
# TODO: We wanted `--workspace --exclude wasmer-runtime`, but can't due
# to https://github.com/rust-lang/cargo/issues/6745 .
NOT_RUNTIME_CRATES = -p wasmer-clif-backend -p wasmer-singlepass-backend -p wasmer-middleware-common -p wasmer-runtime-core -p wasmer-emscripten -p wasmer-llvm-backend -p wasmer-wasi -p wasmer-kernel-loader -p wasmer-dev-utils -p wasmer-interface-types
NOT_RUNTIME_CRATES = -p wasmer-clif-backend -p wasmer-singlepass-backend -p wasmer-middleware-common -p wasmer-runtime-core -p wasmer-emscripten -p wasmer-llvm-backend -p wasmer-wasi -p wasmer-kernel-loader -p wasmer-interface-types
RUNTIME_CHECK = cargo check --manifest-path lib/runtime/Cargo.toml --no-default-features
check: check-bench
cargo check $(NOT_RUNTIME_CRATES)
@ -348,7 +347,7 @@ publish-release:
# cargo install cargo-deps
# must install graphviz for `dot`
dep-graph:
cargo deps --optional-deps --filter wasmer-wasi wasmer-kernel-loader wasmer-dev-utils wasmer-llvm-backend wasmer-emscripten wasmer-runtime-core wasmer-runtime wasmer-middleware-common wasmer-singlepass-backend wasmer-clif-backend wasmer --manifest-path Cargo.toml | dot -Tpng > wasmer_depgraph.png
cargo deps --optional-deps --filter wasmer-wasi wasmer-kernel-loader wasmer-llvm-backend wasmer-emscripten wasmer-runtime-core wasmer-runtime wasmer-middleware-common wasmer-singlepass-backend wasmer-clif-backend wasmer --manifest-path Cargo.toml | dot -Tpng > wasmer_depgraph.png
docs-capi:
cd lib/runtime-c-api/ && doxygen doxyfile

View File

@ -1,12 +0,0 @@
[package]
name = "wasmer-dev-utils"
version = "0.16.2"
description = "Wasmer runtime core library"
license = "MIT"
authors = ["The Wasmer Engineering Team <engineering@wasmer.io>"]
edition = "2018"
repository = "https://github.com/wasmerio/wasmer"
publish = false
[dependencies]
libc = "0.2.60"

View File

@ -1,3 +0,0 @@
# Dev Utils
This is shared code between the modules for testing and development only. Code in this crate will not be shipped.

View File

@ -1,5 +0,0 @@
#![doc(html_favicon_url = "https://wasmer.io/static/icons/favicon.ico")]
#![doc(html_logo_url = "https://avatars3.githubusercontent.com/u/44205449?s=200&v=4")]
pub mod file_descriptor;
pub mod stdio;

View File

@ -1,9 +1,11 @@
use crate::common::{get_cache_dir, PrestandardFeatures};
use crate::utils::read_file_contents;
use std::collections::HashMap;
use std::fs::read_to_string;
use std::fs::File;
use std::io::{Read, Write};
use std::fs;
#[cfg(feature = "managed")]
use std::io::Read;
#[cfg(any(feature = "backend-llvm", feature = "managed"))]
use std::io::Write;
use std::path::PathBuf;
use std::process::exit;
use std::str::FromStr;
@ -363,7 +365,7 @@ fn execute_wasi(
module.info(),
&_wasm_binary,
if let Some(ref path) = options.resume {
let mut f = File::open(path).unwrap();
let mut f = fs::File::open(path).unwrap();
let mut out: Vec<u8> = vec![];
f.read_to_end(&mut out).unwrap();
wasmer_runtime_core::state::InstanceImage::from_bytes(&out)
@ -461,7 +463,7 @@ impl LLVMCallbacks for LLVMCLIOptions {
fn obj_memory_buffer_callback(&mut self, memory_buffer: &InkwellMemoryBuffer) {
if let Some(filename) = &self.obj_file {
let mem_buf_slice = memory_buffer.as_slice();
let mut file = File::create(filename).unwrap();
let mut file = fs::File::create(filename).unwrap();
let mut pos = 0;
while pos < mem_buf_slice.len() {
pos += file.write(&mem_buf_slice[pos..]).unwrap();
@ -493,7 +495,7 @@ fn execute_wasm(options: &Run) -> Result<(), String> {
})?;
let em_symbol_map = if let Some(em_symbol_map_path) = options.em_symbol_map.clone() {
let em_symbol_map_content: String = read_to_string(&em_symbol_map_path)
let em_symbol_map_content: String = fs::read_to_string(&em_symbol_map_path)
.map_err(|err| {
format!(
"Can't read symbol map file {}: {}",
@ -860,7 +862,7 @@ fn interactive_shell(mut ctx: InteractiveShellContext) -> ShellExitOperation {
if let Some(ref image) = ctx.image {
let buf = image.to_bytes();
let mut f = match File::create(path) {
let mut f = match fs::File::create(path) {
Ok(x) => x,
Err(e) => {
println!("Cannot open output file at {}: {:?}", path, e);

2
tests/dev_utils/mod.rs Normal file
View File

@ -0,0 +1,2 @@
pub mod file_descriptor;
pub mod stdio;

View File

@ -1 +1,2 @@
pub mod dev_utils;
mod emtests;

View File

@ -37,7 +37,7 @@ macro_rules! assert_emscripten_output {
EmscriptenGlobals,
generate_emscripten_env,
};
use wasmer_dev_utils::stdio::StdioCapturer;
use crate::dev_utils::stdio::StdioCapturer;
let wasm_bytes = include_bytes!($file);
let backend = $crate::emtests::_common::get_backend().expect("Please set one of `WASMER_TEST_CRANELIFT`, `WASMER_TEST_LLVM`, or `WASMER_TEST_SINGELPASS` to `1`.");

View File

@ -1 +1,2 @@
pub mod dev_utils;
mod wasitests;

View File

@ -32,7 +32,7 @@ pub fn get_backend() -> Option<Backend> {
macro_rules! assert_wasi_output {
($file:expr, $name:expr, $po_dir_args: expr, $mapdir_args:expr, $envvar_args:expr, $expected:expr) => {{
use wasmer_dev_utils::stdio::StdioCapturer;
use crate::dev_utils::stdio::StdioCapturer;
use wasmer_runtime::Func;
use wasmer_wasi::{generate_import_object_for_version, get_wasi_version};