| OLD | NEW |
| 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 // Flags: --expose-wasm | 5 // Flags: --expose-wasm |
| 6 | 6 |
| 7 load('test/mjsunit/wasm/wasm-constants.js'); | 7 load('test/mjsunit/wasm/wasm-constants.js'); |
| 8 load('test/mjsunit/wasm/wasm-module-builder.js'); | 8 load('test/mjsunit/wasm/wasm-module-builder.js'); |
| 9 | 9 |
| 10 var builder = new WasmModuleBuilder(); | 10 var builder = new WasmModuleBuilder(); |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 82 | 82 |
| 83 function printFailure(message) { | 83 function printFailure(message) { |
| 84 if (!message.result) { | 84 if (!message.result) { |
| 85 InspectorTest.logMessage(message); | 85 InspectorTest.logMessage(message); |
| 86 } | 86 } |
| 87 return message; | 87 return message; |
| 88 } | 88 } |
| 89 | 89 |
| 90 function printBreakableLocations(message, expectedScriptId, source) { | 90 function printBreakableLocations(message, expectedScriptId, source) { |
| 91 var lines = source.split('\n'); | 91 var lines = source.split('\n'); |
| 92 var locations = message.result.locations; | 92 var locations = message.result.locations.map(location => location.location); |
| 93 InspectorTest.log(locations.length + ' breakable location(s):'); | 93 InspectorTest.log(locations.length + ' breakable location(s):'); |
| 94 for (var i = 0; i < locations.length; ++i) { | 94 for (var i = 0; i < locations.length; ++i) { |
| 95 if (locations[i].scriptId != expectedScriptId) { | 95 if (locations[i].scriptId != expectedScriptId) { |
| 96 InspectorTest.log( | 96 InspectorTest.log( |
| 97 'SCRIPT ID MISMATCH!! ' + locations[i].scriptId + ' != ' + | 97 'SCRIPT ID MISMATCH!! ' + locations[i].scriptId + ' != ' + |
| 98 expectedScriptId); | 98 expectedScriptId); |
| 99 } | 99 } |
| 100 var line = '<illegal line number>'; | 100 var line = '<illegal line number>'; |
| 101 if (locations[i].lineNumber < lines.length) { | 101 if (locations[i].lineNumber < lines.length) { |
| 102 line = lines[locations[i].lineNumber]; | 102 line = lines[locations[i].lineNumber]; |
| (...skipping 12 matching lines...) Expand all Loading... |
| 115 InspectorTest.log( | 115 InspectorTest.log( |
| 116 'Requesting all breakable locations in wasm script ' + wasmScriptNr); | 116 'Requesting all breakable locations in wasm script ' + wasmScriptNr); |
| 117 var scriptId = wasmScripts[wasmScriptNr]; | 117 var scriptId = wasmScripts[wasmScriptNr]; |
| 118 var source; | 118 var source; |
| 119 return Protocol.Debugger.getScriptSource({scriptId: scriptId}) | 119 return Protocol.Debugger.getScriptSource({scriptId: scriptId}) |
| 120 .then(msg => source = msg.result.scriptSource) | 120 .then(msg => source = msg.result.scriptSource) |
| 121 .then( | 121 .then( |
| 122 () => Protocol.Debugger.getPossibleBreakpoints( | 122 () => Protocol.Debugger.getPossibleBreakpoints( |
| 123 {start: {lineNumber: 0, columnNumber: 0, scriptId: scriptId}})) | 123 {start: {lineNumber: 0, columnNumber: 0, scriptId: scriptId}})) |
| 124 .then(printFailure) | 124 .then(printFailure) |
| 125 .then(msg => (allBreakableLocations.push(...msg.result.locations), msg)) | 125 .then(msg => (allBreakableLocations.push(...msg.result.locations.map(l =>
l.location)), msg)) |
| 126 .then(msg => printBreakableLocations(msg, scriptId, source)) | 126 .then(msg => printBreakableLocations(msg, scriptId, source)) |
| 127 .then( | 127 .then( |
| 128 () => InspectorTest.log( | 128 () => InspectorTest.log( |
| 129 'Requesting breakable locations in lines [0,3)')) | 129 'Requesting breakable locations in lines [0,3)')) |
| 130 .then(() => Protocol.Debugger.getPossibleBreakpoints({ | 130 .then(() => Protocol.Debugger.getPossibleBreakpoints({ |
| 131 start: {lineNumber: 0, columnNumber: 0, scriptId: scriptId}, | 131 start: {lineNumber: 0, columnNumber: 0, scriptId: scriptId}, |
| 132 end: {lineNumber: 3, columnNumber: 0, scriptId: scriptId} | 132 end: {lineNumber: 3, columnNumber: 0, scriptId: scriptId} |
| 133 })) | 133 })) |
| 134 .then(printFailure) | 134 .then(printFailure) |
| 135 .then(msg => printBreakableLocations(msg, scriptId, source)) | 135 .then(msg => printBreakableLocations(msg, scriptId, source)) |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 199 } | 199 } |
| 200 | 200 |
| 201 function waitForAllPauses() { | 201 function waitForAllPauses() { |
| 202 InspectorTest.log('Missing breakpoints: ' + allBreakableLocations.length); | 202 InspectorTest.log('Missing breakpoints: ' + allBreakableLocations.length); |
| 203 if (allBreakableLocations.length == 0) return; | 203 if (allBreakableLocations.length == 0) return; |
| 204 return Protocol.Debugger.oncePaused() | 204 return Protocol.Debugger.oncePaused() |
| 205 .then(removePausedLocation) | 205 .then(removePausedLocation) |
| 206 .then(Protocol.Debugger.resume()) | 206 .then(Protocol.Debugger.resume()) |
| 207 .then(waitForAllPauses); | 207 .then(waitForAllPauses); |
| 208 } | 208 } |
| OLD | NEW |