cf4adddbfa
protocol::HashMap(std::unordered_map)::iterator doesn't provide any guarantees about iteration order. At least Visual C++ from vS 2015 and clang compile for loop inside forEachSession differently. For tests we need stable order of iteration, so let's use std::map instead. R=dgozman@chromium.org Bug: none Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel Change-Id: I329cb24cd182baa86c0ea4a526257856718f32b1 Reviewed-on: https://chromium-review.googlesource.com/609489 Reviewed-by: Dmitry Gozman <dgozman@chromium.org> Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Cr-Commit-Position: refs/heads/master@{#47281}
278 lines
7.0 KiB
Plaintext
278 lines
7.0 KiB
Plaintext
Tests that all sessions get exception notifications.
|
|
Throwing in 2
|
|
Throwing in 1
|
|
Throwing in setTimeout 1
|
|
From session 1
|
|
{
|
|
method : Runtime.exceptionThrown
|
|
params : {
|
|
exceptionDetails : {
|
|
columnNumber : 19
|
|
exception : {
|
|
type : string
|
|
value : error3
|
|
}
|
|
exceptionId : <exceptionId>
|
|
executionContextId : <executionContextId>
|
|
lineNumber : 0
|
|
stackTrace : {
|
|
callFrames : [
|
|
[0] : {
|
|
columnNumber : 19
|
|
functionName : setTimeout
|
|
lineNumber : 0
|
|
scriptId : <scriptId>
|
|
url :
|
|
}
|
|
]
|
|
}
|
|
text : Uncaught error3
|
|
}
|
|
timestamp : <timestamp>
|
|
}
|
|
}
|
|
From session 2
|
|
{
|
|
method : Runtime.exceptionThrown
|
|
params : {
|
|
exceptionDetails : {
|
|
columnNumber : 19
|
|
exception : {
|
|
type : string
|
|
value : error3
|
|
}
|
|
exceptionId : <exceptionId>
|
|
executionContextId : <executionContextId>
|
|
lineNumber : 0
|
|
stackTrace : {
|
|
callFrames : [
|
|
[0] : {
|
|
columnNumber : 19
|
|
functionName : setTimeout
|
|
lineNumber : 0
|
|
scriptId : <scriptId>
|
|
url :
|
|
}
|
|
]
|
|
}
|
|
text : Uncaught error3
|
|
}
|
|
timestamp : <timestamp>
|
|
}
|
|
}
|
|
Throwing in setTimeout 2
|
|
From session 1
|
|
{
|
|
method : Runtime.exceptionThrown
|
|
params : {
|
|
exceptionDetails : {
|
|
columnNumber : 19
|
|
exception : {
|
|
type : string
|
|
value : error4
|
|
}
|
|
exceptionId : <exceptionId>
|
|
executionContextId : <executionContextId>
|
|
lineNumber : 0
|
|
stackTrace : {
|
|
callFrames : [
|
|
[0] : {
|
|
columnNumber : 19
|
|
functionName : setTimeout
|
|
lineNumber : 0
|
|
scriptId : <scriptId>
|
|
url :
|
|
}
|
|
]
|
|
}
|
|
text : Uncaught error4
|
|
}
|
|
timestamp : <timestamp>
|
|
}
|
|
}
|
|
From session 2
|
|
{
|
|
method : Runtime.exceptionThrown
|
|
params : {
|
|
exceptionDetails : {
|
|
columnNumber : 19
|
|
exception : {
|
|
type : string
|
|
value : error4
|
|
}
|
|
exceptionId : <exceptionId>
|
|
executionContextId : <executionContextId>
|
|
lineNumber : 0
|
|
stackTrace : {
|
|
callFrames : [
|
|
[0] : {
|
|
columnNumber : 19
|
|
functionName : setTimeout
|
|
lineNumber : 0
|
|
scriptId : <scriptId>
|
|
url :
|
|
}
|
|
]
|
|
}
|
|
text : Uncaught error4
|
|
}
|
|
timestamp : <timestamp>
|
|
}
|
|
}
|
|
Rejecting in 2
|
|
From session 1
|
|
{
|
|
method : Runtime.exceptionThrown
|
|
params : {
|
|
exceptionDetails : {
|
|
columnNumber : 40
|
|
exception : {
|
|
type : string
|
|
value : error5
|
|
}
|
|
exceptionId : <exceptionId>
|
|
executionContextId : <executionContextId>
|
|
lineNumber : 0
|
|
stackTrace : {
|
|
callFrames : [
|
|
[0] : {
|
|
columnNumber : 40
|
|
functionName : setTimeout
|
|
lineNumber : 0
|
|
scriptId : <scriptId>
|
|
url :
|
|
}
|
|
]
|
|
}
|
|
text : Uncaught error5
|
|
}
|
|
timestamp : <timestamp>
|
|
}
|
|
}
|
|
From session 2
|
|
{
|
|
method : Runtime.exceptionThrown
|
|
params : {
|
|
exceptionDetails : {
|
|
columnNumber : 40
|
|
exception : {
|
|
type : string
|
|
value : error5
|
|
}
|
|
exceptionId : <exceptionId>
|
|
executionContextId : <executionContextId>
|
|
lineNumber : 0
|
|
stackTrace : {
|
|
callFrames : [
|
|
[0] : {
|
|
columnNumber : 40
|
|
functionName : setTimeout
|
|
lineNumber : 0
|
|
scriptId : <scriptId>
|
|
url :
|
|
}
|
|
]
|
|
}
|
|
text : Uncaught error5
|
|
}
|
|
timestamp : <timestamp>
|
|
}
|
|
}
|
|
Revoking in 2
|
|
From session 1
|
|
{
|
|
method : Runtime.exceptionRevoked
|
|
params : {
|
|
exceptionId : <exceptionId>
|
|
reason : Handler added to rejected promise
|
|
}
|
|
}
|
|
id matching: true
|
|
From session 2
|
|
{
|
|
method : Runtime.exceptionRevoked
|
|
params : {
|
|
exceptionId : <exceptionId>
|
|
reason : Handler added to rejected promise
|
|
}
|
|
}
|
|
id matching: true
|
|
Rejecting in 1
|
|
From session 1
|
|
{
|
|
method : Runtime.exceptionThrown
|
|
params : {
|
|
exceptionDetails : {
|
|
columnNumber : 40
|
|
exception : {
|
|
type : string
|
|
value : error6
|
|
}
|
|
exceptionId : <exceptionId>
|
|
executionContextId : <executionContextId>
|
|
lineNumber : 0
|
|
stackTrace : {
|
|
callFrames : [
|
|
[0] : {
|
|
columnNumber : 40
|
|
functionName : setTimeout
|
|
lineNumber : 0
|
|
scriptId : <scriptId>
|
|
url :
|
|
}
|
|
]
|
|
}
|
|
text : Uncaught error6
|
|
}
|
|
timestamp : <timestamp>
|
|
}
|
|
}
|
|
From session 2
|
|
{
|
|
method : Runtime.exceptionThrown
|
|
params : {
|
|
exceptionDetails : {
|
|
columnNumber : 40
|
|
exception : {
|
|
type : string
|
|
value : error6
|
|
}
|
|
exceptionId : <exceptionId>
|
|
executionContextId : <executionContextId>
|
|
lineNumber : 0
|
|
stackTrace : {
|
|
callFrames : [
|
|
[0] : {
|
|
columnNumber : 40
|
|
functionName : setTimeout
|
|
lineNumber : 0
|
|
scriptId : <scriptId>
|
|
url :
|
|
}
|
|
]
|
|
}
|
|
text : Uncaught error6
|
|
}
|
|
timestamp : <timestamp>
|
|
}
|
|
}
|
|
Revoking in 1
|
|
From session 1
|
|
{
|
|
method : Runtime.exceptionRevoked
|
|
params : {
|
|
exceptionId : <exceptionId>
|
|
reason : Handler added to rejected promise
|
|
}
|
|
}
|
|
id matching: true
|
|
From session 2
|
|
{
|
|
method : Runtime.exceptionRevoked
|
|
params : {
|
|
exceptionId : <exceptionId>
|
|
reason : Handler added to rejected promise
|
|
}
|
|
}
|
|
id matching: true
|