bors[bot] e19dbbee1d
Merge #1382
1382: Test Refactor r=syrusakbary a=syrusakbary

# Description

This PR is the continuation of #1380.
It refactors our testing infrastructure based on various points:
* There is no longer a "default compiler" on tests
* Tests are automatically generated for: emscripten and wasi
* It accelerates testing into multiple threads when possible (with the exception of the llvm backend)
* It automatically detects the backends available in the host

Summary of changes:
* [x] Removed all extra logic for test creation in emscripten test generator
* [x] Removed all extra logic for test creation in the wasi test generator
* [x] Divided wasmer wast test in different files (under `tests/custom/`)
* [x] Refactored trap asserts using the wast format
* [x] Improved the build script by adding emscripten and wasi test generators (separated from build)
* [x] Improved WASI errors to be Rust error types (by deriving from `thiserror::Error`)
* [x] Fixed toolchain error creation
* [x] Removed leaking of testing logic from generators into build
* [x] Refactored import tests to be compatible with multiple backends
* [x] Improved wasmer binary to work even when no backends are set (useful for testing without any backend available).
* [x] Removed assumption that Cranelift will be the default in the `wasmer` binary
* [x] Migrated middleware

# Review

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


Co-authored-by: Syrus <me@syrusakbary.com>
Co-authored-by: Syrus Akbary <me@syrusakbary.com>
2020-04-16 23:23:32 +00:00
2020-01-17 17:15:00 -06:00
2020-02-20 14:48:10 -08:00
2020-04-06 11:42:44 -07:00
2020-04-14 13:19:40 -07:00
2020-04-15 19:34:25 -07:00
2020-03-23 17:53:01 -07:00
2020-04-16 16:21:09 -07:00
2020-03-11 19:15:31 -07:00
2020-04-15 16:31:05 -07:00
2020-04-16 15:47:01 -07:00
2020-03-23 11:55:32 +09:00
2020-04-14 12:41:05 -07:00
2020-04-16 13:26:24 -07:00
2020-03-30 14:45:26 -07:00
2020-04-15 18:29:53 -07:00
2020-04-15 16:31:05 -07:00
2020-04-16 15:49:23 -07:00
2019-08-22 16:16:34 -05:00
2019-09-30 22:50:04 -07:00
2020-03-02 11:08:21 -08:00
2020-04-16 15:33:48 -07:00
2020-02-29 09:47:00 -08:00
2019-05-27 14:41:18 -07:00


Wasmer is a standalone WebAssembly runtime:

  • Universal: Wasmer is available in Linux, macOS and Windows (for both Desktop and ARM)
  • Fast: Wasmer aims to run WebAssembly at near-native speed
  • Pluggable: Wasmer can be used from almost any programming language
  • Safe: supporting WASI and Emscripten

It is used to run software fast, universally and safely: standalone applications and universal libraries.

Contents

Quickstart

Get started with Wasmer:

1. Install Wasmer

curl https://get.wasmer.io -sSfL | sh

Note: Wasmer is also available on Windows

Alternative: Install with Homebrew

brew install wasmer

2. Use Wasmer

Download a WASM file, and use it universally! You can start with QuickJS: qjs.wasm

wasmer qjs.wasm

3. Next steps

Here is what you can do next:

Language Integrations

Wasmer runtime can be used as a library embedded in different languages, so you can use WebAssembly anywhere 🎉

  Language Docs Author(s) Maintenance Release Stars
Rust logo Rust Docs Wasmer actively developed last release number of Github stars
C logo C/C++ Docs Wasmer actively developed last release number of Github stars
Python logo Python Docs Wasmer actively developed last release number of Github stars
Go logo Go Docs Wasmer actively developed last release number of Github stars
PHP logo PHP Docs Wasmer actively developed last release number of Github stars
Ruby logo Ruby Docs Wasmer actively developed last release number of Github stars
Postgres logo Postgres Wasmer actively developed last release number of Github stars
JS Logo JavaScript Docs Wasmer actively developed last release number of Github stars
C# logo C#/.Net Docs Miguel de Icaza actively developed last release number of Github stars
R logo R Docs Dirk Schumacher actively developed number of Github stars
Elixir logo Elixir Docs Philipp Tessenow actively developed last release number of Github stars
your language is missing?

Contribute

We welcome any form of contribution, especially from new members of our community 💜

You can check how to build the Wasmer runtime in our awesome docs!

Testing

Test you want? The Wasmer docs will show you how.

Community

Wasmer has an amazing community developers and contributors. Welcome, please join us! 👋

Channels

Description
No description provided
Readme MIT 80 MiB
Languages
WebAssembly 43.1%
Rust 40.8%
C 12.9%
C++ 2.3%
Shell 0.4%
Other 0.2%