Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5)

Side by Side Diff: test/inspector/runtime/coverage.js

Issue 2700743002: [inspector] extend protocol for code coverage. (Closed)
Patch Set: small fix Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2017 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 var source =
6 `
7 function fib(x) {
8 if (x < 2) return 1;
9 return fib(x-1) + fib(x-2);
10 }
11 (function iife() {
12 return 1;
13 })();
14 fib(5);
15 `;
16
17 print("Test collecting code coverage data with Runtime.collectCoverage.");
18
19 function ClearAndGC() {
20 return Protocol.Runtime.evaluate({ expression: "fib = null;" })
21 .then(() => Protocol.HeapProfiler.enable())
22 .then(() => Protocol.HeapProfiler.collectGarbage())
23 .then(() => Protocol.HeapProfiler.disable());
24 }
25
26 InspectorTest.runTestSuite([
27 function testPreciseCoverage(next)
28 {
29 Protocol.Runtime.enable()
30 .then(() => Protocol.Runtime.startPreciseCoverage())
31 .then(() => Protocol.Runtime.compileScript({ expression: source, sourceURL : "1", persistScript: true }))
32 .then((result) => Protocol.Runtime.runScript({ scriptId: result.result.scr iptId }))
33 .then(ClearAndGC)
34 .then((result) => InspectorTest.logMessage(result))
kozy 2017/02/21 17:57:29 .then(InspectorTest.logMessage)
35 .then(() => Protocol.Runtime.takePreciseCoverage())
36 .then((result) => InspectorTest.logMessage(result))
37 .then(ClearAndGC)
38 .then(() => Protocol.Runtime.stopPreciseCoverage())
39 .then(() => Protocol.Runtime.disable())
40 .then(() => next());
41 },
42 function testPreciseCoverageFail(next)
43 {
44 Protocol.Runtime.enable()
45 .then(() => Protocol.Runtime.compileScript({ expression: source, sourceURL : "2", persistScript: true }))
46 .then((result) => Protocol.Runtime.runScript({ scriptId: result.result.scr iptId }))
47 .then((result) => InspectorTest.logMessage(result))
48 .then(ClearAndGC)
49 .then(() => Protocol.Runtime.takePreciseCoverage())
50 .then((result) => InspectorTest.logMessage(result))
51 .then(ClearAndGC)
52 .then(() => Protocol.Runtime.disable())
53 .then(() => next());
kozy 2017/02/21 17:57:30 .then(next)
54 },
55 function testBestEffortCoverage(next)
56 {
57 Protocol.Runtime.enable()
58 .then(() => Protocol.Runtime.compileScript({ expression: source, sourceURL : "3", persistScript: true }))
59 .then((result) => Protocol.Runtime.runScript({ scriptId: result.result.scr iptId }))
60 .then((result) => InspectorTest.logMessage(result))
61 .then(ClearAndGC)
62 .then(() => Protocol.Runtime.takeBestEffortCoverage())
63 .then((result) => InspectorTest.logMessage(result))
64 .then(ClearAndGC)
65 .then(() => Protocol.Runtime.disable())
66 .then(() => next());
67 },
68 function testBestEffortCoveragePrecise(next)
69 {
70 Protocol.Runtime.enable()
71 .then(() => Protocol.Runtime.startPreciseCoverage())
72 .then(() => Protocol.Runtime.compileScript({ expression: source, sourceURL : "4", persistScript: true }))
73 .then((result) => Protocol.Runtime.runScript({ scriptId: result.result.scr iptId }))
74 .then((result) => InspectorTest.logMessage(result))
75 .then(ClearAndGC)
76 .then(() => Protocol.Runtime.takeBestEffortCoverage())
77 .then((result) => InspectorTest.logMessage(result))
78 .then(ClearAndGC)
79 .then(() => Protocol.Runtime.stopPreciseCoverage())
80 .then(() => Protocol.Runtime.disable())
81 .then(() => next());
82 },
83 ]);
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698