a90f1748d2
Since the inspector does not longer hold on strongly to Script objects after they were collected by V8, this test was relying on the GC to not collect the scripts too eagerly in case where nothing else holds on to the script. So explicitly adding a global object property assignment here in those cases to ensure that the Script is kept alive. Fixed: chromium:1314212, v8:12699 Bug: chromium:1246884, chromium:1295659 Change-Id: Ia16fcf841aeb29bf131fc6fa066f120d342f94b2 Doc: https://bit.ly/v8-inspector-script-caching Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3576117 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Auto-Submit: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/main@{#79852}
289 lines
8.2 KiB
Plaintext
289 lines
8.2 KiB
Plaintext
Test for Debugger.getPossibleBreakpoints
|
|
|
|
Running test: getPossibleBreakpointsInRange
|
|
Test start.scriptId != end.scriptId.
|
|
{
|
|
error : {
|
|
code : -32000
|
|
message : Locations should contain the same scriptId
|
|
}
|
|
id : <messageId>
|
|
}
|
|
Test not existing scriptId.
|
|
{
|
|
error : {
|
|
code : -32000
|
|
message : Script not found
|
|
}
|
|
id : <messageId>
|
|
}
|
|
Test end < start.
|
|
function foo(){ return Promise.resolve(); }
|
|
function boo(){ return Promise.resolve().then(() => 42); }
|
|
|
|
|
|
Test empty range in first line.
|
|
function foo(){ return Promise.resolve(); }
|
|
function boo(){ return Promise.resolve().then(() => 42); }
|
|
|
|
|
|
Test one character range in first line.
|
|
function foo(){ #return Promise.resolve(); }
|
|
function boo(){ return Promise.resolve().then(() => 42); }
|
|
|
|
|
|
Test empty range in not first line.
|
|
function foo(){ return Promise.resolve(); }
|
|
function boo(){ return Promise.resolve().then(() => 42); }
|
|
|
|
|
|
Test one character range in not first line.
|
|
function foo(){ return Promise.resolve(); }
|
|
function boo(){ #return Promise.resolve().then(() => 42); }
|
|
|
|
|
|
Test end is undefined
|
|
function foo(){ #return Promise.#resolve();# }
|
|
function boo(){ #return Promise.#resolve().#then(() => #42#);# }
|
|
|
|
#
|
|
Test end.lineNumber > scripts.lineCount()
|
|
function foo(){ #return Promise.#resolve();# }
|
|
function boo(){ #return Promise.#resolve().#then(() => #42#);# }
|
|
|
|
|
|
Test one string
|
|
function foo(){ #return Promise.#resolve();# }
|
|
function boo(){ return Promise.resolve().then(() => 42); }
|
|
|
|
|
|
Test end.columnNumber > end.line.length(), should be the same as previous.
|
|
function foo(){ #return Promise.#resolve();# }
|
|
function boo(){ return Promise.resolve().then(() => 42); }
|
|
|
|
|
|
|
|
Running test: getPossibleBreakpointsInArrow
|
|
function foo() { #return Promise.#resolve().#then(() => #239#).#then(() => #42#).#then(() => #() => #42#)# }#
|
|
|
|
Running test: arrowFunctionFirstLine
|
|
function foo1() { #Promise.#resolve().#then(() => #42#) #}
|
|
function foo2() { Promise.resolve().then(() => 42) }
|
|
paused in foo1
|
|
function foo1() { ^Promise.resolve().then(() => 42) }
|
|
function foo2() { Promise.resolve().then(() => 42) }
|
|
paused in foo1
|
|
function foo1() { Promise.^resolve().then(() => 42) }
|
|
function foo2() { Promise.resolve().then(() => 42) }
|
|
paused in foo1
|
|
function foo1() { Promise.resolve().^then(() => 42) }
|
|
function foo2() { Promise.resolve().then(() => 42) }
|
|
paused in foo1
|
|
function foo1() { Promise.resolve().then(() => 42) ^}
|
|
function foo2() { Promise.resolve().then(() => 42) }
|
|
paused in
|
|
function foo1() { Promise.resolve().then(() => ^42) }
|
|
function foo2() { Promise.resolve().then(() => 42) }
|
|
paused in
|
|
function foo1() { Promise.resolve().then(() => 42^) }
|
|
function foo2() { Promise.resolve().then(() => 42) }
|
|
|
|
Running test: arrowFunctionOnPause
|
|
#debugger; function foo3() { #Promise.#resolve().#then(() => #42#) #}
|
|
function foo4() { #Promise.#resolve().#then(() => #42#) #};
|
|
#foo3();
|
|
#foo4();#
|
|
paused in
|
|
debugger; function foo3() { Promise.resolve().then(() => 42) }
|
|
function foo4() { Promise.resolve().then(() => 42) };
|
|
^foo3();
|
|
foo4();
|
|
paused in foo3
|
|
debugger; function foo3() { ^Promise.resolve().then(() => 42) }
|
|
function foo4() { Promise.resolve().then(() => 42) };
|
|
foo3();
|
|
foo4();
|
|
paused in foo3
|
|
debugger; function foo3() { Promise.^resolve().then(() => 42) }
|
|
function foo4() { Promise.resolve().then(() => 42) };
|
|
foo3();
|
|
foo4();
|
|
paused in foo3
|
|
debugger; function foo3() { Promise.resolve().^then(() => 42) }
|
|
function foo4() { Promise.resolve().then(() => 42) };
|
|
foo3();
|
|
foo4();
|
|
paused in foo3
|
|
debugger; function foo3() { Promise.resolve().then(() => 42) ^}
|
|
function foo4() { Promise.resolve().then(() => 42) };
|
|
foo3();
|
|
foo4();
|
|
paused in
|
|
debugger; function foo3() { Promise.resolve().then(() => 42) }
|
|
function foo4() { Promise.resolve().then(() => 42) };
|
|
foo3();
|
|
^foo4();
|
|
paused in foo4
|
|
debugger; function foo3() { Promise.resolve().then(() => 42) }
|
|
function foo4() { ^Promise.resolve().then(() => 42) };
|
|
foo3();
|
|
foo4();
|
|
paused in foo4
|
|
debugger; function foo3() { Promise.resolve().then(() => 42) }
|
|
function foo4() { Promise.^resolve().then(() => 42) };
|
|
foo3();
|
|
foo4();
|
|
paused in foo4
|
|
debugger; function foo3() { Promise.resolve().then(() => 42) }
|
|
function foo4() { Promise.resolve().^then(() => 42) };
|
|
foo3();
|
|
foo4();
|
|
paused in foo4
|
|
debugger; function foo3() { Promise.resolve().then(() => 42) }
|
|
function foo4() { Promise.resolve().then(() => 42) ^};
|
|
foo3();
|
|
foo4();
|
|
paused in
|
|
debugger; function foo3() { Promise.resolve().then(() => 42) }
|
|
function foo4() { Promise.resolve().then(() => 42) };
|
|
foo3();
|
|
foo4();^
|
|
paused in
|
|
debugger; function foo3() { Promise.resolve().then(() => ^42) }
|
|
function foo4() { Promise.resolve().then(() => 42) };
|
|
foo3();
|
|
foo4();
|
|
paused in
|
|
debugger; function foo3() { Promise.resolve().then(() => 42^) }
|
|
function foo4() { Promise.resolve().then(() => 42) };
|
|
foo3();
|
|
foo4();
|
|
paused in
|
|
debugger; function foo3() { Promise.resolve().then(() => 42) }
|
|
function foo4() { Promise.resolve().then(() => ^42) };
|
|
foo3();
|
|
foo4();
|
|
paused in
|
|
debugger; function foo3() { Promise.resolve().then(() => 42) }
|
|
function foo4() { Promise.resolve().then(() => 42^) };
|
|
foo3();
|
|
foo4();
|
|
|
|
Running test: getPossibleBreakpointsInRangeWithOffset
|
|
Test empty range in first line.
|
|
function foo(){ return Promise.resolve(); }
|
|
function boo(){ return Promise.resolve().then(() => 42); }
|
|
|
|
|
|
Test one character range in first line.
|
|
function foo(){ #return Promise.resolve(); }
|
|
function boo(){ return Promise.resolve().then(() => 42); }
|
|
|
|
|
|
Test empty range in not first line.
|
|
function foo(){ return Promise.resolve(); }
|
|
function boo(){ return Promise.resolve().then(() => 42); }
|
|
|
|
|
|
Test one character range in not first line.
|
|
function foo(){ return Promise.resolve(); }
|
|
function boo(){ #return Promise.resolve().then(() => 42); }
|
|
|
|
|
|
Test end is undefined
|
|
function foo(){ #return Promise.#resolve();# }
|
|
function boo(){ #return Promise.#resolve().#then(() => #42#);# }
|
|
|
|
#
|
|
Test end.lineNumber > scripts.lineCount()
|
|
function foo(){ #return Promise.#resolve();# }
|
|
function boo(){ #return Promise.#resolve().#then(() => #42#);# }
|
|
|
|
|
|
Test one string
|
|
function foo(){ #return Promise.#resolve();# }
|
|
function boo(){ return Promise.resolve().then(() => 42); }
|
|
|
|
|
|
Test end.columnNumber > end.line.length(), should be the same as previous.
|
|
function foo(){ #return Promise.#resolve();# }
|
|
function boo(){ return Promise.resolve().then(() => 42); }
|
|
|
|
|
|
|
|
Running test: withOffset
|
|
function foo5() { #Promise.#resolve().#then(() => #42#) #}
|
|
function foo6() { #Promise.#resolve().#then(() => #42#) #}
|
|
#
|
|
paused in foo5
|
|
function foo5() { ^Promise.resolve().then(() => 42) }
|
|
function foo6() { Promise.resolve().then(() => 42) }
|
|
|
|
paused in foo5
|
|
function foo5() { Promise.^resolve().then(() => 42) }
|
|
function foo6() { Promise.resolve().then(() => 42) }
|
|
|
|
paused in foo5
|
|
function foo5() { Promise.resolve().^then(() => 42) }
|
|
function foo6() { Promise.resolve().then(() => 42) }
|
|
|
|
paused in foo5
|
|
function foo5() { Promise.resolve().then(() => 42) ^}
|
|
function foo6() { Promise.resolve().then(() => 42) }
|
|
|
|
paused in foo6
|
|
function foo5() { Promise.resolve().then(() => 42) }
|
|
function foo6() { ^Promise.resolve().then(() => 42) }
|
|
|
|
paused in foo6
|
|
function foo5() { Promise.resolve().then(() => 42) }
|
|
function foo6() { Promise.^resolve().then(() => 42) }
|
|
|
|
paused in foo6
|
|
function foo5() { Promise.resolve().then(() => 42) }
|
|
function foo6() { Promise.resolve().^then(() => 42) }
|
|
|
|
paused in foo6
|
|
function foo5() { Promise.resolve().then(() => 42) }
|
|
function foo6() { Promise.resolve().then(() => 42) ^}
|
|
|
|
paused in
|
|
function foo5() { Promise.resolve().then(() => ^42) }
|
|
function foo6() { Promise.resolve().then(() => 42) }
|
|
|
|
paused in
|
|
function foo5() { Promise.resolve().then(() => 42^) }
|
|
function foo6() { Promise.resolve().then(() => 42) }
|
|
|
|
paused in
|
|
function foo5() { Promise.resolve().then(() => 42) }
|
|
function foo6() { Promise.resolve().then(() => ^42) }
|
|
|
|
paused in
|
|
function foo5() { Promise.resolve().then(() => 42) }
|
|
function foo6() { Promise.resolve().then(() => 42^) }
|
|
|
|
|
|
Running test: arrowFunctionReturn
|
|
#() => #239#
|
|
#
|
|
function foo() { function boo() { return 239 } #}
|
|
#
|
|
function foo() { function boo() { #return 239# }; #boo #}
|
|
#
|
|
function foo() { let boo = #function() { #return 239# }; #}
|
|
#
|
|
var foo = #() => { #239 #}
|
|
#
|
|
function foo() { #239 #}
|
|
#
|
|
var foo = #() => #239#
|
|
var foo = #() => { #return 239# }#
|
|
|
|
Running test: argumentsAsCalls
|
|
function foo(){#}
|
|
function boo(){#}
|
|
function main(f1,f2){#}
|
|
#main(#foo(), #boo());
|
|
#
|