fix(test_module): avoid oom in test_scripts
This commit is contained in:
parent
5fc3c7424a
commit
53f9157342
1 changed files with 6 additions and 16 deletions
|
@ -5,7 +5,7 @@ extern crate napi_rs_derive;
|
||||||
|
|
||||||
extern crate futures;
|
extern crate futures;
|
||||||
|
|
||||||
use napi::{Any, Env, Error, Object, Result, Status, Value, CallContext};
|
use napi::{Any, CallContext, Env, Error, Object, Result, Status, Value};
|
||||||
|
|
||||||
register_module!(test_module, init);
|
register_module!(test_module, init);
|
||||||
|
|
||||||
|
@ -13,21 +13,13 @@ fn init<'env>(
|
||||||
env: &'env Env,
|
env: &'env Env,
|
||||||
exports: &'env mut Value<'env, Object>,
|
exports: &'env mut Value<'env, Object>,
|
||||||
) -> Result<Option<Value<'env, Object>>> {
|
) -> Result<Option<Value<'env, Object>>> {
|
||||||
exports.set_named_property(
|
exports.set_named_property("testSpawn", env.create_function("testSpawn", test_spawn)?)?;
|
||||||
"testSpawn",
|
exports.set_named_property("testThrow", env.create_function("testThrow", test_throw)?)?;
|
||||||
env.create_function("testSpawn", test_spawn)?,
|
|
||||||
)?;
|
|
||||||
exports.set_named_property(
|
|
||||||
"testThrow",
|
|
||||||
env.create_function("testThrow", test_throw)?,
|
|
||||||
)?;
|
|
||||||
Ok(None)
|
Ok(None)
|
||||||
}
|
}
|
||||||
|
|
||||||
#[js_function]
|
#[js_function]
|
||||||
fn test_spawn<'a>(
|
fn test_spawn<'a>(ctx: CallContext<'a>) -> Result<Value<'a, Object>> {
|
||||||
ctx: CallContext<'a>
|
|
||||||
) -> Result<Value<'a, Object>> {
|
|
||||||
use futures::executor::ThreadPool;
|
use futures::executor::ThreadPool;
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
let env = ctx.env;
|
let env = ctx.env;
|
||||||
|
@ -37,7 +29,7 @@ fn test_spawn<'a>(
|
||||||
let (tx, rx) = futures::channel::mpsc::unbounded::<i32>();
|
let (tx, rx) = futures::channel::mpsc::unbounded::<i32>();
|
||||||
let fut_values = async move {
|
let fut_values = async move {
|
||||||
let fut_tx_result = async move {
|
let fut_tx_result = async move {
|
||||||
(0..100).for_each(|v| {
|
(0..20).for_each(|v| {
|
||||||
tx.unbounded_send(v).expect("Failed to send");
|
tx.unbounded_send(v).expect("Failed to send");
|
||||||
})
|
})
|
||||||
};
|
};
|
||||||
|
@ -60,8 +52,6 @@ fn test_spawn<'a>(
|
||||||
}
|
}
|
||||||
|
|
||||||
#[js_function]
|
#[js_function]
|
||||||
fn test_throw<'a>(
|
fn test_throw<'a>(_ctx: CallContext<'a>) -> Result<Value<'a, Any>> {
|
||||||
_ctx: CallContext<'a>,
|
|
||||||
) -> Result<Value<'a, Any>> {
|
|
||||||
Err(Error::new(Status::GenericFailure))
|
Err(Error::new(Status::GenericFailure))
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue