Test async stack traces with wasm jspi

Running test: testAsyncStackTracesOnPauseAndError
Testing async callstacks in JSPI with test function testSimple
console: Error location: Error
    at doPause (test.js:45:34)
    at testSimple (test.js:71:3)
    at js_func (test.js:25:18)
    at wrappedWasm (wasm://wasm/2a184bf2:wasm-function[1]:0x47)
    at threeTimes (wasm://wasm/2a184bf2:wasm-function[2]:0x4e)
    at wrapperFunc (test.js:36:15)
    at test_framework.js:1:1

Debugger paused on debugger statement
doPause (test.js:45:2)
testSimple (test.js:70:2)
js_func (test.js:24:17)
$wrappedWasm (wasm://wasm/2a184bf2:0:71)
$threeTimes (wasm://wasm/2a184bf2:0:78)
wrapperFunc (test.js:35:14)
(anonymous) (test_framework.js:0:0)

console: Suspending wrapperFunc
console: Error location: Error
    at doPause (test.js:45:34)
    at testSimple (test.js:71:3)
    at js_func (test.js:25:18)
    at wrappedWasm (wasm://wasm/2a184bf2:wasm-function[1]:0x47)
    at threeTimes (wasm://wasm/2a184bf2:wasm-function[2]:0x52)
    at async wrapperFunc (test.js:38:12)

Debugger paused on debugger statement
doPause (test.js:45:2)
testSimple (test.js:70:2)
js_func (test.js:24:17)
$wrappedWasm (wasm://wasm/2a184bf2:0:71)
$threeTimes (wasm://wasm/2a184bf2:0:82)

console: Error location: Error
    at doPause (test.js:45:34)
    at testSimple (test.js:71:3)
    at js_func (test.js:25:18)
    at wrappedWasm (wasm://wasm/2a184bf2:wasm-function[1]:0x47)
    at threeTimes (wasm://wasm/2a184bf2:wasm-function[2]:0x56)
    at async wrapperFunc (test.js:38:12)

Debugger paused on debugger statement
doPause (test.js:45:2)
testSimple (test.js:70:2)
js_func (test.js:24:17)
$wrappedWasm (wasm://wasm/2a184bf2:0:71)
$threeTimes (wasm://wasm/2a184bf2:0:86)

Returned result {"result":{"type":"number","value":3,"description":"3"}}

Testing async callstacks in JSPI with test function testSetTimeout
console: Suspending wrapperFunc
console: Error location: Error
    at doPause (test.js:45:34)
    at testSetTimeout (test.js:77:3)
    at async js_func (test.js:25:12)

Debugger paused on debugger statement
doPause (test.js:45:2)
testSetTimeout (test.js:76:2)
-- await --
js_func (test.js:24:17)
$wrappedWasm (wasm://wasm/2a184bf2:0:71)
$threeTimes (wasm://wasm/2a184bf2:0:78)
wrapperFunc (test.js:35:14)
(anonymous) (test_framework.js:0:0)

console: Error location: Error
    at doPause (test.js:45:34)
    at testSetTimeout (test.js:77:3)
    at async js_func (test.js:25:12)

Debugger paused on debugger statement
doPause (test.js:45:2)
testSetTimeout (test.js:76:2)
-- await --
js_func (test.js:24:17)
$wrappedWasm (wasm://wasm/2a184bf2:0:71)
$threeTimes (wasm://wasm/2a184bf2:0:82)
-- setTimeout --
result (test.js:75:40)
testSetTimeout (test.js:75:23)
js_func (test.js:24:17)
$wrappedWasm (wasm://wasm/2a184bf2:0:71)
$threeTimes (wasm://wasm/2a184bf2:0:78)
wrapperFunc (test.js:35:14)
(anonymous) (test_framework.js:0:0)

console: Error location: Error
    at doPause (test.js:45:34)
    at testSetTimeout (test.js:77:3)
    at async js_func (test.js:25:12)

Debugger paused on debugger statement
doPause (test.js:45:2)
testSetTimeout (test.js:76:2)
-- await --
js_func (test.js:24:17)
$wrappedWasm (wasm://wasm/2a184bf2:0:71)
$threeTimes (wasm://wasm/2a184bf2:0:86)
-- setTimeout --
result (test.js:75:40)
testSetTimeout (test.js:75:23)
js_func (test.js:24:17)
$wrappedWasm (wasm://wasm/2a184bf2:0:71)
$threeTimes (wasm://wasm/2a184bf2:0:82)
-- setTimeout --
result (test.js:75:40)
testSetTimeout (test.js:75:23)
js_func (test.js:24:17)
$wrappedWasm (wasm://wasm/2a184bf2:0:71)
$threeTimes (wasm://wasm/2a184bf2:0:78)
wrapperFunc (test.js:35:14)
(anonymous) (test_framework.js:0:0)

Returned result {"result":{"type":"number","value":3,"description":"3"}}

Testing async callstacks in JSPI with test function testDoubleNested
console: Error location: Error
    at doPause (test.js:45:34)
    at innerPause (test.js:84:5)
    at js_func (test.js:25:18)
    at wrappedWasm (wasm://wasm/2a184bf2:wasm-function[1]:0x47)
    at threeTimes (wasm://wasm/2a184bf2:wasm-function[2]:0x4e)
    at wrapperFunc (test.js:36:15)
    at testDoubleNested (test.js:92:11)
    at js_func (test.js:25:18)
    at wrappedWasm (wasm://wasm/2a184bf2:wasm-function[1]:0x47)
    at threeTimes (wasm://wasm/2a184bf2:wasm-function[2]:0x4e)
    at wrapperFunc (test.js:36:15)
    at test_framework.js:1:1

Debugger paused on debugger statement
doPause (test.js:45:2)
innerPause (test.js:83:4)
js_func (test.js:24:17)
$wrappedWasm (wasm://wasm/2a184bf2:0:71)
$threeTimes (wasm://wasm/2a184bf2:0:78)
wrapperFunc (test.js:35:14)
testDoubleNested (test.js:91:10)
js_func (test.js:24:17)
$wrappedWasm (wasm://wasm/2a184bf2:0:71)
$threeTimes (wasm://wasm/2a184bf2:0:78)
wrapperFunc (test.js:35:14)
(anonymous) (test_framework.js:0:0)

console: Suspending wrapperFunc
console: Suspending wrapperFunc
console: Error location: Error
    at doPause (test.js:45:34)
    at innerPause (test.js:86:5)
    at async js_func (test.js:25:12)

Debugger paused on debugger statement
doPause (test.js:45:2)
innerPause (test.js:85:4)
-- await --
js_func (test.js:24:17)
$wrappedWasm (wasm://wasm/2a184bf2:0:71)
$threeTimes (wasm://wasm/2a184bf2:0:78)
wrapperFunc (test.js:35:14)
testDoubleNested (test.js:91:10)
js_func (test.js:24:17)
$wrappedWasm (wasm://wasm/2a184bf2:0:71)
$threeTimes (wasm://wasm/2a184bf2:0:78)
wrapperFunc (test.js:35:14)
(anonymous) (test_framework.js:0:0)

Debugger paused on caught exception
innerPause (test.js:87:4)
-- await --
js_func (test.js:24:17)
$wrappedWasm (wasm://wasm/2a184bf2:0:71)
$threeTimes (wasm://wasm/2a184bf2:0:78)
wrapperFunc (test.js:35:14)
testDoubleNested (test.js:91:10)
js_func (test.js:24:17)
$wrappedWasm (wasm://wasm/2a184bf2:0:71)
$threeTimes (wasm://wasm/2a184bf2:0:78)
wrapperFunc (test.js:35:14)
(anonymous) (test_framework.js:0:0)

console: Error location: Error
    at doPause (test.js:45:34)
    at innerPause (test.js:84:5)
    at js_func (test.js:25:18)
    at wrappedWasm (wasm://wasm/2a184bf2:wasm-function[1]:0x47)
    at threeTimes (wasm://wasm/2a184bf2:wasm-function[2]:0x4e)
    at wrapperFunc (test.js:36:15)
    at testDoubleNested (test.js:92:11)
    at js_func (test.js:25:18)
    at wrappedWasm (wasm://wasm/2a184bf2:wasm-function[1]:0x47)
    at threeTimes (wasm://wasm/2a184bf2:wasm-function[2]:0x52)
    at async wrapperFunc (test.js:38:12)

Debugger paused on debugger statement
doPause (test.js:45:2)
innerPause (test.js:83:4)
js_func (test.js:24:17)
$wrappedWasm (wasm://wasm/2a184bf2:0:71)
$threeTimes (wasm://wasm/2a184bf2:0:78)
wrapperFunc (test.js:35:14)
testDoubleNested (test.js:91:10)
js_func (test.js:24:17)
$wrappedWasm (wasm://wasm/2a184bf2:0:71)
$threeTimes (wasm://wasm/2a184bf2:0:82)

console: Suspending wrapperFunc
console: Error location: Error
    at doPause (test.js:45:34)
    at innerPause (test.js:86:5)
    at async js_func (test.js:25:12)

Debugger paused on debugger statement
doPause (test.js:45:2)
innerPause (test.js:85:4)
-- await --
js_func (test.js:24:17)
$wrappedWasm (wasm://wasm/2a184bf2:0:71)
$threeTimes (wasm://wasm/2a184bf2:0:78)
wrapperFunc (test.js:35:14)
testDoubleNested (test.js:91:10)
js_func (test.js:24:17)
$wrappedWasm (wasm://wasm/2a184bf2:0:71)
$threeTimes (wasm://wasm/2a184bf2:0:82)

Debugger paused on caught exception
innerPause (test.js:87:4)
-- await --
js_func (test.js:24:17)
$wrappedWasm (wasm://wasm/2a184bf2:0:71)
$threeTimes (wasm://wasm/2a184bf2:0:78)
wrapperFunc (test.js:35:14)
testDoubleNested (test.js:91:10)
js_func (test.js:24:17)
$wrappedWasm (wasm://wasm/2a184bf2:0:71)
$threeTimes (wasm://wasm/2a184bf2:0:82)

console: Error location: Error
    at doPause (test.js:45:34)
    at innerPause (test.js:84:5)
    at js_func (test.js:25:18)
    at wrappedWasm (wasm://wasm/2a184bf2:wasm-function[1]:0x47)
    at threeTimes (wasm://wasm/2a184bf2:wasm-function[2]:0x4e)
    at wrapperFunc (test.js:36:15)
    at testDoubleNested (test.js:92:11)
    at js_func (test.js:25:18)
    at wrappedWasm (wasm://wasm/2a184bf2:wasm-function[1]:0x47)
    at threeTimes (wasm://wasm/2a184bf2:wasm-function[2]:0x56)
    at async wrapperFunc (test.js:38:12)

Debugger paused on debugger statement
doPause (test.js:45:2)
innerPause (test.js:83:4)
js_func (test.js:24:17)
$wrappedWasm (wasm://wasm/2a184bf2:0:71)
$threeTimes (wasm://wasm/2a184bf2:0:78)
wrapperFunc (test.js:35:14)
testDoubleNested (test.js:91:10)
js_func (test.js:24:17)
$wrappedWasm (wasm://wasm/2a184bf2:0:71)
$threeTimes (wasm://wasm/2a184bf2:0:86)

console: Suspending wrapperFunc
console: Error location: Error
    at doPause (test.js:45:34)
    at innerPause (test.js:86:5)
    at async js_func (test.js:25:12)

Debugger paused on debugger statement
doPause (test.js:45:2)
innerPause (test.js:85:4)
-- await --
js_func (test.js:24:17)
$wrappedWasm (wasm://wasm/2a184bf2:0:71)
$threeTimes (wasm://wasm/2a184bf2:0:78)
wrapperFunc (test.js:35:14)
testDoubleNested (test.js:91:10)
js_func (test.js:24:17)
$wrappedWasm (wasm://wasm/2a184bf2:0:71)
$threeTimes (wasm://wasm/2a184bf2:0:86)

Debugger paused on caught exception
innerPause (test.js:87:4)
-- await --
js_func (test.js:24:17)
$wrappedWasm (wasm://wasm/2a184bf2:0:71)
$threeTimes (wasm://wasm/2a184bf2:0:78)
wrapperFunc (test.js:35:14)
testDoubleNested (test.js:91:10)
js_func (test.js:24:17)
$wrappedWasm (wasm://wasm/2a184bf2:0:71)
$threeTimes (wasm://wasm/2a184bf2:0:86)

Returned result {"result":{"type":"number","value":3,"description":"3"}}


Running test: testAsyncStackTracesWithSwitching
Testing async callstacks in JSPI with stack switching
console: Error location: Error
    at doPause (test.js:45:34)
    at testSimple (test.js:71:3)
    at js_func (test.js:25:18)
    at wrappedWasm (wasm://wasm/2a184bf2:wasm-function[1]:0x47)
    at threeTimes (wasm://wasm/2a184bf2:wasm-function[2]:0x4e)
    at wrapperFunc (test.js:36:15)
    at thread1 (test.js:56:18)
    at testStackSwitching (test.js:66:37)
    at test_framework.js:1:1

Debugger paused on debugger statement
doPause (test.js:45:2)
testSimple (test.js:70:2)
js_func (test.js:24:17)
$wrappedWasm (wasm://wasm/2a184bf2:0:71)
$threeTimes (wasm://wasm/2a184bf2:0:78)
wrapperFunc (test.js:35:14)
thread1 (test.js:55:17)
testStackSwitching (test.js:65:36)
(anonymous) (test_framework.js:0:0)

console: Suspending wrapperFunc
console: Error location: Error
    at doPause (test.js:45:34)
    at alsoSimple (test.js:52:5)
    at js_func (test.js:25:18)
    at wrappedWasm (wasm://wasm/2a184bf2:wasm-function[1]:0x47)
    at threeTimes (wasm://wasm/2a184bf2:wasm-function[2]:0x4e)
    at wrapperFunc (test.js:36:15)
    at thread2 (test.js:59:18)
    at testStackSwitching (test.js:66:48)
    at test_framework.js:1:1

Debugger paused on debugger statement
doPause (test.js:45:2)
alsoSimple (test.js:51:4)
js_func (test.js:24:17)
$wrappedWasm (wasm://wasm/2a184bf2:0:71)
$threeTimes (wasm://wasm/2a184bf2:0:78)
wrapperFunc (test.js:35:14)
thread2 (test.js:58:17)
testStackSwitching (test.js:65:47)
(anonymous) (test_framework.js:0:0)

console: Suspending wrapperFunc
console: Error location: Error
    at doPause (test.js:45:34)
    at testSimple (test.js:71:3)
    at thread3 (test.js:63:18)
    at async Promise.all (index 2)
    at async testStackSwitching (test.js:66:18)

Debugger paused on debugger statement
doPause (test.js:45:2)
testSimple (test.js:70:2)
thread3 (test.js:62:17)
-- await --
testStackSwitching (test.js:65:58)
(anonymous) (test_framework.js:0:0)

console: Error location: Error
    at doPause (test.js:45:34)
    at testSimple (test.js:71:3)
    at js_func (test.js:25:18)
    at wrappedWasm (wasm://wasm/2a184bf2:wasm-function[1]:0x47)
    at threeTimes (wasm://wasm/2a184bf2:wasm-function[2]:0x52)
    at async wrapperFunc (test.js:38:12)
    at async thread1 (test.js:56:12)
    at async Promise.all (index 0)
    at async testStackSwitching (test.js:66:18)

Debugger paused on debugger statement
doPause (test.js:45:2)
testSimple (test.js:70:2)
js_func (test.js:24:17)
$wrappedWasm (wasm://wasm/2a184bf2:0:71)
$threeTimes (wasm://wasm/2a184bf2:0:82)

console: Error location: Error
    at doPause (test.js:45:34)
    at alsoSimple (test.js:52:5)
    at js_func (test.js:25:18)
    at wrappedWasm (wasm://wasm/2a184bf2:wasm-function[1]:0x47)
    at threeTimes (wasm://wasm/2a184bf2:wasm-function[2]:0x52)
    at async wrapperFunc (test.js:38:12)
    at async thread2 (test.js:59:12)
    at async Promise.all (index 1)
    at async testStackSwitching (test.js:66:18)

Debugger paused on debugger statement
doPause (test.js:45:2)
alsoSimple (test.js:51:4)
js_func (test.js:24:17)
$wrappedWasm (wasm://wasm/2a184bf2:0:71)
$threeTimes (wasm://wasm/2a184bf2:0:82)

console: Error location: Error
    at doPause (test.js:45:34)
    at testSimple (test.js:71:3)
    at thread3 (test.js:63:39)
    at async Promise.all (index 2)
    at async testStackSwitching (test.js:66:18)

Debugger paused on debugger statement
doPause (test.js:45:2)
testSimple (test.js:70:2)
thread3 (test.js:62:38)
-- await --
testStackSwitching (test.js:65:58)
(anonymous) (test_framework.js:0:0)

console: Error location: Error
    at doPause (test.js:45:34)
    at testSimple (test.js:71:3)
    at thread3 (test.js:63:60)
    at async Promise.all (index 2)
    at async testStackSwitching (test.js:66:18)

Debugger paused on debugger statement
doPause (test.js:45:2)
testSimple (test.js:70:2)
thread3 (test.js:62:59)
-- await --
testStackSwitching (test.js:65:58)
(anonymous) (test_framework.js:0:0)

console: Error location: Error
    at doPause (test.js:45:34)
    at testSimple (test.js:71:3)
    at js_func (test.js:25:18)
    at wrappedWasm (wasm://wasm/2a184bf2:wasm-function[1]:0x47)
    at threeTimes (wasm://wasm/2a184bf2:wasm-function[2]:0x56)
    at async wrapperFunc (test.js:38:12)
    at async thread1 (test.js:56:12)
    at async Promise.all (index 0)
    at async testStackSwitching (test.js:66:18)

Debugger paused on debugger statement
doPause (test.js:45:2)
testSimple (test.js:70:2)
js_func (test.js:24:17)
$wrappedWasm (wasm://wasm/2a184bf2:0:71)
$threeTimes (wasm://wasm/2a184bf2:0:86)

console: Error location: Error
    at doPause (test.js:45:34)
    at alsoSimple (test.js:52:5)
    at js_func (test.js:25:18)
    at wrappedWasm (wasm://wasm/2a184bf2:wasm-function[1]:0x47)
    at threeTimes (wasm://wasm/2a184bf2:wasm-function[2]:0x56)
    at async wrapperFunc (test.js:38:12)
    at async thread2 (test.js:59:12)
    at async Promise.all (index 1)
    at async testStackSwitching (test.js:66:18)

Debugger paused on debugger statement
doPause (test.js:45:2)
alsoSimple (test.js:51:4)
js_func (test.js:24:17)
$wrappedWasm (wasm://wasm/2a184bf2:0:71)
$threeTimes (wasm://wasm/2a184bf2:0:86)

Returned result {"result":{"type":"string","value":"3,6,3"}}


Running test: testCatchPrediction
Testing catch prediction through JSPI throwing from testSyncThrow to testCatch
Debugger paused on caught exception
testSyncThrow (test.js:97:2)
js_func (test.js:24:17)
$wrappedWasm (wasm://wasm/2a184bf2:0:71)
$threeTimes (wasm://wasm/2a184bf2:0:78)
wrapperFunc (test.js:35:14)
testCatch (test.js:116:10)
(anonymous) (test_framework.js:0:0)

console: Suspending wrapperFunc
console: caught: fail
Returned result {"result":{"type":"undefined"}}

Testing catch prediction through JSPI throwing from testAsyncThrow to testCatch
console: Suspending wrapperFunc
Debugger paused on caught exception
testAsyncThrow (test.js:102:2)
-- await --
js_func (test.js:24:17)
$wrappedWasm (wasm://wasm/2a184bf2:0:71)
$threeTimes (wasm://wasm/2a184bf2:0:78)
wrapperFunc (test.js:35:14)
testCatch (test.js:116:10)
(anonymous) (test_framework.js:0:0)

console: caught: fail
Returned result {"result":{"type":"undefined"}}

Testing catch prediction through JSPI throwing from testSyncThrowAfterResume to testCatch
console: Suspending wrapperFunc
Debugger paused on caught exception
testSyncThrowAfterResume (test.js:110:4)
js_func (test.js:24:17)
$wrappedWasm (wasm://wasm/2a184bf2:0:71)
$threeTimes (wasm://wasm/2a184bf2:0:82)

console: caught: fail
Returned result {"result":{"type":"undefined"}}

Testing catch prediction through JSPI throwing from testSyncThrow to testDontCatch
Debugger paused on uncaught exception
testSyncThrow (test.js:97:2)
js_func (test.js:24:17)
$wrappedWasm (wasm://wasm/2a184bf2:0:71)
$threeTimes (wasm://wasm/2a184bf2:0:78)
wrapperFunc (test.js:35:14)
testDontCatch (test.js:125:2)
(anonymous) (test_framework.js:0:0)

console: Suspending wrapperFunc
Returned result {"result":{"type":"undefined"}}
Exception was not caught

Testing catch prediction through JSPI throwing from testAsyncThrow to testDontCatch
console: Suspending wrapperFunc
Debugger paused on uncaught exception
testAsyncThrow (test.js:102:2)
-- await --
js_func (test.js:24:17)
$wrappedWasm (wasm://wasm/2a184bf2:0:71)
$threeTimes (wasm://wasm/2a184bf2:0:78)
wrapperFunc (test.js:35:14)
testDontCatch (test.js:125:2)
(anonymous) (test_framework.js:0:0)

Returned result {"result":{"type":"undefined"}}
Exception was not caught

Testing catch prediction through JSPI throwing from testSyncThrowAfterResume to testDontCatch
console: Suspending wrapperFunc
Debugger paused on uncaught exception
testSyncThrowAfterResume (test.js:110:4)
js_func (test.js:24:17)
$wrappedWasm (wasm://wasm/2a184bf2:0:71)
$threeTimes (wasm://wasm/2a184bf2:0:82)

Returned result {"result":{"type":"undefined"}}
Exception was not caught

