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

Side by Side Diff: test/inspector/protocol-test.js

Issue 2574803002: [inspector] add async instrumentation for setTimeout in tests (Closed)
Patch Set: addressed comments Created 4 years 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
« no previous file with comments | « test/inspector/inspector-test.cc ('k') | test/inspector/task-runner.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 the V8 project authors. All rights reserved. 1 // Copyright 2016 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 InspectorTest = {}; 5 InspectorTest = {};
6 InspectorTest._dispatchTable = new Map(); 6 InspectorTest._dispatchTable = new Map();
7 InspectorTest._requestId = 0; 7 InspectorTest._requestId = 0;
8 InspectorTest._dumpInspectorProtocolMessages = false; 8 InspectorTest._dumpInspectorProtocolMessages = false;
9 InspectorTest._eventHandler = {}; 9 InspectorTest._eventHandler = {};
10 10
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
94 lines.push(firstLinePrefix + "["); 94 lines.push(firstLinePrefix + "[");
95 for (var i = 0; i < object.length; ++i) 95 for (var i = 0; i < object.length; ++i)
96 dumpValue(object[i], " " + prefix, " " + prefix + "[" + i + "] : "); 96 dumpValue(object[i], " " + prefix, " " + prefix + "[" + i + "] : ");
97 lines.push(prefix + "]"); 97 lines.push(prefix + "]");
98 } 98 }
99 99
100 dumpValue(object, "", title || ""); 100 dumpValue(object, "", title || "");
101 InspectorTest.log(lines.join("\n")); 101 InspectorTest.log(lines.join("\n"));
102 } 102 }
103 103
104 InspectorTest.logCallFrames = function(callFrames)
105 {
106 for (var frame of callFrames) {
107 var functionName = frame.functionName || '(anonymous)';
108 var url = frame.url ? frame.url : InspectorTest._scriptMap.get(frame.locatio n.scriptId).url;
109 var lineNumber = frame.location ? frame.location.lineNumber : frame.lineNumb er;
110 var columnNumber = frame.location ? frame.location.columnNumber : frame.colu mnNumber;
111 InspectorTest.log(`${functionName} (${url}:${lineNumber}:${columnNumber})`);
112 }
113 }
114
104 InspectorTest.completeTest = function() 115 InspectorTest.completeTest = function()
105 { 116 {
106 Protocol.Debugger.disable().then(() => quit()); 117 Protocol.Debugger.disable().then(() => quit());
107 } 118 }
108 119
109 InspectorTest.completeTestAfterPendingTimeouts = function() 120 InspectorTest.completeTestAfterPendingTimeouts = function()
110 { 121 {
111 Protocol.Runtime.evaluate({ 122 Protocol.Runtime.evaluate({
112 expression: "new Promise(resolve => setTimeout(resolve, 0))", 123 expression: "new Promise(resolve => setTimeout(resolve, 0))",
113 awaitPromise: true }).then(InspectorTest.completeTest); 124 awaitPromise: true }).then(InspectorTest.completeTest);
114 } 125 }
115 126
116 InspectorTest.addScript = (string) => compileAndRunWithOrigin(string, "", 0, 0); 127 InspectorTest.addScript = (string, lineOffset, columnOffset) => compileAndRunWit hOrigin(string, "", lineOffset || 0, columnOffset || 0);
117 InspectorTest.addScriptWithUrl = (string, url) => compileAndRunWithOrigin(string , url, 0, 0); 128 InspectorTest.addScriptWithUrl = (string, url) => compileAndRunWithOrigin(string , url, 0, 0);
118 129
119 InspectorTest.startDumpingProtocolMessages = function() 130 InspectorTest.startDumpingProtocolMessages = function()
120 { 131 {
121 InspectorTest._dumpInspectorProtocolMessages = true; 132 InspectorTest._dumpInspectorProtocolMessages = true;
122 } 133 }
123 134
124 InspectorTest.sendRawCommand = function(requestId, command, handler) 135 InspectorTest.sendRawCommand = function(requestId, command, handler)
125 { 136 {
126 if (InspectorTest._dumpInspectorProtocolMessages) 137 if (InspectorTest._dumpInspectorProtocolMessages)
127 print("frontend: " + command); 138 print("frontend: " + command);
128 InspectorTest._dispatchTable.set(requestId, handler); 139 InspectorTest._dispatchTable.set(requestId, handler);
129 sendMessageToBackend(command); 140 sendMessageToBackend(command);
130 } 141 }
131 142
132 InspectorTest.checkExpectation = function(fail, name, messageObject) 143 InspectorTest.checkExpectation = function(fail, name, messageObject)
133 { 144 {
134 if (fail === !!messageObject.error) { 145 if (fail === !!messageObject.error) {
135 InspectorTest.log("PASS: " + name); 146 InspectorTest.log("PASS: " + name);
136 return true; 147 return true;
137 } 148 }
138 149
139 InspectorTest.log("FAIL: " + name + ": " + JSON.stringify(messageObject)); 150 InspectorTest.log("FAIL: " + name + ": " + JSON.stringify(messageObject));
140 InspectorTest.completeTest(); 151 InspectorTest.completeTest();
141 return false; 152 return false;
142 } 153 }
143 InspectorTest.expectedSuccess = InspectorTest.checkExpectation.bind(null, false) ; 154 InspectorTest.expectedSuccess = InspectorTest.checkExpectation.bind(null, false) ;
144 InspectorTest.expectedError = InspectorTest.checkExpectation.bind(null, true); 155 InspectorTest.expectedError = InspectorTest.checkExpectation.bind(null, true);
145 156
157 InspectorTest.setupScriptMap = function() {
158 if (InspectorTest._scriptMap)
159 return;
160 InspectorTest._scriptMap = new Map();
161 }
162
146 InspectorTest.runTestSuite = function(testSuite) 163 InspectorTest.runTestSuite = function(testSuite)
147 { 164 {
148 function nextTest() 165 function nextTest()
149 { 166 {
150 if (!testSuite.length) { 167 if (!testSuite.length) {
151 InspectorTest.completeTest(); 168 InspectorTest.completeTest();
152 return; 169 return;
153 } 170 }
154 var fun = testSuite.shift(); 171 var fun = testSuite.shift();
155 InspectorTest.log("\nRunning test: " + fun.name); 172 InspectorTest.log("\nRunning test: " + fun.name);
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
187 var messageId = messageObject["id"]; 204 var messageId = messageObject["id"];
188 if (typeof messageId === "number") { 205 if (typeof messageId === "number") {
189 var handler = InspectorTest._dispatchTable.get(messageId); 206 var handler = InspectorTest._dispatchTable.get(messageId);
190 if (handler) { 207 if (handler) {
191 handler(messageObject); 208 handler(messageObject);
192 InspectorTest._dispatchTable.delete(messageId); 209 InspectorTest._dispatchTable.delete(messageId);
193 } 210 }
194 } else { 211 } else {
195 var eventName = messageObject["method"]; 212 var eventName = messageObject["method"];
196 var eventHandler = InspectorTest._eventHandler[eventName]; 213 var eventHandler = InspectorTest._eventHandler[eventName];
214 if (InspectorTest._scriptMap && eventName === "Debugger.scriptParsed")
215 InspectorTest._scriptMap.set(messageObject.params.scriptId, JSON.parse(J SON.stringify(messageObject.params)));
197 if (eventHandler) 216 if (eventHandler)
198 eventHandler(messageObject); 217 eventHandler(messageObject);
199 } 218 }
200 } catch (e) { 219 } catch (e) {
201 InspectorTest.log("Exception when dispatching message: " + e + "\n" + e.stac k + "\n message = " + JSON.stringify(messageObject, null, 2)); 220 InspectorTest.log("Exception when dispatching message: " + e + "\n" + e.stac k + "\n message = " + JSON.stringify(messageObject, null, 2));
202 InspectorTest.completeTest(); 221 InspectorTest.completeTest();
203 } 222 }
204 } 223 }
OLDNEW
« no previous file with comments | « test/inspector/inspector-test.cc ('k') | test/inspector/task-runner.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698