Merge branch 'master' into feat_sharedmemory

This commit is contained in:
ptitSeb
2022-11-29 14:39:45 +01:00
committed by GitHub
40 changed files with 400 additions and 267 deletions

View File

@ -213,6 +213,19 @@ jobs:
CARGO_TARGET: --target ${{ matrix.target }} CARGO_TARGET: --target ${{ matrix.target }}
WAPM_DEV_TOKEN: ${{ secrets.WAPM_DEV_TOKEN }} WAPM_DEV_TOKEN: ${{ secrets.WAPM_DEV_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Test integration CLI
if: matrix.run_test && matrix.os == 'windows-2019'
shell: bash
run: |
make build-wasmer &&
cargo test --package wasmer-integration-tests-cli --test run -- test_wasmer_run_complex_url --exact --nocapture
env:
TARGET: ${{ matrix.target }}
TARGET_DIR: target/${{ matrix.target }}/release
CARGO_TARGET: --target x86_64-pc-windows-msvc
WAPM_DEV_TOKEN: ${{ secrets.WAPM_DEV_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# cargo test --package wasmer-integration-tests-cli --test run -- test_wasmer_run_complex_url --exact --nocapture
#- name: Test integration CLI #- name: Test integration CLI
# if: matrix.run_test && matrix.os == 'windows-2019' # if: matrix.run_test && matrix.os == 'windows-2019'
# shell: bash # shell: bash

View File

@ -6,16 +6,28 @@
Looking for changes that affect our C API? See the [C API Changelog](lib/c-api/CHANGELOG.md). Looking for changes that affect our C API? See the [C API Changelog](lib/c-api/CHANGELOG.md).
## **Unreleased**
## **Unreleased**
## 3.0.2 - 25/11/2022
## Added ## Added
- [#3365](https://github.com/wasmerio/wasmer/pull/3365) Preliminary FreeBSD support - [#3364](https://github.com/wasmerio/wasmer/pull/3364) Added the actual LZCNT / TZCNT implementation
- [#3361](https://github.com/wasmerio/wasmer/pull/3361) Give users feedback when they are running "wasmer add ..."
## Changed
- [#3368](https://github.com/wasmerio/wasmer/pull/3368) Remove wasi conditional compilation from wasmer-registry
- [#3367](https://github.com/wasmerio/wasmer/pull/3367) Change LLVM detection in Makefile
- [#3365](https://github.com/wasmerio/wasmer/pull/3365) Improve FreeBSD support
- [#3360](https://github.com/wasmerio/wasmer/pull/3360) Introduce a "wasmer_registry::queries" module with all GraphQL queries
## Fixed ## Fixed
- [#3369](https://github.com/wasmerio/wasmer/pull/3369) Fix installing wasmer via cargo-binstall - [#3371](https://github.com/wasmerio/wasmer/pull/3371) Fix cargo binstall
- [#3370](https://github.com/wasmerio/wasmer/pull/3370) Fix wasmer run not interpreting URLs correctly + display fixes
## 3.0.1 - 23/11/2022 ## 3.0.1 - 23/11/2022
@ -47,18 +59,6 @@ Looking for changes that affect our C API? See the [C API Changelog](lib/c-api/C
- [#3339](https://github.com/wasmerio/wasmer/3339) Fixes for wasmer login / wasmer add - [#3339](https://github.com/wasmerio/wasmer/3339) Fixes for wasmer login / wasmer add
## 3.0.0-rc.4 - 19/11/2022
## Added
## Changed
## Fixed
## 3.0.0-rc.3 - 2022/11/18 ## 3.0.0-rc.3 - 2022/11/18

167
Cargo.lock generated
View File

@ -46,12 +46,6 @@ dependencies = [
"libc", "libc",
] ]
[[package]]
name = "ansi_term"
version = "0.7.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "30275ad0ad84ec1c06dde3b3f7d23c6006b7d76d61a85e7060b426b747eff70d"
[[package]] [[package]]
name = "any_ascii" name = "any_ascii"
version = "0.1.7" version = "0.1.7"
@ -143,7 +137,7 @@ dependencies = [
"cc", "cc",
"cfg-if 1.0.0", "cfg-if 1.0.0",
"libc", "libc",
"miniz_oxide", "miniz_oxide 0.5.4",
"object 0.29.0", "object 0.29.0",
"rustc-demangle", "rustc-demangle",
] ]
@ -177,9 +171,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]] [[package]]
name = "blake3" name = "blake3"
version = "1.3.2" version = "1.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "895adc16c8b3273fbbc32685a7d55227705eda08c01e77704020f3491924b44b" checksum = "42ae2468a89544a466886840aa467a25b766499f4f04bf7d9fcd10ecee9fccef"
dependencies = [ dependencies = [
"arrayref", "arrayref",
"arrayvec", "arrayvec",
@ -878,16 +872,6 @@ dependencies = [
"subtle", "subtle",
] ]
[[package]]
name = "dirs"
version = "2.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "13aea89a5c93364a98e9b37b2fa237effbb694d5cfe01c5b70941f7eb087d5e3"
dependencies = [
"cfg-if 0.1.10",
"dirs-sys",
]
[[package]] [[package]]
name = "dirs" name = "dirs"
version = "4.0.0" version = "4.0.0"
@ -1114,12 +1098,12 @@ dependencies = [
[[package]] [[package]]
name = "flate2" name = "flate2"
version = "1.0.24" version = "1.0.25"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f82b0f4c27ad9f8bfd1f3208d882da2b09c301bc1c828fd3a00d0216d2fbbff6" checksum = "a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841"
dependencies = [ dependencies = [
"crc32fast", "crc32fast",
"miniz_oxide", "miniz_oxide 0.6.2",
] ]
[[package]] [[package]]
@ -1871,7 +1855,7 @@ dependencies = [
[[package]] [[package]]
name = "macro-wasmer-universal-test" name = "macro-wasmer-universal-test"
version = "3.0.1" version = "3.0.2"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"proc-quote", "proc-quote",
@ -1879,6 +1863,12 @@ dependencies = [
"syn", "syn",
] ]
[[package]]
name = "maplit"
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d"
[[package]] [[package]]
name = "matchers" name = "matchers"
version = "0.1.0" version = "0.1.0"
@ -1984,6 +1974,15 @@ dependencies = [
"adler", "adler",
] ]
[[package]]
name = "miniz_oxide"
version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa"
dependencies = [
"adler",
]
[[package]] [[package]]
name = "mio" name = "mio"
version = "0.8.5" version = "0.8.5"
@ -2197,9 +2196,9 @@ checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e"
[[package]] [[package]]
name = "pest" name = "pest"
version = "2.4.1" version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a528564cc62c19a7acac4d81e01f39e53e25e17b934878f4c6d25cc2836e62f8" checksum = "5f400b0f7905bf702f9f3dc3df5a121b16c54e9e8012c082905fdf09a931861a"
dependencies = [ dependencies = [
"thiserror", "thiserror",
"ucd-trie", "ucd-trie",
@ -2309,7 +2308,7 @@ dependencies = [
"csv", "csv",
"encode_unicode 1.0.0", "encode_unicode 1.0.0",
"lazy_static", "lazy_static",
"term 0.7.0", "term",
"unicode-width", "unicode-width",
] ]
@ -3098,13 +3097,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
[[package]] [[package]]
name = "spinner" name = "spinoff"
version = "0.5.0" version = "0.5.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6e3a7cd01625b7e43e62815677d692cb59b221c2fdc2853d1eb86a260ee0c272" checksum = "812db6f40551bdcdb10e1d2070ec33f69805d2bfb7e59426c7d14e7e1b4194dd"
dependencies = [ dependencies = [
"ansi_term", "colored 2.0.0",
"term 0.6.1", "maplit",
"once_cell",
"strum",
] ]
[[package]] [[package]]
@ -3177,6 +3178,28 @@ version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
[[package]]
name = "strum"
version = "0.24.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f"
dependencies = [
"strum_macros",
]
[[package]]
name = "strum_macros"
version = "0.24.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59"
dependencies = [
"heck 0.4.0",
"proc-macro2",
"quote",
"rustversion",
"syn",
]
[[package]] [[package]]
name = "subtle" name = "subtle"
version = "2.4.1" version = "2.4.1"
@ -3241,16 +3264,6 @@ dependencies = [
"winapi", "winapi",
] ]
[[package]]
name = "term"
version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c0863a3345e70f61d613eab32ee046ccd1bcc5f9105fe402c61fcd0c13eeb8b5"
dependencies = [
"dirs 2.0.2",
"winapi",
]
[[package]] [[package]]
name = "term" name = "term"
version = "0.7.0" version = "0.7.0"
@ -3316,7 +3329,7 @@ dependencies = [
"getopts", "getopts",
"libc", "libc",
"num_cpus", "num_cpus",
"term 0.7.0", "term",
] ]
[[package]] [[package]]
@ -3767,7 +3780,7 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
[[package]] [[package]]
name = "wasi-test-generator" name = "wasi-test-generator"
version = "3.0.1" version = "3.0.2"
dependencies = [ dependencies = [
"glob", "glob",
"gumdrop", "gumdrop",
@ -3899,7 +3912,7 @@ dependencies = [
[[package]] [[package]]
name = "wasmer" name = "wasmer"
version = "3.0.1" version = "3.0.2"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"bytes", "bytes",
@ -3947,7 +3960,7 @@ dependencies = [
[[package]] [[package]]
name = "wasmer-c-api" name = "wasmer-c-api"
version = "3.0.1" version = "3.0.2"
dependencies = [ dependencies = [
"cbindgen", "cbindgen",
"cfg-if 1.0.0", "cfg-if 1.0.0",
@ -3975,7 +3988,7 @@ dependencies = [
[[package]] [[package]]
name = "wasmer-c-api-test-runner" name = "wasmer-c-api-test-runner"
version = "3.0.1" version = "3.0.2"
dependencies = [ dependencies = [
"cc", "cc",
"regex", "regex",
@ -3985,7 +3998,7 @@ dependencies = [
[[package]] [[package]]
name = "wasmer-cache" name = "wasmer-cache"
version = "3.0.1" version = "3.0.2"
dependencies = [ dependencies = [
"blake3", "blake3",
"criterion", "criterion",
@ -3999,7 +4012,7 @@ dependencies = [
[[package]] [[package]]
name = "wasmer-capi-examples-runner" name = "wasmer-capi-examples-runner"
version = "3.0.1" version = "3.0.2"
dependencies = [ dependencies = [
"cc", "cc",
"regex", "regex",
@ -4009,7 +4022,7 @@ dependencies = [
[[package]] [[package]]
name = "wasmer-cli" name = "wasmer-cli"
version = "3.0.1" version = "3.0.2"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"atty", "atty",
@ -4019,7 +4032,7 @@ dependencies = [
"clap 3.2.23", "clap 3.2.23",
"colored 2.0.0", "colored 2.0.0",
"dialoguer", "dialoguer",
"dirs 4.0.0", "dirs",
"distance", "distance",
"fern", "fern",
"http_req", "http_req",
@ -4032,7 +4045,7 @@ dependencies = [
"reqwest", "reqwest",
"serde", "serde",
"serde_json", "serde_json",
"spinner", "spinoff",
"target-lexicon 0.12.5", "target-lexicon 0.12.5",
"tempdir", "tempdir",
"tempfile", "tempfile",
@ -4062,7 +4075,7 @@ dependencies = [
[[package]] [[package]]
name = "wasmer-compiler" name = "wasmer-compiler"
version = "3.0.1" version = "3.0.2"
dependencies = [ dependencies = [
"backtrace", "backtrace",
"cfg-if 1.0.0", "cfg-if 1.0.0",
@ -4088,7 +4101,7 @@ dependencies = [
[[package]] [[package]]
name = "wasmer-compiler-cli" name = "wasmer-compiler-cli"
version = "3.0.1" version = "3.0.2"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"atty", "atty",
@ -4110,7 +4123,7 @@ dependencies = [
[[package]] [[package]]
name = "wasmer-compiler-cranelift" name = "wasmer-compiler-cranelift"
version = "3.0.1" version = "3.0.2"
dependencies = [ dependencies = [
"cranelift-codegen", "cranelift-codegen",
"cranelift-entity", "cranelift-entity",
@ -4129,7 +4142,7 @@ dependencies = [
[[package]] [[package]]
name = "wasmer-compiler-llvm" name = "wasmer-compiler-llvm"
version = "3.0.1" version = "3.0.2"
dependencies = [ dependencies = [
"byteorder", "byteorder",
"cc", "cc",
@ -4151,7 +4164,7 @@ dependencies = [
[[package]] [[package]]
name = "wasmer-compiler-singlepass" name = "wasmer-compiler-singlepass"
version = "3.0.1" version = "3.0.2"
dependencies = [ dependencies = [
"byteorder", "byteorder",
"dynasm", "dynasm",
@ -4169,7 +4182,7 @@ dependencies = [
[[package]] [[package]]
name = "wasmer-derive" name = "wasmer-derive"
version = "3.0.1" version = "3.0.2"
dependencies = [ dependencies = [
"compiletest_rs", "compiletest_rs",
"proc-macro-error", "proc-macro-error",
@ -4181,7 +4194,7 @@ dependencies = [
[[package]] [[package]]
name = "wasmer-emscripten" name = "wasmer-emscripten"
version = "3.0.1" version = "3.0.2"
dependencies = [ dependencies = [
"byteorder", "byteorder",
"getrandom", "getrandom",
@ -4223,7 +4236,7 @@ dependencies = [
[[package]] [[package]]
name = "wasmer-integration-tests-cli" name = "wasmer-integration-tests-cli"
version = "3.0.1" version = "3.0.2"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"flate2", "flate2",
@ -4235,11 +4248,11 @@ dependencies = [
[[package]] [[package]]
name = "wasmer-integration-tests-ios" name = "wasmer-integration-tests-ios"
version = "3.0.1" version = "3.0.2"
[[package]] [[package]]
name = "wasmer-middlewares" name = "wasmer-middlewares"
version = "3.0.1" version = "3.0.2"
dependencies = [ dependencies = [
"wasmer", "wasmer",
"wasmer-types", "wasmer-types",
@ -4248,7 +4261,7 @@ dependencies = [
[[package]] [[package]]
name = "wasmer-object" name = "wasmer-object"
version = "3.0.1" version = "3.0.2"
dependencies = [ dependencies = [
"object 0.28.4", "object 0.28.4",
"thiserror", "thiserror",
@ -4257,10 +4270,10 @@ dependencies = [
[[package]] [[package]]
name = "wasmer-registry" name = "wasmer-registry"
version = "3.0.1" version = "3.0.2"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"dirs 4.0.0", "dirs",
"flate2", "flate2",
"futures-util", "futures-util",
"graphql_client", "graphql_client",
@ -4285,7 +4298,7 @@ dependencies = [
[[package]] [[package]]
name = "wasmer-types" name = "wasmer-types"
version = "3.0.1" version = "3.0.2"
dependencies = [ dependencies = [
"enum-iterator", "enum-iterator",
"enumset", "enumset",
@ -4301,7 +4314,7 @@ dependencies = [
[[package]] [[package]]
name = "wasmer-vbus" name = "wasmer-vbus"
version = "3.0.1" version = "3.0.2"
dependencies = [ dependencies = [
"thiserror", "thiserror",
"wasmer-vfs", "wasmer-vfs",
@ -4309,7 +4322,7 @@ dependencies = [
[[package]] [[package]]
name = "wasmer-vfs" name = "wasmer-vfs"
version = "3.0.1" version = "3.0.2"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"libc", "libc",
@ -4323,7 +4336,7 @@ dependencies = [
[[package]] [[package]]
name = "wasmer-vm" name = "wasmer-vm"
version = "3.0.1" version = "3.0.2"
dependencies = [ dependencies = [
"backtrace", "backtrace",
"cc", "cc",
@ -4346,7 +4359,7 @@ dependencies = [
[[package]] [[package]]
name = "wasmer-vnet" name = "wasmer-vnet"
version = "3.0.1" version = "3.0.2"
dependencies = [ dependencies = [
"bytes", "bytes",
"thiserror", "thiserror",
@ -4355,7 +4368,7 @@ dependencies = [
[[package]] [[package]]
name = "wasmer-wasi" name = "wasmer-wasi"
version = "3.0.1" version = "3.0.2"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"bincode", "bincode",
@ -4387,7 +4400,7 @@ dependencies = [
[[package]] [[package]]
name = "wasmer-wasi-experimental-io-devices" name = "wasmer-wasi-experimental-io-devices"
version = "3.0.1" version = "3.0.2"
dependencies = [ dependencies = [
"minifb", "minifb",
"nix 0.25.0", "nix 0.25.0",
@ -4400,7 +4413,7 @@ dependencies = [
[[package]] [[package]]
name = "wasmer-wasi-local-networking" name = "wasmer-wasi-local-networking"
version = "3.0.1" version = "3.0.2"
dependencies = [ dependencies = [
"bytes", "bytes",
"tracing", "tracing",
@ -4410,7 +4423,7 @@ dependencies = [
[[package]] [[package]]
name = "wasmer-wasi-types" name = "wasmer-wasi-types"
version = "3.0.1" version = "3.0.2"
dependencies = [ dependencies = [
"byteorder", "byteorder",
"pretty_assertions", "pretty_assertions",
@ -4427,7 +4440,7 @@ dependencies = [
[[package]] [[package]]
name = "wasmer-wast" name = "wasmer-wast"
version = "3.0.1" version = "3.0.2"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"serde", "serde",
@ -4508,7 +4521,7 @@ dependencies = [
[[package]] [[package]]
name = "wasmer-workspace" name = "wasmer-workspace"
version = "3.0.1" version = "3.0.2"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"build-deps", "build-deps",
@ -4900,9 +4913,9 @@ dependencies = [
[[package]] [[package]]
name = "x11-dl" name = "x11-dl"
version = "2.20.0" version = "2.20.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0c83627bc137605acc00bb399c7b908ef460b621fc37c953db2b09f88c449ea6" checksum = "b1536d6965a5d4e573c7ef73a2c15ebcd0b2de3347bdf526c34c297c00ac40f0"
dependencies = [ dependencies = [
"lazy_static", "lazy_static",
"libc", "libc",

View File

@ -1,6 +1,6 @@
[package] [package]
name = "wasmer-workspace" name = "wasmer-workspace"
version = "3.0.1" version = "3.0.2"
description = "Wasmer workspace" description = "Wasmer workspace"
authors = ["Wasmer Engineering Team <engineering@wasmer.io>"] authors = ["Wasmer Engineering Team <engineering@wasmer.io>"]
repository = "https://github.com/wasmerio/wasmer" repository = "https://github.com/wasmerio/wasmer"
@ -10,18 +10,18 @@ publish = false
autoexamples = false autoexamples = false
[dependencies] [dependencies]
wasmer = { version = "=3.0.1", path = "lib/api", default-features = false } wasmer = { version = "=3.0.2", path = "lib/api", default-features = false }
wasmer-compiler = { version = "=3.0.1", path = "lib/compiler", features = ["compiler"] } wasmer-compiler = { version = "=3.0.2", path = "lib/compiler", features = ["compiler"] }
wasmer-compiler-cranelift = { version = "=3.0.1", path = "lib/compiler-cranelift", optional = true } wasmer-compiler-cranelift = { version = "=3.0.2", path = "lib/compiler-cranelift", optional = true }
wasmer-compiler-singlepass = { version = "=3.0.1", path = "lib/compiler-singlepass", optional = true } wasmer-compiler-singlepass = { version = "=3.0.2", path = "lib/compiler-singlepass", optional = true }
wasmer-compiler-llvm = { version = "=3.0.1", path = "lib/compiler-llvm", optional = true } wasmer-compiler-llvm = { version = "=3.0.2", path = "lib/compiler-llvm", optional = true }
wasmer-emscripten = { version = "=3.0.1", path = "lib/emscripten", optional = true } wasmer-emscripten = { version = "=3.0.2", path = "lib/emscripten", optional = true }
wasmer-wasi = { version = "=3.0.1", path = "lib/wasi", optional = true } wasmer-wasi = { version = "=3.0.2", path = "lib/wasi", optional = true }
wasmer-wast = { version = "=3.0.1", path = "tests/lib/wast", optional = true } wasmer-wast = { version = "=3.0.2", path = "tests/lib/wast", optional = true }
wasi-test-generator = { version = "=3.0.1", path = "tests/wasi-wast", optional = true } wasi-test-generator = { version = "=3.0.2", path = "tests/wasi-wast", optional = true }
wasmer-cache = { version = "=3.0.1", path = "lib/cache", optional = true } wasmer-cache = { version = "=3.0.2", path = "lib/cache", optional = true }
wasmer-types = { version = "=3.0.1", path = "lib/types" } wasmer-types = { version = "=3.0.2", path = "lib/types" }
wasmer-middlewares = { version = "=3.0.1", path = "lib/middlewares", optional = true } wasmer-middlewares = { version = "=3.0.2", path = "lib/middlewares", optional = true }
cfg-if = "1.0" cfg-if = "1.0"
[workspace] [workspace]
@ -68,7 +68,7 @@ glob = "0.3"
rustc_version = "0.4" rustc_version = "0.4"
[dev-dependencies] [dev-dependencies]
wasmer = { version = "=3.0.1", path = "lib/api", default-features = false, features = ["cranelift"] } wasmer = { version = "=3.0.2", path = "lib/api", default-features = false, features = ["cranelift"] }
anyhow = "1.0" anyhow = "1.0"
criterion = "0.3" criterion = "0.3"
lazy_static = "1.4" lazy_static = "1.4"

View File

@ -1,6 +1,6 @@
[package] [package]
name = "wasmer" name = "wasmer"
version = "3.0.1" version = "3.0.2"
description = "High-performance WebAssembly runtime" description = "High-performance WebAssembly runtime"
categories = ["wasm"] categories = ["wasm"]
keywords = ["wasm", "webassembly", "runtime", "vm"] keywords = ["wasm", "webassembly", "runtime", "vm"]
@ -34,15 +34,15 @@ tracing = { version = "0.1", optional = true }
# Dependencies and Development Dependencies for `sys`. # Dependencies and Development Dependencies for `sys`.
[target.'cfg(not(target_arch = "wasm32"))'.dependencies] [target.'cfg(not(target_arch = "wasm32"))'.dependencies]
# - Mandatory dependencies for `sys`. # - Mandatory dependencies for `sys`.
wasmer-vm = { path = "../vm", version = "=3.0.1" } wasmer-vm = { path = "../vm", version = "=3.0.2" }
wasmer-compiler = { path = "../compiler", version = "=3.0.1" } wasmer-compiler = { path = "../compiler", version = "=3.0.2" }
wasmer-derive = { path = "../derive", version = "=3.0.1" } wasmer-derive = { path = "../derive", version = "=3.0.2" }
wasmer-types = { path = "../types", version = "=3.0.1" } wasmer-types = { path = "../types", version = "=3.0.2" }
target-lexicon = { version = "0.12.2", default-features = false } target-lexicon = { version = "0.12.2", default-features = false }
# - Optional dependencies for `sys`. # - Optional dependencies for `sys`.
wasmer-compiler-singlepass = { path = "../compiler-singlepass", version = "=3.0.1", optional = true } wasmer-compiler-singlepass = { path = "../compiler-singlepass", version = "=3.0.2", optional = true }
wasmer-compiler-cranelift = { path = "../compiler-cranelift", version = "=3.0.1", optional = true } wasmer-compiler-cranelift = { path = "../compiler-cranelift", version = "=3.0.2", optional = true }
wasmer-compiler-llvm = { path = "../compiler-llvm", version = "=3.0.1", optional = true } wasmer-compiler-llvm = { path = "../compiler-llvm", version = "=3.0.2", optional = true }
wasm-bindgen = { version = "0.2.74", optional = true } wasm-bindgen = { version = "0.2.74", optional = true }
js-sys = { version = "0.3.51", optional = true } js-sys = { version = "0.3.51", optional = true }
@ -55,16 +55,16 @@ winapi = "0.3"
wat = "1.0" wat = "1.0"
tempfile = "3.1" tempfile = "3.1"
anyhow = "1.0" anyhow = "1.0"
macro-wasmer-universal-test = { version = "3.0.1", path = "./macro-wasmer-universal-test" } macro-wasmer-universal-test = { version = "3.0.2", path = "./macro-wasmer-universal-test" }
# Dependencies and Develoment Dependencies for `js`. # Dependencies and Develoment Dependencies for `js`.
[target.'cfg(target_arch = "wasm32")'.dependencies] [target.'cfg(target_arch = "wasm32")'.dependencies]
# - Mandatory dependencies for `js`. # - Mandatory dependencies for `js`.
wasmer-types = { path = "../types", version = "=3.0.1", default-features = false, features = ["std"] } wasmer-types = { path = "../types", version = "=3.0.2", default-features = false, features = ["std"] }
wasm-bindgen = "0.2.74" wasm-bindgen = "0.2.74"
js-sys = "0.3.51" js-sys = "0.3.51"
#web-sys = { version = "0.3.51", features = [ "console" ] } #web-sys = { version = "0.3.51", features = [ "console" ] }
wasmer-derive = { path = "../derive", version = "=3.0.1" } wasmer-derive = { path = "../derive", version = "=3.0.2" }
# - Optional dependencies for `js`. # - Optional dependencies for `js`.
wasmparser = { version = "0.83", default-features = false, optional = true } wasmparser = { version = "0.83", default-features = false, optional = true }
hashbrown = { version = "0.11", optional = true } hashbrown = { version = "0.11", optional = true }
@ -76,7 +76,7 @@ serde = { version = "1.0", features = ["derive"] }
wat = "1.0" wat = "1.0"
anyhow = "1.0" anyhow = "1.0"
wasm-bindgen-test = "0.3.0" wasm-bindgen-test = "0.3.0"
macro-wasmer-universal-test = { version = "3.0.1", path = "./macro-wasmer-universal-test" } macro-wasmer-universal-test = { version = "3.0.2", path = "./macro-wasmer-universal-test" }
# Specific to `js`. # Specific to `js`.
# #

View File

@ -1,6 +1,6 @@
[package] [package]
name = "macro-wasmer-universal-test" name = "macro-wasmer-universal-test"
version = "3.0.1" version = "3.0.2"
edition = "2021" edition = "2021"
license = "MIT" license = "MIT"
description = "Universal test macro for wasmer-test" description = "Universal test macro for wasmer-test"

View File

@ -1,6 +1,6 @@
[package] [package]
name = "wasmer-c-api" name = "wasmer-c-api"
version = "3.0.1" version = "3.0.2"
description = "Wasmer C API library" description = "Wasmer C API library"
categories = ["wasm", "api-bindings"] categories = ["wasm", "api-bindings"]
keywords = ["wasm", "webassembly", "runtime"] keywords = ["wasm", "webassembly", "runtime"]
@ -22,16 +22,16 @@ crate-type = ["staticlib", "cdylib"] #"cdylib", "rlib", "staticlib"]
[dependencies] [dependencies]
# We rename `wasmer` to `wasmer-api` to avoid the conflict with this # We rename `wasmer` to `wasmer-api` to avoid the conflict with this
# library name (see `[lib]`). # library name (see `[lib]`).
wasmer-api = { version = "=3.0.1", path = "../api", default-features = false, features = ["sys"], package = "wasmer" } wasmer-api = { version = "=3.0.2", path = "../api", default-features = false, features = ["sys"], package = "wasmer" }
wasmer-compiler-cranelift = { version = "=3.0.1", path = "../compiler-cranelift", optional = true } wasmer-compiler-cranelift = { version = "=3.0.2", path = "../compiler-cranelift", optional = true }
wasmer-compiler-singlepass = { version = "=3.0.1", path = "../compiler-singlepass", optional = true } wasmer-compiler-singlepass = { version = "=3.0.2", path = "../compiler-singlepass", optional = true }
wasmer-compiler-llvm = { version = "=3.0.1", path = "../compiler-llvm", optional = true } wasmer-compiler-llvm = { version = "=3.0.2", path = "../compiler-llvm", optional = true }
wasmer-emscripten = { version = "=3.0.1", path = "../emscripten", optional = true } wasmer-emscripten = { version = "=3.0.2", path = "../emscripten", optional = true }
wasmer-compiler = { version = "=3.0.1", path = "../compiler" } wasmer-compiler = { version = "=3.0.2", path = "../compiler" }
wasmer-middlewares = { version = "=3.0.1", path = "../middlewares", optional = true } wasmer-middlewares = { version = "=3.0.2", path = "../middlewares", optional = true }
wasmer-wasi = { version = "=3.0.1", path = "../wasi", default-features = false, features = ["host-fs", "sys"], optional = true } wasmer-wasi = { version = "=3.0.2", path = "../wasi", default-features = false, features = ["host-fs", "sys"], optional = true }
wasmer-types = { version = "=3.0.1", path = "../types" } wasmer-types = { version = "=3.0.2", path = "../types" }
wasmer-vfs = { version = "=3.0.1", path = "../vfs", optional = true, default-features = false, features = ["static-fs"] } wasmer-vfs = { version = "=3.0.2", path = "../vfs", optional = true, default-features = false, features = ["static-fs"] }
webc = { version = "3.0.1", optional = true } webc = { version = "3.0.1", optional = true }
enumset = "1.0.2" enumset = "1.0.2"
cfg-if = "1.0" cfg-if = "1.0"

View File

@ -1,6 +1,6 @@
[package] [package]
name = "wasmer-capi-examples-runner" name = "wasmer-capi-examples-runner"
version = "3.0.1" version = "3.0.2"
edition = "2021" edition = "2021"
license = "MIT" license = "MIT"
description = "wasmer-capi-examples-runner" description = "wasmer-capi-examples-runner"

View File

@ -1,6 +1,6 @@
[package] [package]
name = "wasmer-c-api-test-runner" name = "wasmer-c-api-test-runner"
version = "3.0.1" version = "3.0.2"
edition = "2021" edition = "2021"
license = "MIT" license = "MIT"
description = "wasmer-c-api-test-runner" description = "wasmer-c-api-test-runner"

View File

@ -1,6 +1,6 @@
[package] [package]
name = "wasmer-cache" name = "wasmer-cache"
version = "3.0.1" version = "3.0.2"
description = "Cache system for Wasmer WebAssembly runtime" description = "Cache system for Wasmer WebAssembly runtime"
categories = ["wasm", "caching"] categories = ["wasm", "caching"]
keywords = ["wasm", "webassembly", "cache"] keywords = ["wasm", "webassembly", "cache"]
@ -11,7 +11,7 @@ readme = "README.md"
edition = "2018" edition = "2018"
[dependencies] [dependencies]
wasmer = { path = "../api", version = "=3.0.1", default-features = false, features = ["sys"] } wasmer = { path = "../api", version = "=3.0.2", default-features = false, features = ["sys"] }
hex = "0.4" hex = "0.4"
thiserror = "1" thiserror = "1"
blake3 = "1.0" blake3 = "1.0"
@ -20,7 +20,7 @@ blake3 = "1.0"
criterion = "0.3" criterion = "0.3"
tempfile = "3" tempfile = "3"
rand = "0.8.3" rand = "0.8.3"
wasmer-compiler-singlepass = { path = "../compiler-singlepass", version = "=3.0.1" } wasmer-compiler-singlepass = { path = "../compiler-singlepass", version = "=3.0.2" }
[features] [features]
default = ["wasmer/js-serializable-module", "wasmer/compiler", "filesystem"] default = ["wasmer/js-serializable-module", "wasmer/compiler", "filesystem"]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "wasmer-compiler-cli" name = "wasmer-compiler-cli"
version = "3.0.1" version = "3.0.2"
description = "Wasmer Compiler CLI" description = "Wasmer Compiler CLI"
categories = ["wasm", "command-line-interface"] categories = ["wasm", "command-line-interface"]
keywords = ["wasm", "webassembly", "cli"] keywords = ["wasm", "webassembly", "cli"]
@ -18,8 +18,8 @@ path = "src/bin/wasmer_compiler.rs"
doc = false doc = false
[dependencies] [dependencies]
wasmer-compiler = { version = "=3.0.1", path = "../compiler", features = ["compiler"] } wasmer-compiler = { version = "=3.0.2", path = "../compiler", features = ["compiler"] }
wasmer-types = { version = "=3.0.1", path = "../types" } wasmer-types = { version = "=3.0.2", path = "../types" }
atty = "0.2" atty = "0.2"
colored = "2.0" colored = "2.0"
anyhow = "1.0" anyhow = "1.0"
@ -36,12 +36,12 @@ target-lexicon = { version = "0.12", features = ["std"] }
tempfile = "3" tempfile = "3"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies] [target.'cfg(not(target_arch = "wasm32"))'.dependencies]
wasmer-compiler-singlepass = { version = "=3.0.1", path = "../compiler-singlepass", optional = true } wasmer-compiler-singlepass = { version = "=3.0.2", path = "../compiler-singlepass", optional = true }
wasmer-compiler-cranelift = { version = "=3.0.1", path = "../compiler-cranelift", optional = true } wasmer-compiler-cranelift = { version = "=3.0.2", path = "../compiler-cranelift", optional = true }
[target.'cfg(target_arch = "wasm32")'.dependencies] [target.'cfg(target_arch = "wasm32")'.dependencies]
wasmer-compiler-singlepass = { version = "=3.0.1", path = "../compiler-singlepass", optional = true, default-features = false, features = ["wasm"] } wasmer-compiler-singlepass = { version = "=3.0.2", path = "../compiler-singlepass", optional = true, default-features = false, features = ["wasm"] }
wasmer-compiler-cranelift = { version = "=3.0.1", path = "../compiler-cranelift", optional = true, default-features = false, features = ["wasm"] } wasmer-compiler-cranelift = { version = "=3.0.2", path = "../compiler-cranelift", optional = true, default-features = false, features = ["wasm"] }
[target.'cfg(target_os = "linux")'.dependencies] [target.'cfg(target_os = "linux")'.dependencies]
unix_mode = "0.1.3" unix_mode = "0.1.3"

View File

@ -1,6 +1,6 @@
[package] [package]
name = "wasmer-cli" name = "wasmer-cli"
version = "3.0.1" version = "3.0.2"
description = "Wasmer CLI" description = "Wasmer CLI"
categories = ["wasm", "command-line-interface"] categories = ["wasm", "command-line-interface"]
keywords = ["wasm", "webassembly", "cli"] keywords = ["wasm", "webassembly", "cli"]
@ -25,25 +25,25 @@ doc = false
required-features = ["headless"] required-features = ["headless"]
[dependencies] [dependencies]
wasmer = { version = "=3.0.1", path = "../api", default-features = false } wasmer = { version = "=3.0.2", path = "../api", default-features = false }
wasmer-compiler = { version = "=3.0.1", path = "../compiler", features = ["compiler", ] } wasmer-compiler = { version = "=3.0.2", path = "../compiler", features = ["compiler", ] }
wasmer-compiler-cranelift = { version = "=3.0.1", path = "../compiler-cranelift", optional = true } wasmer-compiler-cranelift = { version = "=3.0.2", path = "../compiler-cranelift", optional = true }
wasmer-compiler-singlepass = { version = "=3.0.1", path = "../compiler-singlepass", optional = true } wasmer-compiler-singlepass = { version = "=3.0.2", path = "../compiler-singlepass", optional = true }
wasmer-compiler-llvm = { version = "=3.0.1", path = "../compiler-llvm", optional = true } wasmer-compiler-llvm = { version = "=3.0.2", path = "../compiler-llvm", optional = true }
wasmer-emscripten = { version = "=3.0.1", path = "../emscripten", optional = true } wasmer-emscripten = { version = "=3.0.2", path = "../emscripten", optional = true }
wasmer-vm = { version = "=3.0.1", path = "../vm" } wasmer-vm = { version = "=3.0.2", path = "../vm" }
wasmer-wasi = { version = "=3.0.1", path = "../wasi", optional = true } wasmer-wasi = { version = "=3.0.2", path = "../wasi", optional = true }
wasmer-wasi-experimental-io-devices = { version = "=3.0.1", path = "../wasi-experimental-io-devices", optional = true, features = ["link_external_libs"] } wasmer-wasi-experimental-io-devices = { version = "=3.0.2", path = "../wasi-experimental-io-devices", optional = true, features = ["link_external_libs"] }
wasmer-wast = { version = "=3.0.1", path = "../../tests/lib/wast", optional = true } wasmer-wast = { version = "=3.0.2", path = "../../tests/lib/wast", optional = true }
wasmer-cache = { version = "=3.0.1", path = "../cache", optional = true } wasmer-cache = { version = "=3.0.2", path = "../cache", optional = true }
wasmer-types = { version = "=3.0.1", path = "../types" } wasmer-types = { version = "=3.0.2", path = "../types" }
wasmer-registry = { version = "=3.0.1", path = "../registry" } wasmer-registry = { version = "=3.0.2", path = "../registry" }
wasmer-object = { version = "=3.0.1", path = "../object", optional = true } wasmer-object = { version = "=3.0.2", path = "../object", optional = true }
wasmer-vfs = { version = "=3.0.1", path = "../vfs", default-features = false, features = ["host-fs"] } wasmer-vfs = { version = "=3.0.2", path = "../vfs", default-features = false, features = ["host-fs"] }
atty = "0.2" atty = "0.2"
colored = "2.0" colored = "2.0"
anyhow = "1.0" anyhow = "1.0"
spinner = "0.5.0" spinoff = "0.5.4"
clap = { version = "3.2.22", features = ["derive", "env"] } clap = { version = "3.2.22", features = ["derive", "env"] }
# For the function names autosuggestion # For the function names autosuggestion
distance = "0.4" distance = "0.4"
@ -166,6 +166,12 @@ http = [
"serde", "serde",
] ]
[target.'cfg(target_os = "windows")'.dependencies]
colored = "2.0.0"
[package.metadata.binstall]
pkg-fmt = "tgz"
[package.metadata.binstall.overrides.aarch64-apple-darwin] [package.metadata.binstall.overrides.aarch64-apple-darwin]
pkg-url = "{ repo }/releases/download/v{ version }/wasmer-darwin-arm64.{ archive-format }" pkg-url = "{ repo }/releases/download/v{ version }/wasmer-darwin-arm64.{ archive-format }"
bin-dir = "bin/{ bin }" bin-dir = "bin/{ bin }"

View File

@ -645,17 +645,20 @@ impl Run {
} }
} }
fn start_spinner(msg: String) -> Option<spinner::SpinnerHandle> { fn start_spinner(msg: String) -> Option<spinoff::Spinner> {
if !isatty::stdout_isatty() { if !isatty::stdout_isatty() {
return None; return None;
} }
Some( #[cfg(target_os = "windows")]
spinner::SpinnerBuilder::new(msg) {
.spinner(vec![ use colored::control;
"", "", "", "", "", "", "", "", " ", "", "", "", "", "", "", "", "", let _ = control::set_virtual_terminal(true);
]) }
.start(), Some(spinoff::Spinner::new(
) spinoff::Spinners::Dots,
msg,
spinoff::Color::White,
))
} }
/// Before looking up a command from the registry, try to see if we have /// Before looking up a command from the registry, try to see if we have
@ -706,8 +709,7 @@ pub(crate) fn try_autoinstall_package(
force_install, force_install,
); );
if let Some(sp) = sp.take() { if let Some(sp) = sp.take() {
sp.close(); sp.clear();
print!("\r");
} }
let _ = std::io::stdout().flush(); let _ = std::io::stdout().flush();
let (_, package_dir) = match result { let (_, package_dir) = match result {
@ -765,8 +767,8 @@ fn try_lookup_command(sv: &mut SplitVersion) -> Result<PackageDownloadInfo, anyh
for registry in wasmer_registry::get_all_available_registries().unwrap_or_default() { for registry in wasmer_registry::get_all_available_registries().unwrap_or_default() {
let result = wasmer_registry::query_command_from_registry(&registry, &sv.package); let result = wasmer_registry::query_command_from_registry(&registry, &sv.package);
if sp.is_some() { if let Some(s) = sp.take() {
print!("\r"); s.clear();
} }
let _ = std::io::stdout().flush(); let _ = std::io::stdout().flush();
let command = sv.package.clone(); let command = sv.package.clone();
@ -779,8 +781,7 @@ fn try_lookup_command(sv: &mut SplitVersion) -> Result<PackageDownloadInfo, anyh
} }
if let Some(sp) = sp.take() { if let Some(sp) = sp.take() {
sp.close(); sp.clear();
print!("\r");
} }
let _ = std::io::stdout().flush(); let _ = std::io::stdout().flush();
Err(anyhow::anyhow!("command {sv} not found")) Err(anyhow::anyhow!("command {sv} not found"))
@ -828,11 +829,6 @@ pub(crate) fn try_run_package_or_file(
) -> Result<(), anyhow::Error> { ) -> Result<(), anyhow::Error> {
let debug_msgs_allowed = isatty::stdout_isatty(); let debug_msgs_allowed = isatty::stdout_isatty();
if let Ok(url) = url::Url::parse(&format!("{}", r.path.display())) {
let result = try_run_url(&url, args, r, debug);
return result;
}
// Check "r.path" is a file or a package / command name // Check "r.path" is a file or a package / command name
if r.path.exists() { if r.path.exists() {
if r.path.is_dir() && r.path.join("wapm.toml").exists() { if r.path.is_dir() && r.path.join("wapm.toml").exists() {
@ -848,6 +844,18 @@ pub(crate) fn try_run_package_or_file(
return r.execute(); return r.execute();
} }
// c:// might be parsed as a URL on Windows
let url_string = format!("{}", r.path.display());
if let Ok(url) = url::Url::parse(&url_string) {
if url.scheme() == "http" || url.scheme() == "https" {
match try_run_url(&url, args, r, debug) {
Err(ExecuteLocalPackageError::BeforeExec(_)) => {}
Err(ExecuteLocalPackageError::DuringExec(e)) => return Err(e),
Ok(o) => return Ok(o),
}
}
}
let package = format!("{}", r.path.display()); let package = format!("{}", r.path.display());
let mut is_fake_sv = false; let mut is_fake_sv = false;
@ -915,9 +923,15 @@ pub(crate) fn try_run_package_or_file(
try_autoinstall_package(args, &sv, package_download_info, r.force_install) try_autoinstall_package(args, &sv, package_download_info, r.force_install)
} }
fn try_run_url(url: &Url, _args: &[String], r: &Run, _debug: bool) -> Result<(), anyhow::Error> { fn try_run_url(
let checksum = wasmer_registry::get_remote_webc_checksum(url) url: &Url,
.map_err(|e| anyhow::anyhow!("error fetching {url}: {e}"))?; _args: &[String],
r: &Run,
_debug: bool,
) -> Result<(), ExecuteLocalPackageError> {
let checksum = wasmer_registry::get_remote_webc_checksum(url).map_err(|e| {
ExecuteLocalPackageError::BeforeExec(anyhow::anyhow!("error fetching {url}: {e}"))
})?;
let packages = wasmer_registry::get_all_installed_webc_packages(); let packages = wasmer_registry::get_all_installed_webc_packages();
@ -926,20 +940,23 @@ fn try_run_url(url: &Url, _args: &[String], r: &Run, _debug: bool) -> Result<(),
let result = wasmer_registry::install_webc_package(url, &checksum); let result = wasmer_registry::install_webc_package(url, &checksum);
result.map_err(|e| anyhow::anyhow!("error fetching {url}: {e}"))?; result.map_err(|e| {
ExecuteLocalPackageError::BeforeExec(anyhow::anyhow!("error fetching {url}: {e}"))
})?;
if let Some(sp) = sp { if let Some(sp) = sp {
sp.close(); sp.clear();
} }
} }
let webc_dir = wasmer_registry::get_webc_dir(); let webc_dir = wasmer_registry::get_webc_dir();
let webc_install_path = webc_dir let webc_install_path = webc_dir
.context("Error installing package: no webc dir")? .context("Error installing package: no webc dir")
.map_err(ExecuteLocalPackageError::BeforeExec)?
.join(checksum); .join(checksum);
let mut r = r.clone(); let mut r = r.clone();
r.path = webc_install_path; r.path = webc_install_path;
r.execute() r.execute().map_err(ExecuteLocalPackageError::DuringExec)
} }

View File

@ -1,6 +1,6 @@
[package] [package]
name = "wasmer-compiler-cranelift" name = "wasmer-compiler-cranelift"
version = "3.0.1" version = "3.0.2"
description = "Cranelift compiler for Wasmer WebAssembly runtime" description = "Cranelift compiler for Wasmer WebAssembly runtime"
categories = ["wasm"] categories = ["wasm"]
keywords = ["wasm", "webassembly", "compiler", "cranelift"] keywords = ["wasm", "webassembly", "compiler", "cranelift"]
@ -12,8 +12,8 @@ readme = "README.md"
edition = "2018" edition = "2018"
[dependencies] [dependencies]
wasmer-compiler = { path = "../compiler", version = "=3.0.1", features = ["translator", "compiler"], default-features = false } wasmer-compiler = { path = "../compiler", version = "=3.0.2", features = ["translator", "compiler"], default-features = false }
wasmer-types = { path = "../types", version = "=3.0.1", default-features = false, features = ["std"] } wasmer-types = { path = "../types", version = "=3.0.2", default-features = false, features = ["std"] }
cranelift-entity = { version = "0.86.1", default-features = false } cranelift-entity = { version = "0.86.1", default-features = false }
cranelift-codegen = { version = "0.86.1", default-features = false, features = ["x86", "arm64"] } cranelift-codegen = { version = "0.86.1", default-features = false, features = ["x86", "arm64"] }
cranelift-frontend = { version = "0.86.1", default-features = false } cranelift-frontend = { version = "0.86.1", default-features = false }

View File

@ -1,6 +1,6 @@
[package] [package]
name = "wasmer-compiler-llvm" name = "wasmer-compiler-llvm"
version = "3.0.1" version = "3.0.2"
description = "LLVM compiler for Wasmer WebAssembly runtime" description = "LLVM compiler for Wasmer WebAssembly runtime"
categories = ["wasm"] categories = ["wasm"]
keywords = ["wasm", "webassembly", "compiler", "llvm"] keywords = ["wasm", "webassembly", "compiler", "llvm"]
@ -12,11 +12,11 @@ readme = "README.md"
edition = "2018" edition = "2018"
[dependencies] [dependencies]
wasmer-compiler = { path = "../compiler", version = "=3.0.1", features = [ wasmer-compiler = { path = "../compiler", version = "=3.0.2", features = [
"translator", "compiler" "translator", "compiler"
] } ] }
wasmer-vm = { path = "../vm", version = "=3.0.1" } wasmer-vm = { path = "../vm", version = "=3.0.2" }
wasmer-types = { path = "../types", version = "=3.0.1" } wasmer-types = { path = "../types", version = "=3.0.2" }
target-lexicon = { version = "0.12.2", default-features = false } target-lexicon = { version = "0.12.2", default-features = false }
smallvec = "1.6" smallvec = "1.6"
object = { version = "0.28.3", default-features = false, features = ["read"] } object = { version = "0.28.3", default-features = false, features = ["read"] }
@ -27,7 +27,7 @@ rayon = "1.5"
[dependencies.inkwell] [dependencies.inkwell]
package = "inkwell" package = "inkwell"
version = "0.1.0-beta.4" version = "=0.1.0-beta.4"
default-features = false default-features = false
features = ["llvm12-0", "target-x86", "target-aarch64"] features = ["llvm12-0", "target-x86", "target-aarch64"]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "wasmer-compiler-singlepass" name = "wasmer-compiler-singlepass"
version = "3.0.1" version = "3.0.2"
description = "Singlepass compiler for Wasmer WebAssembly runtime" description = "Singlepass compiler for Wasmer WebAssembly runtime"
categories = ["wasm"] categories = ["wasm"]
keywords = ["wasm", "webassembly", "compiler", "singlepass"] keywords = ["wasm", "webassembly", "compiler", "singlepass"]
@ -12,8 +12,8 @@ readme = "README.md"
edition = "2018" edition = "2018"
[dependencies] [dependencies]
wasmer-compiler = { path = "../compiler", version = "=3.0.1", features = ["translator", "compiler"], default-features = false } wasmer-compiler = { path = "../compiler", version = "=3.0.2", features = ["translator", "compiler"], default-features = false }
wasmer-types = { path = "../types", version = "=3.0.1", default-features = false, features = ["std"] } wasmer-types = { path = "../types", version = "=3.0.2", default-features = false, features = ["std"] }
hashbrown = { version = "0.11", optional = true } hashbrown = { version = "0.11", optional = true }
gimli = { version = "0.26", optional = true } gimli = { version = "0.26", optional = true }
more-asserts = "0.2" more-asserts = "0.2"

View File

@ -1,6 +1,6 @@
[package] [package]
name = "wasmer-compiler" name = "wasmer-compiler"
version = "3.0.1" version = "3.0.2"
description = "Base compiler abstraction for Wasmer WebAssembly runtime" description = "Base compiler abstraction for Wasmer WebAssembly runtime"
categories = ["wasm", "no-std"] categories = ["wasm", "no-std"]
keywords = ["wasm", "webassembly", "compiler"] keywords = ["wasm", "webassembly", "compiler"]
@ -11,8 +11,8 @@ readme = "README.md"
edition = "2018" edition = "2018"
[dependencies] [dependencies]
wasmer-types = { path = "../types", version = "=3.0.1", default-features = false } wasmer-types = { path = "../types", version = "=3.0.2", default-features = false }
wasmer-object = { path = "../object", version = "=3.0.1", optional = true } wasmer-object = { path = "../object", version = "=3.0.2", optional = true }
wasmparser = { version = "0.83", optional = true, default-features = false } wasmparser = { version = "0.83", optional = true, default-features = false }
enumset = "1.0.2" enumset = "1.0.2"
hashbrown = { version = "0.11", optional = true } hashbrown = { version = "0.11", optional = true }
@ -32,7 +32,7 @@ leb128 = "0.2"
enum-iterator = "0.7.0" enum-iterator = "0.7.0"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies] [target.'cfg(not(target_arch = "wasm32"))'.dependencies]
wasmer-vm = { path = "../vm", version = "=3.0.1" } wasmer-vm = { path = "../vm", version = "=3.0.2" }
region = { version = "3.0" } region = { version = "3.0" }
[target.'cfg(target_os = "windows")'.dependencies] [target.'cfg(target_os = "windows")'.dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "wasmer-derive" name = "wasmer-derive"
version = "3.0.1" version = "3.0.2"
description = "Wasmer derive macros" description = "Wasmer derive macros"
authors = ["Wasmer Engineering Team <engineering@wasmer.io>"] authors = ["Wasmer Engineering Team <engineering@wasmer.io>"]
repository = "https://github.com/wasmerio/wasmer" repository = "https://github.com/wasmerio/wasmer"

View File

@ -1,6 +1,6 @@
[package] [package]
name = "wasmer-emscripten" name = "wasmer-emscripten"
version = "3.0.1" version = "3.0.2"
description = "Emscripten implementation library for Wasmer WebAssembly runtime" description = "Emscripten implementation library for Wasmer WebAssembly runtime"
categories = ["wasm", "os"] categories = ["wasm", "os"]
keywords = ["wasm", "webassembly", "abi", "emscripten", "posix"] keywords = ["wasm", "webassembly", "abi", "emscripten", "posix"]
@ -16,8 +16,8 @@ lazy_static = "1.4"
libc = "^0.2" libc = "^0.2"
log = "0.4" log = "0.4"
time = { version = "0.2", features = ["std"] } time = { version = "0.2", features = ["std"] }
wasmer = { path = "../api", version = "=3.0.1", default-features = false, features = ["sys", "compiler"] } wasmer = { path = "../api", version = "=3.0.2", default-features = false, features = ["sys", "compiler"] }
wasmer-types = { path = "../types", version = "=3.0.1" } wasmer-types = { path = "../types", version = "=3.0.2" }
[target.'cfg(windows)'.dependencies] [target.'cfg(windows)'.dependencies]
getrandom = "0.2" getrandom = "0.2"

View File

@ -1,6 +1,6 @@
[package] [package]
name = "wasmer-middlewares" name = "wasmer-middlewares"
version = "3.0.1" version = "3.0.2"
authors = ["Wasmer Engineering Team <engineering@wasmer.io>"] authors = ["Wasmer Engineering Team <engineering@wasmer.io>"]
description = "A collection of various useful middlewares" description = "A collection of various useful middlewares"
license = "MIT OR Apache-2.0 WITH LLVM-exception" license = "MIT OR Apache-2.0 WITH LLVM-exception"
@ -11,12 +11,12 @@ readme = "README.md"
edition = "2018" edition = "2018"
[dependencies] [dependencies]
wasmer = { path = "../api", version = "=3.0.1", default-features = false, features = ["compiler"] } wasmer = { path = "../api", version = "=3.0.2", default-features = false, features = ["compiler"] }
wasmer-types = { path = "../types", version = "=3.0.1" } wasmer-types = { path = "../types", version = "=3.0.2" }
wasmer-vm = { path = "../vm", version = "=3.0.1" } wasmer-vm = { path = "../vm", version = "=3.0.2" }
[dev-dependencies] [dev-dependencies]
wasmer = { path = "../api", version = "=3.0.1", features = ["compiler"] } wasmer = { path = "../api", version = "=3.0.2", features = ["compiler"] }
[badges] [badges]
maintenance = { status = "actively-developed" } maintenance = { status = "actively-developed" }

View File

@ -1,6 +1,6 @@
[package] [package]
name = "wasmer-object" name = "wasmer-object"
version = "3.0.1" version = "3.0.2"
description = "Wasmer Native Object generator" description = "Wasmer Native Object generator"
categories = ["wasm"] categories = ["wasm"]
keywords = ["wasm", "webassembly"] keywords = ["wasm", "webassembly"]
@ -11,6 +11,6 @@ readme = "README.md"
edition = "2018" edition = "2018"
[dependencies] [dependencies]
wasmer-types = { path = "../types", version = "=3.0.1" } wasmer-types = { path = "../types", version = "=3.0.2" }
object = { version = "0.28.3", default-features = false, features = ["write"] } object = { version = "0.28.3", default-features = false, features = ["write"] }
thiserror = "1.0" thiserror = "1.0"

View File

@ -1,6 +1,6 @@
[package] [package]
name = "wasmer-registry" name = "wasmer-registry"
version = "3.0.1" version = "3.0.2"
edition = "2021" edition = "2021"
license = "MIT" license = "MIT"
description = "Crate to interact with the wasmer registry (wapm.io), download packages, etc." description = "Crate to interact with the wasmer registry (wapm.io), download packages, etc."

View File

@ -593,7 +593,7 @@ pub fn query_package_from_registry(
let v = response.package_version.as_ref().ok_or_else(|| { let v = response.package_version.as_ref().ok_or_else(|| {
QueryPackageError::ErrorSendingQuery(format!( QueryPackageError::ErrorSendingQuery(format!(
"Invalid response for crate {name:?}: no manifest" "Invalid response for crate {name:?}: no package version: {response:#?}"
)) ))
})?; })?;
@ -1136,7 +1136,8 @@ pub fn get_checksum_hash(bytes: &[u8]) -> String {
/// file is already installed before downloading it /// file is already installed before downloading it
pub fn get_remote_webc_checksum(url: &Url) -> Result<String, anyhow::Error> { pub fn get_remote_webc_checksum(url: &Url) -> Result<String, anyhow::Error> {
let request_max_bytes = webc::WebC::get_signature_offset_start() + 4 + 1024 + 8 + 8; let request_max_bytes = webc::WebC::get_signature_offset_start() + 4 + 1024 + 8 + 8;
let data = get_webc_bytes(url, Some(0..request_max_bytes)).context("get_webc_bytes failed")?; let data = get_webc_bytes(url, Some(0..request_max_bytes))
.with_context(|| format!("get_webc_bytes failed on {url}"))?;
let checksum = webc::WebC::get_checksum_bytes(&data) let checksum = webc::WebC::get_checksum_bytes(&data)
.map_err(|e| anyhow::anyhow!("{e}")) .map_err(|e| anyhow::anyhow!("{e}"))
.context("get_checksum_bytes failed")? .context("get_checksum_bytes failed")?

View File

@ -1,6 +1,6 @@
[package] [package]
name = "wasmer-types" name = "wasmer-types"
version = "3.0.1" version = "3.0.2"
description = "Wasmer Common Types" description = "Wasmer Common Types"
categories = ["wasm", "no-std", "data-structures"] categories = ["wasm", "no-std", "data-structures"]
keywords = ["wasm", "webassembly", "types"] keywords = ["wasm", "webassembly", "types"]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "wasmer-vbus" name = "wasmer-vbus"
version = "3.0.1" version = "3.0.2"
description = "Wasmer Virtual Bus" description = "Wasmer Virtual Bus"
authors = ["Wasmer Engineering Team <engineering@wasmer.io>"] authors = ["Wasmer Engineering Team <engineering@wasmer.io>"]
license = "MIT" license = "MIT"
@ -8,7 +8,7 @@ edition = "2018"
[dependencies] [dependencies]
thiserror = "1" thiserror = "1"
wasmer-vfs = { path = "../vfs", version = "=3.0.1", default-features = false } wasmer-vfs = { path = "../vfs", version = "=3.0.2", default-features = false }
[features] [features]
default = ["mem_fs"] default = ["mem_fs"]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "wasmer-vfs" name = "wasmer-vfs"
version = "3.0.1" version = "3.0.2"
description = "Wasmer Virtual FileSystem" description = "Wasmer Virtual FileSystem"
authors = ["Wasmer Engineering Team <engineering@wasmer.io>"] authors = ["Wasmer Engineering Team <engineering@wasmer.io>"]
license = "MIT" license = "MIT"

View File

@ -1,6 +1,6 @@
[package] [package]
name = "wasmer-vm" name = "wasmer-vm"
version = "3.0.1" version = "3.0.2"
description = "Runtime library support for Wasmer" description = "Runtime library support for Wasmer"
categories = ["wasm"] categories = ["wasm"]
keywords = ["wasm", "webassembly"] keywords = ["wasm", "webassembly"]
@ -11,7 +11,7 @@ readme = "README.md"
edition = "2018" edition = "2018"
[dependencies] [dependencies]
wasmer-types = { path = "../types", version = "=3.0.1" } wasmer-types = { path = "../types", version = "=3.0.2" }
libc = { version = "^0.2", default-features = false } libc = { version = "^0.2", default-features = false }
memoffset = "0.6" memoffset = "0.6"
indexmap = { version = "1.6" } indexmap = { version = "1.6" }

View File

@ -1,6 +1,6 @@
[package] [package]
name = "wasmer-vnet" name = "wasmer-vnet"
version = "3.0.1" version = "3.0.2"
description = "Wasmer Virtual Networking" description = "Wasmer Virtual Networking"
authors = ["Wasmer Engineering Team <engineering@wasmer.io>"] authors = ["Wasmer Engineering Team <engineering@wasmer.io>"]
license = "MIT" license = "MIT"
@ -8,7 +8,7 @@ edition = "2018"
[dependencies] [dependencies]
thiserror = "1" thiserror = "1"
wasmer-vfs = { path = "../vfs", version = "=3.0.1", default-features = false } wasmer-vfs = { path = "../vfs", version = "=3.0.2", default-features = false }
bytes = "1" bytes = "1"
[features] [features]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "wasmer-wasi-experimental-io-devices" name = "wasmer-wasi-experimental-io-devices"
version = "3.0.1" version = "3.0.2"
description = "An experimental non-standard WASI extension for graphics" description = "An experimental non-standard WASI extension for graphics"
categories = ["wasm"] categories = ["wasm"]
keywords = ["wasm", "webassembly", "types"] keywords = ["wasm", "webassembly", "types"]
@ -14,7 +14,7 @@ edition = "2018"
maintenance = { status = "experimental" } maintenance = { status = "experimental" }
[dependencies] [dependencies]
wasmer-wasi = { version = "=3.0.1", path = "../wasi", default-features=false } wasmer-wasi = { version = "=3.0.2", path = "../wasi", default-features=false }
tracing = "0.1" tracing = "0.1"
minifb = { version = "0.23", optional = true } minifb = { version = "0.23", optional = true }
nix = "0.25.0" nix = "0.25.0"

View File

@ -1,6 +1,6 @@
[package] [package]
name = "wasmer-wasi-local-networking" name = "wasmer-wasi-local-networking"
version = "3.0.1" version = "3.0.2"
description = "An WASIX extension for local networking" description = "An WASIX extension for local networking"
categories = ["wasm"] categories = ["wasm"]
keywords = ["wasm", "webassembly", "types"] keywords = ["wasm", "webassembly", "types"]
@ -14,8 +14,8 @@ edition = "2018"
maintenance = { status = "experimental" } maintenance = { status = "experimental" }
[dependencies] [dependencies]
wasmer-vnet = { version = "=3.0.1", path = "../vnet", default-features = false } wasmer-vnet = { version = "=3.0.2", path = "../vnet", default-features = false }
wasmer-vfs = { path = "../vfs", version = "=3.0.1", default-features = false } wasmer-vfs = { path = "../vfs", version = "=3.0.2", default-features = false }
tracing = "0.1" tracing = "0.1"
bytes = "1.1" bytes = "1.1"

View File

@ -1,6 +1,6 @@
[package] [package]
name = "wasmer-wasi-types" name = "wasmer-wasi-types"
version = "3.0.1" version = "3.0.2"
description = "WASI types for Wasmer WebAssembly runtime" description = "WASI types for Wasmer WebAssembly runtime"
categories = ["wasm", "os"] categories = ["wasm", "os"]
keywords = ["wasm", "webassembly", "wasi", "sandbox", "ABI"] keywords = ["wasm", "webassembly", "wasi", "sandbox", "ABI"]
@ -17,8 +17,8 @@ wit-bindgen-rust = { package = "wasmer-wit-bindgen-rust", version = "0.1.1" }
wit-bindgen-rust-wasm = { package = "wasmer-wit-bindgen-gen-rust-wasm", version = "0.1.1" } wit-bindgen-rust-wasm = { package = "wasmer-wit-bindgen-gen-rust-wasm", version = "0.1.1" }
wit-bindgen-core = { package = "wasmer-wit-bindgen-gen-core", version = "0.1.1" } wit-bindgen-core = { package = "wasmer-wit-bindgen-gen-core", version = "0.1.1" }
wit-parser = { package = "wasmer-wit-parser", version = "0.1.1" } wit-parser = { package = "wasmer-wit-parser", version = "0.1.1" }
wasmer-types = { path = "../types", version = "=3.0.1" } wasmer-types = { path = "../types", version = "=3.0.2" }
wasmer-derive = { path = "../derive", version = "=3.0.1" } wasmer-derive = { path = "../derive", version = "=3.0.2" }
serde = { version = "1.0", features = ["derive"], optional = true } serde = { version = "1.0", features = ["derive"], optional = true }
byteorder = "1.3" byteorder = "1.3"
time = "0.2" time = "0.2"

View File

@ -1,6 +1,6 @@
[package] [package]
name = "wasmer-wasi" name = "wasmer-wasi"
version = "3.0.1" version = "3.0.2"
description = "WASI implementation library for Wasmer WebAssembly runtime" description = "WASI implementation library for Wasmer WebAssembly runtime"
categories = ["wasm", "os"] categories = ["wasm", "os"]
keywords = ["wasm", "webassembly", "wasi", "sandbox", "ABI"] keywords = ["wasm", "webassembly", "wasi", "sandbox", "ABI"]
@ -16,12 +16,12 @@ thiserror = "1"
generational-arena = { version = "0.2" } generational-arena = { version = "0.2" }
tracing = "0.1" tracing = "0.1"
getrandom = "0.2" getrandom = "0.2"
wasmer-wasi-types = { path = "../wasi-types", version = "=3.0.1" } wasmer-wasi-types = { path = "../wasi-types", version = "=3.0.2" }
wasmer = { path = "../api", version = "=3.0.1", default-features = false } wasmer = { path = "../api", version = "=3.0.2", default-features = false }
wasmer-vfs = { path = "../vfs", version = "=3.0.1", default-features = false } wasmer-vfs = { path = "../vfs", version = "=3.0.2", default-features = false }
wasmer-vbus = { path = "../vbus", version = "=3.0.1", default-features = false } wasmer-vbus = { path = "../vbus", version = "=3.0.2", default-features = false }
wasmer-vnet = { path = "../vnet", version = "=3.0.1", default-features = false } wasmer-vnet = { path = "../vnet", version = "=3.0.2", default-features = false }
wasmer-wasi-local-networking = { path = "../wasi-local-networking", version = "=3.0.1", default-features = false, optional = true } wasmer-wasi-local-networking = { path = "../wasi-local-networking", version = "=3.0.2", default-features = false, optional = true }
typetag = { version = "0.1", optional = true } typetag = { version = "0.1", optional = true }
serde = { version = "1.0", default-features = false, features = ["derive"], optional = true } serde = { version = "1.0", default-features = false, features = ["derive"], optional = true }
bincode = { version = "1.3", optional = true } bincode = { version = "1.3", optional = true }
@ -31,7 +31,7 @@ bytes = "1"
webc = { version = "3.0.1", optional = true, default-features = false, features = ["std", "mmap"] } webc = { version = "3.0.1", optional = true, default-features = false, features = ["std", "mmap"] }
serde_cbor = { version = "0.11.2", optional = true } serde_cbor = { version = "0.11.2", optional = true }
anyhow = { version = "1.0.66", optional = true } anyhow = { version = "1.0.66", optional = true }
wasmer-emscripten = { path = "../emscripten", version = "=3.0.1", optional = true } wasmer-emscripten = { path = "../emscripten", version = "=3.0.2", optional = true }
[target.'cfg(unix)'.dependencies] [target.'cfg(unix)'.dependencies]
libc = { version = "^0.2", default-features = false } libc = { version = "^0.2", default-features = false }

View File

@ -1,7 +1,7 @@
#!/usr/bin/python #!/usr/bin/python
PREVIOUS_VERSION='3.0.0' PREVIOUS_VERSION='3.0.1'
NEXT_VERSION='3.0.1' NEXT_VERSION='3.0.2'
import os import os
import re import re

View File

@ -1,6 +1,6 @@
[Setup] [Setup]
AppName=Wasmer AppName=Wasmer
AppVersion=3.0.1 AppVersion=3.0.2
DefaultDirName={pf}\Wasmer DefaultDirName={pf}\Wasmer
DefaultGroupName=Wasmer DefaultGroupName=Wasmer
Compression=lzma2 Compression=lzma2

View File

@ -1,6 +1,6 @@
[package] [package]
name = "wasmer-integration-tests-cli" name = "wasmer-integration-tests-cli"
version = "3.0.1" version = "3.0.2"
authors = ["Wasmer Engineering Team <engineering@wasmer.io>"] authors = ["Wasmer Engineering Team <engineering@wasmer.io>"]
description = "CLI integration tests" description = "CLI integration tests"
repository = "https://github.com/wasmerio/wasmer" repository = "https://github.com/wasmerio/wasmer"
@ -16,6 +16,7 @@ target-lexicon = "0.12.4"
[dependencies] [dependencies]
anyhow = "1" anyhow = "1"
tempfile = "3" tempfile = "3"
target-lexicon = "0.12.5"
[features] [features]
default = ["webc_runner"] default = ["webc_runner"]

View File

@ -63,21 +63,58 @@ pub fn get_wasmer_path() -> PathBuf {
ret = PathBuf::from(format!("{}wasmer", WASMER_TARGET_PATH2)); ret = PathBuf::from(format!("{}wasmer", WASMER_TARGET_PATH2));
} }
if !ret.exists() { if !ret.exists() {
match get_repo_root_path() { ret = match get_repo_root_path() {
Some(s) => { Some(s) => {
#[cfg(target_os = "windows")] #[cfg(target_os = "windows")]
{ {
return s.join("target").join("release").join("wasmer.exe"); s.join("target").join("release").join("wasmer.exe")
} }
#[cfg(not(target_os = "windows"))] #[cfg(not(target_os = "windows"))]
{ {
return s.join("target").join("release").join("wasmer"); s.join("target").join("release").join("wasmer")
} }
} }
None => { None => {
panic!("Could not find wasmer executable path! {:?}", ret); panic!("Could not find wasmer executable path! {:?}", ret);
} }
};
}
if !ret.exists() {
ret = match get_repo_root_path() {
Some(s) => {
#[cfg(target_os = "windows")]
{
s.join("target")
.join(target_lexicon::HOST.to_string())
.join("release")
.join("wasmer.exe")
}
#[cfg(not(target_os = "windows"))]
{
s.join("target")
.join(target_lexicon::HOST.to_string())
.join("release")
.join("wasmer")
}
}
None => {
panic!("Could not find wasmer executable path! {:?}", ret);
}
};
}
if !ret.exists() {
if let Some(root) = get_repo_root_path() {
use std::process::Stdio;
let _ = std::process::Command::new("ls")
.arg(root.join("target"))
.stdout(Stdio::inherit())
.stderr(Stdio::inherit())
.stdin(Stdio::null())
.output();
} }
panic!("cannot find wasmer / wasmer.exe for integration test!");
} }
ret ret
} }

View File

@ -1,24 +1,24 @@
//! Basic tests for the `run` subcommand //! Basic tests for the `run` subcommand
use anyhow::bail; use anyhow::{bail, Context};
use std::path::PathBuf; use std::path::{Path, PathBuf};
use std::process::Command; use std::process::Command;
use wasmer_integration_tests_cli::{get_repo_root_path, get_wasmer_path, ASSET_PATH, C_ASSET_PATH}; use wasmer_integration_tests_cli::{get_repo_root_path, get_wasmer_path, ASSET_PATH, C_ASSET_PATH};
fn wasi_test_python_path() -> String { fn wasi_test_python_path() -> PathBuf {
format!("{}/{}", C_ASSET_PATH, "python-0.1.0.wasmer") Path::new(C_ASSET_PATH).join("python-0.1.0.wasmer")
} }
fn wasi_test_wasm_path() -> String { fn wasi_test_wasm_path() -> PathBuf {
format!("{}/{}", C_ASSET_PATH, "qjs.wasm") Path::new(C_ASSET_PATH).join("qjs.wasm")
} }
fn test_no_imports_wat_path() -> String { fn test_no_imports_wat_path() -> PathBuf {
format!("{}/{}", ASSET_PATH, "fib.wat") Path::new(ASSET_PATH).join("fib.wat")
} }
fn test_no_start_wat_path() -> String { fn test_no_start_wat_path() -> PathBuf {
format!("{}/{}", ASSET_PATH, "no_start.wat") Path::new(ASSET_PATH).join("no_start.wat")
} }
#[cfg(any(target_os = "linux", target_os = "macos"))] #[cfg(any(target_os = "linux", target_os = "macos"))]
@ -192,11 +192,7 @@ fn test_wasmer_create_exe_pirita_works() -> anyhow::Result<()> {
"packaging /package to .tar.gz: {}", "packaging /package to .tar.gz: {}",
tmp_targz_path.display() tmp_targz_path.display()
); );
package_directory( package_directory(&package_path, &tmp_targz_path);
&package_path,
&std::path::Path::new("./out.tar.gz").to_path_buf(),
);
std::fs::copy("./out.tar.gz", &tmp_targz_path).unwrap();
println!("packaging done"); println!("packaging done");
println!( println!(
"tmp tar gz path: {} - exists: {:?}", "tmp tar gz path: {} - exists: {:?}",
@ -546,3 +542,52 @@ fn run_no_start_wasm_report_error() -> anyhow::Result<()> {
assert_eq!(result.contains("Can not find any export functions."), true); assert_eq!(result.contains("Can not find any export functions."), true);
Ok(()) Ok(())
} }
// Test that wasmer can run a complex path
#[test]
fn test_wasmer_run_complex_url() -> anyhow::Result<()> {
let wasm_test_path = wasi_test_wasm_path();
let wasm_test_path = wasm_test_path.canonicalize().unwrap_or(wasm_test_path);
let mut wasm_test_path = format!("{}", wasm_test_path.display());
if wasm_test_path.starts_with(r#"\\?\"#) {
wasm_test_path = wasm_test_path.replacen(r#"\\?\"#, "", 1);
}
#[cfg(target_os = "windows")]
{
wasm_test_path = wasm_test_path.replace("D:\\", "D://");
wasm_test_path = wasm_test_path.replace("C:\\", "C://");
wasm_test_path = wasm_test_path.replace("c:\\", "c://");
wasm_test_path = wasm_test_path.replace("\\", "/");
// wasmer run used to fail on c:\Users\username\wapm_packages\ ...
assert!(
wasm_test_path.contains("://"),
"wasm_test_path path is not complex enough"
);
}
let mut cmd = Command::new(get_wasmer_path());
cmd.arg("run");
cmd.arg(wasm_test_path);
cmd.arg("--");
cmd.arg("-q");
let cmd_str = format!("{cmd:?}");
let output = cmd.output().with_context(|| {
anyhow::anyhow!(
"failed to run {cmd_str} with {}",
get_wasmer_path().display()
)
})?;
if !output.status.success() {
bail!(
"wasmer run qjs.wasm failed with: stdout: {}\n\nstderr: {}",
std::str::from_utf8(&output.stdout)
.expect("stdout is not utf8! need to handle arbitrary bytes"),
std::str::from_utf8(&output.stderr)
.expect("stderr is not utf8! need to handle arbitrary bytes")
);
}
Ok(())
}

View File

@ -1,6 +1,6 @@
[package] [package]
name = "wasmer-integration-tests-ios" name = "wasmer-integration-tests-ios"
version = "3.0.1" version = "3.0.2"
authors = ["Wasmer Engineering Team <engineering@wasmer.io>"] authors = ["Wasmer Engineering Team <engineering@wasmer.io>"]
description = "iOS integration tests" description = "iOS integration tests"
repository = "https://github.com/wasmerio/wasmer" repository = "https://github.com/wasmerio/wasmer"

View File

@ -1,6 +1,6 @@
[package] [package]
name = "wasmer-wast" name = "wasmer-wast"
version = "3.0.1" version = "3.0.2"
authors = ["Wasmer Engineering Team <engineering@wasmer.io>"] authors = ["Wasmer Engineering Team <engineering@wasmer.io>"]
description = "wast testing support for wasmer" description = "wast testing support for wasmer"
license = "MIT OR Apache-2.0 WITH LLVM-exception" license = "MIT OR Apache-2.0 WITH LLVM-exception"
@ -12,9 +12,9 @@ edition = "2018"
[dependencies] [dependencies]
anyhow = "1.0" anyhow = "1.0"
wasmer = { path = "../../../lib/api", version = "=3.0.1", default-features = false } wasmer = { path = "../../../lib/api", version = "=3.0.2", default-features = false }
wasmer-wasi = { path = "../../../lib/wasi", version = "=3.0.1" } wasmer-wasi = { path = "../../../lib/wasi", version = "=3.0.2" }
wasmer-vfs = { path = "../../../lib/vfs", version = "=3.0.1" } wasmer-vfs = { path = "../../../lib/vfs", version = "=3.0.2" }
wast = "38.0" wast = "38.0"
serde = "1" serde = "1"
tempfile = "3" tempfile = "3"

View File

@ -1,6 +1,6 @@
[package] [package]
name = "wasi-test-generator" name = "wasi-test-generator"
version = "3.0.1" version = "3.0.2"
description = "Tests for our WASI implementation" description = "Tests for our WASI implementation"
license = "MIT" license = "MIT"
authors = ["Wasmer Engineering Team <engineering@wasmer.io>"] authors = ["Wasmer Engineering Team <engineering@wasmer.io>"]