@@ -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