#编译器插件 #集成 #Chrome #集成测试 #Google #ppapi

nightly ppapi-tester

在支持Pepper的Google Chrome中运行集成测试的编译器插件

1个不稳定版本

使用旧的Rust 2015

0.0.1 2015年1月24日
0.0.0 2015年1月24日

#44#编译器插件

MPL-2.0 许可证

13KB
244

Rusted Pepper

Rust对Pepper API的惯用绑定。此API是实验性的。预计它会有所变化。

文档

构建

首先需要构建和安装PNaCl/NaCl Rust分支。然后运行

export NACL_SDK_ROOT=path/to/pepper_39

最后,运行

cargo build --target le32-unknown-nacl

然后就可以使用了!

不要运行build.sh 它用于更新FFI绑定。

入门指南

来自pnacl-hello-world

#![crate_name = "pnacl-hello-world"]
#![crate_type = "bin"]
#![no_main]

extern crate ppapi;

use std::collections::HashMap;

#[no_mangle]
#[cfg(target_os = "nacl")]
// Called when an instance is created.
// This is called from a new task. It is perfectly "safe" to panic!() here, or in
// any callback (though it will result in instance termination).
pub extern fn ppapi_instance_created(_instance: ppapi::Instance,
                                     _args: HashMap<String, String>) {
    println!("Hello, world!");
}

#[no_mangle]
pub extern fn ppapi_instance_destroyed() {
}

Pepper.js

由于rust-ppapi使用线程,因此不受支持。


lib.rs:

提供pnacl_test! {}宏。用法

#[ppapi_test]
fn test_name(instance: ppapi::Instance, args: HashMap<String, String>) {
   // Put the test here.
}

将来我计划允许在模块上使用#[ppapi_test],以便测试回调。

无运行时依赖