Skip to content

Commit ca81e42

Browse files
wip
1 parent deb8a4e commit ca81e42

File tree

1 file changed

+27
-59
lines changed

1 file changed

+27
-59
lines changed

src/quickjs_utils/errors.rs

Lines changed: 27 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -270,7 +270,7 @@ pub mod tests {
270270
let func_jsvf = &args[0];
271271
match func_jsvf {
272272
JsValueFacade::JsFunction { cached_function } => {
273-
let _ = cached_function.invoke_function_sync(vec![12.to_js_value_facade()]);
273+
let _ = cached_function.invoke_function_sync(vec![12.to_js_value_facade()])?;
274274
Ok(0.to_js_value_facade())
275275
}
276276
_ => Err(JsError::new_str("poof")),
@@ -280,20 +280,26 @@ pub mod tests {
280280
let s_res = rt.eval_sync(
281281
None,
282282
Script::new(
283-
"test_ex.es",
284-
"let consumer = function() {\n
285-
console.log('consuming');\n
286-
throw Error('oh dear stuff failed at line 3 in consumer');\n
287-
};\n
288-
console.log('calling consume from line 5');test_consume(consumer);\n
289-
console.log('should never reach line 7')",
283+
"test_ex34245.js",
284+
"let consumer = function() {
285+
console.log('consuming');
286+
throw new Error('oh dear stuff failed at line 3 in consumer');
287+
};
288+
console.log('calling consume from line 6');
289+
let a = test_consume(consumer);
290+
console.log('should never reach line 7 %s', a)",
290291
),
291292
);
292-
if s_res.is_err() {
293-
let e = format!("script failed: {}", s_res.err().unwrap());
294-
log::error!("{}", e);
295-
//panic!("{}", e);
293+
match s_res {
294+
Ok(o) => {
295+
log::info!("o = {}", o.stringify());
296+
}
297+
Err(e) => {
298+
log::error!("script failed: {}", e);
299+
log::error!("{}", e);
300+
}
296301
}
302+
297303
std::thread::sleep(Duration::from_secs(1));
298304
}
299305

@@ -304,57 +310,19 @@ pub mod tests {
304310
None,
305311
Script::new(
306312
"test_ex3.js",
307-
r#"
308-
async function asyncDebugStackPreserve(delegate, invokerName) {
309-
310-
const startStack = new Error().stack;
311-
try {
312-
return await delegate();
313-
} catch (ex) {
314-
const err = Error(ex.message);
315-
316-
err.fileName = ex.fileName;
317-
err.lineNumber = ex.lineNumber;
318-
err.columnNumber = ex.columnNumber;
319-
err.cause = ex.cause;
320-
321-
err.stack = ex.stack + startStack;
322-
throw err;
323-
}
324-
313+
r#"
314+
async function a() {
315+
await b();
325316
}
326317
327-
async function sleep(ms) {
328-
return new Promise((res) => {
329-
setTimeout(res, ms);
330-
});
318+
async function b() {
319+
//await 1;
320+
throw Error("poof");
331321
}
332322
333-
async function a(){
334-
335-
return new Promise(async (res, rej) => {
336-
try {
337-
let ret = await asyncDebugStackPreserve(async function aInner() {
338-
await sleep(100);
339-
let ret = await b();
340-
});
341-
res(ret);
342-
} catch(ex) {
343-
rej(ex);
344-
}
345-
});
346-
}
347-
348-
async function b(){
349-
throw Error("poof");
350-
}
351-
352-
a().catch((ex) => {
353-
console.error(ex);
354-
});
355-
356-
357-
323+
a().catch((ex) => {
324+
console.error(ex);
325+
});
358326
"#,
359327
),
360328
)

0 commit comments

Comments
 (0)