(main)
| 688 | TestStackTrace(instance.exports.main); |
| 689 | |
| 690 | function TestStackTrace(main) { |
| 691 | assertEquals([7, 0], main(21, 3)); |
| 692 | assertTraps(kTrapDivByZero, () => main(1, 0)); |
| 693 | try { |
| 694 | main(1, 0); |
| 695 | assertUnreachable(); |
| 696 | } catch(e) { |
| 697 | assertMatches(/RuntimeError: divide by zero/, e.stack); |
| 698 | let expected_entries = [ |
| 699 | // [name, index, offset] |
| 700 | ['callee', '' + callee.index, '0x8c'], |
| 701 | ['intermediate', '' + intermediate.index, '0x96'], |
| 702 | ['main', '' + caller.index, '0xa4'], |
| 703 | ]; |
| 704 | CheckCallStack(e, expected_entries); |
| 705 | } |
| 706 | |
| 707 | try { |
| 708 | main(0, 1); |
| 709 | assertUnreachable(); |
| 710 | } catch(e) { |
| 711 | assertMatches(/RuntimeError: divide by zero/, e.stack); |
| 712 | let expected_entries = [ |
| 713 | // [name, index, offset] |
| 714 | ['callee', '' + callee.index, '0x8c'], |
| 715 | ['main', '' + caller.index, '0xaa'], |
| 716 | ]; |
| 717 | CheckCallStack(e, expected_entries); |
| 718 | } |
| 719 | } |
| 720 | |
| 721 | function CheckCallStack(error, expected_entries) { |
| 722 | print(error.stack); |
no test coverage detected
searching dependent graphs…