5个版本
使用旧Rust 2015
0.3.3 | 2018年9月4日 |
---|---|
0.3.2 | 2018年9月3日 |
0.3.1 | 2018年9月3日 |
0.3.0 | 2018年9月2日 |
0.2.0 | 2018年9月1日 |
#41 in #test-suite
被greenwasm使用
3MB
47K SLoC
greenwasm-spectest
官方WebAssembly MVP测试套件的镜像库封装。
可以作为独立测试套件启动器用于其他Webassembly实现。
许可证
根据以下任一许可证授权:
- Apache许可证,版本2.0,(LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
由您选择。
贡献
除非您明确表示,否则您有意提交以包含在本作品中的任何贡献,根据Apache-2.0许可证的定义,应按上述方式双许可,而无需任何附加条款或条件。
lib.rs
:
官方webassembly MVP测试套件的镜像库封装。
通过实现ScriptHandler
,它可以作为独立测试套件启动器用于其他webassembly实现。
示例
use greenwasm_spectest::*;
struct DummyHandler;
impl ScriptHandler for DummyHandler {
fn reset(&mut self) {}
fn action_invoke(&mut self,
module: Option<String>,
field: String,
args: Vec<Value>) -> InvokationResult
{
unimplemented!()
}
fn action_get(&mut self,
module: Option<String>,
field: String) -> Value
{
unimplemented!()
}
fn module(&mut self, bytes: Vec<u8>, name: Option<String>) {
unimplemented!()
}
fn assert_malformed(&mut self, bytes: Vec<u8>) {
unimplemented!()
}
fn assert_invalid(&mut self, bytes: Vec<u8>) {
unimplemented!()
}
fn assert_uninstantiable(&mut self, bytes: Vec<u8>) {
unimplemented!()
}
fn assert_exhaustion(&mut self, action: Action) {
unimplemented!()
}
fn register(&mut self, name: Option<String>, as_name: String) {
unimplemented!()
}
}
run_mvp_spectest(&mut DummyHandler).present();
这将产生如下输出
Executing address.wast ...
Executing align.wast ...
Executing binary.wast ...
Executing block.wast ...
Executing br.wast ...
[...]
wast failures:
address.wast:3, not yet implemented
address.wast:104, <not attempted>
address.wast:105, <not attempted>
...
wast total: 0 passed; 17955 failed
依赖项
~17MB
~289K SLoC