v8/test/inspector/debugger/terminate-execution-on-pause-expected.txt
Yang Guo 7e5cac2cf3 Make termination exception more consistent.
Termination exceptions tear down V8 to the bottom-most V8 call. If there is a
v8::TryCatch scope around that call, it returns true for HasTerminated() and
HasCaught(). However, Isolate::IsExecutionTerminating() returns false and we
can call into V8 from still inside the v8::TryCatch scope.

Changes that this patch introduces:
 - You need to leave the v8::TryCatch scope around the bottom-most call to
   reset the termination state, in order to resume.
 - Explicitly check for termination exception and reporting it through the
   DevTools protocol after Runtime.evaluate and Debugger.evaluateOnCallFrame.

Bug: v8:8455
Change-Id: I1f36f7a365985469813c2619bf16f18ee69aa4b8
Reviewed-on: https://chromium-review.googlesource.com/c/1337582
Reviewed-by: Yang Guo <yangguo@chromium.org>
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Commit-Queue: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57963}
2018-11-30 11:33:07 +00:00

61 lines
910 B
Plaintext

Tests Runtime.terminateExecution on pause
Running test: testTerminateOnDebugger
Running test: testTerminateAtBreakpoint
{
error : {
code : -32000
message : Execution was terminated
}
id : <messageId>
}
Running test: testTerminateRuntimeEvaluate
{
id : <messageId>
result : {
}
}
{
error : {
code : -32000
message : Execution was terminated
}
id : <messageId>
}
{
description : 42
type : number
value : 42
}
Running test: testTerminateRuntimeEvaluateOnCallFrame
{
id : <messageId>
result : {
result : {
description : 1
type : number
value : 1
}
}
}
{
id : <messageId>
result : {
}
}
{
error : {
code : -32000
message : Execution was terminated
}
id : <messageId>
}
{
description : 43
type : number
value : 43
}