1#!/usr/bin/env python3 2# -*- coding: utf-8 -*- 3""" 4Copyright (c) 2024 Huawei Device Co., Ltd. 5Licensed under the Apache License, Version 2.0 (the "License"); 6you may not use this file except in compliance with the License. 7You may obtain a copy of the License at 8 9 http://www.apache.org/licenses/LICENSE-2.0 10 11Unless required by applicable law or agreed to in writing, software 12distributed under the License is distributed on an "AS IS" BASIS, 13WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14See the License for the specific language governing permissions and 15limitations under the License. 16 17Description: Scenario test case. 18""" 19 20import logging 21import os 22import time 23 24import pytest 25 26from aw import Application 27from aw import Utils 28from aw import debugger 29from aw.api import debugger_api, runtime_api 30 31 32@pytest.mark.debug 33@pytest.mark.timeout(80) 34class TestMainDropFrame: 35 """ 36 测试用例:主线程 debug 调试之 drop frame 37 测试步骤: 38 1. 连接 connect server 和主线程 debugger server 39 2. 主线程使能 Runtime 和 Debugger 40 3. 创建子线程用于执行 task,连接子线程 debugger server 41 4. 子线程使能 Runtime 和 Debugger 42 5. 主线程 Index.ets 文件设置断点(Debugger.getPossibleAndSetBreakpointByUrl) 43 6. 主线程 resume,停在断点处(Debugger.resume) 44 7. 主线程 evaluateOnCallFrame,观察指定变量的值(Debugger.evaluateOnCallFrame) 45 8. 主线程时光调试,回到方法调用前(Debugger.dropFrame) 46 9. 主线程 evaluateOnCallFrame,观察指定变量的值是否变化(Debugger.evaluateO*nCallFrame) 47 10. 主线程重复步骤 6-10,测试 dropFrame 在不同方法内的执行情况 48 11. 执行到 taskpool 任务时切换到子线程进行 dropFrame 操作(Debugger.dropFrame) 49 12. 所有线程去使能 debugger(Debugger.disable) 50 13. 关闭所有线程 debugger server 和 connect server 连接 51 """ 52 53 def setup_method(self): 54 logging.info('Start running TestMainDropFrame: setup') 55 56 self.log_path = rf'{os.path.dirname(__file__)}\..\log' 57 self.hilog_file_name = 'test_main_drop_frame.hilog.txt' 58 self.id_generator = Utils.message_id_generator() 59 60 # receive the hilog before the test start 61 Utils.clear_fault_log() 62 self.hilog_process, self.write_thread = Utils.save_hilog(log_path=self.log_path, 63 file_name=self.hilog_file_name, 64 debug_on=True) 65 66 def teardown_method(self): 67 Application.uninstall(self.config['bundle_name']) 68 69 # terminate the hilog receive process after the test done 70 time.sleep(3) 71 self.hilog_process.stdout.close() 72 self.hilog_process.terminate() 73 self.hilog_process.wait() 74 self.write_thread.join() 75 76 Utils.save_fault_log(log_path=self.log_path) 77 logging.info('TestMainDropFrame done') 78 79 def test(self, test_suite_main_instance_01_debug): 80 logging.info('Start running TestMainDropFrame: test') 81 self.config = test_suite_main_instance_01_debug 82 websocket = self.config['websocket'] 83 taskpool = self.config['taskpool'] 84 pid = self.config['pid'] 85 self.debugger_impl = debugger_api.DebuggerImpl(self.id_generator, websocket) 86 self.runtime_impl = runtime_api.RuntimeImpl(self.id_generator, websocket) 87 88 taskpool.submit(websocket.main_task(taskpool, self.procedure, pid)) 89 taskpool.await_taskpool() 90 taskpool.task_join() 91 if taskpool.task_exception: 92 raise taskpool.task_exception 93 94 async def procedure(self, websocket): 95 ################################################################################################################ 96 # main thread: connect the debugger server 97 ################################################################################################################ 98 main_thread = await self.debugger_impl.connect_to_debugger_server(self.config['pid'], True) 99 logging.info(f'Connect to the debugger server of instance: {main_thread.instance_id}') 100 ################################################################################################################ 101 # main thread: Runtime.enable 102 ################################################################################################################ 103 await self.runtime_impl.send("Runtime.enable", main_thread) 104 ################################################################################################################ 105 # main thread: Debugger.enable 106 ################################################################################################################ 107 await self.debugger_impl.send("Debugger.enable", main_thread) 108 ################################################################################################################ 109 # main thread: Runtime.runIfWaitingForDebugger 110 ################################################################################################################ 111 await self.runtime_impl.send("Runtime.runIfWaitingForDebugger", main_thread) 112 ################################################################################################################ 113 # main thread: Debugger.scriptParsed 114 ################################################################################################################ 115 response = await self.debugger_impl.recv("Debugger.scriptParsed", main_thread) 116 assert response['params']['url'] == self.config['file_path']['entry_ability'] 117 assert response['params']['endLine'] == 0 118 ################################################################################################################ 119 # main thread: Debugger.paused 120 ################################################################################################################ 121 response = await self.debugger_impl.recv("Debugger.paused", main_thread) 122 assert response['params']['callFrames'][0]['url'] == self.config['file_path']['entry_ability'] 123 assert response['params']['reason'] == 'Break on start' 124 ################################################################################################################ 125 # main thread: Debugger.resume 126 ################################################################################################################ 127 await self.debugger_impl.send("Debugger.resume", main_thread) 128 ################################################################################################################ 129 # main thread: Debugger.scriptParsed 130 ################################################################################################################ 131 response = await self.debugger_impl.recv("Debugger.scriptParsed", main_thread) 132 assert response['params']['url'] == self.config['file_path']['index'] 133 assert response['params']['endLine'] == 0 134 ################################################################################################################ 135 # main thread: Debugger.paused 136 ################################################################################################################ 137 response = await self.debugger_impl.recv("Debugger.paused", main_thread) 138 assert response['params']['callFrames'][0]['url'] == self.config['file_path']['index'] 139 assert response['params']['reason'] == 'Break on start' 140 ################################################################################################################ 141 # worker thread: connect the debugger server 142 ################################################################################################################ 143 worker_thread = await self.debugger_impl.connect_to_debugger_server(self.config['pid'], False) 144 logging.info(f'Connect to the debugger server of instance: {worker_thread.instance_id}') 145 ################################################################################################################ 146 # worker thread: Runtime.enable 147 ################################################################################################################ 148 await self.runtime_impl.send("Runtime.enable", worker_thread) 149 ################################################################################################################ 150 # worker thread: Debugger.enable 151 ################################################################################################################ 152 await self.debugger_impl.send("Debugger.enable", worker_thread) 153 ################################################################################################################ 154 # worker thread: Runtime.runIfWaitingForDebugger 155 ################################################################################################################ 156 await self.runtime_impl.send("Runtime.runIfWaitingForDebugger", worker_thread) 157 ################################################################################################################ 158 # main thread: Debugger.removeBreakpointsByUrl 159 ################################################################################################################ 160 params = debugger.RemoveBreakpointsUrl(self.config['file_path']['index']) 161 await self.debugger_impl.send("Debugger.removeBreakpointsByUrl", main_thread, params) 162 ################################################################################################################ 163 # main thread: Debugger.getPossibleAndSetBreakpointByUrl 164 ################################################################################################################ 165 locations = [debugger.BreakLocationUrl(url=self.config['file_path']['index'], line_number=79)] 166 params = debugger.SetBreakpointsLocations(locations) 167 response = await self.debugger_impl.send("Debugger.getPossibleAndSetBreakpointsByUrl", 168 main_thread, params) 169 assert response['result']['locations'][0]['id'] == 'id:79:0:' + self.config['file_path']['index'] 170 ################################################################################################################ 171 # main thread: Debugger.resume 172 ################################################################################################################ 173 await self.debugger_impl.send("Debugger.resume", main_thread) 174 # main thread: Debugger.paused 175 response = await self.debugger_impl.recv("Debugger.paused", main_thread) 176 assert response['params']['callFrames'][0]['url'] == self.config['file_path']['index'] 177 assert response['params']['reason'] == 'other' 178 assert response['params']['hitBreakpoints'] == ['id:79:9:' + self.config['file_path']['index']] 179 ################################################################################################################ 180 # main thread: Debugger.evaluateOnCallFrame 181 ################################################################################################################ 182 params = debugger.EvaluateOnCallFrameParams('b') 183 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 184 assert response['result']['result'] == {"type": "number", "unserializableValue": "3", "description": "3"} 185 params = debugger.EvaluateOnCallFrameParams('c') 186 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 187 assert response['result']['result'] == {"type": "number", "unserializableValue": "4", "description": "4"} 188 params = debugger.EvaluateOnCallFrameParams('e') 189 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 190 assert response['result']['result'] == {"type": "number", "unserializableValue": "1", "description": "1"} 191 ################################################################################################################ 192 # main thread: Debugger.dropFrame 193 ################################################################################################################ 194 params = debugger.DropFrameParams() 195 await self.debugger_impl.send("Debugger.dropFrame", main_thread, params) 196 # main thread: Debugger.paused 197 response = await self.debugger_impl.recv("Debugger.paused", main_thread) 198 assert response['params']['callFrames'][0]['url'] == self.config['file_path']['index'] 199 assert response['params']['reason'] == 'other' 200 assert response['params']['hitBreakpoints'] == [] 201 ################################################################################################################ 202 # main thread: Debugger.evaluateOnCallFrame 203 ################################################################################################################ 204 params = debugger.EvaluateOnCallFrameParams('b') 205 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 206 assert response['result']['result'] == {"type": "number", "unserializableValue": "3", "description": "3"} 207 params = debugger.EvaluateOnCallFrameParams('c') 208 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 209 assert response['result']['result'] == {"type": "number", "unserializableValue": "0", "description": "0"} 210 params = debugger.EvaluateOnCallFrameParams('e') 211 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 212 assert response['result']['result'] == {"type": "number", "unserializableValue": "0", "description": "0"} 213 ################################################################################################################ 214 # main thread: Debugger.dropFrame 215 ################################################################################################################ 216 params = debugger.DropFrameParams() 217 await self.debugger_impl.send("Debugger.dropFrame", main_thread, params) 218 # main thread: Debugger.paused 219 response = await self.debugger_impl.recv("Debugger.paused", main_thread) 220 assert response['params']['callFrames'][0]['url'] == self.config['file_path']['index'] 221 assert response['params']['reason'] == 'other' 222 assert response['params']['hitBreakpoints'] == [] 223 ################################################################################################################ 224 # main thread: Debugger.evaluateOnCallFrame 225 ################################################################################################################ 226 params = debugger.EvaluateOnCallFrameParams('b') 227 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 228 assert response['result']['result'] == {"type": "number", "unserializableValue": "0", "description": "0"} 229 params = debugger.EvaluateOnCallFrameParams('c') 230 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 231 assert response['result']['result'] == {"type": "number", "unserializableValue": "0", "description": "0"} 232 params = debugger.EvaluateOnCallFrameParams('e') 233 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 234 assert response['result']['result']['type'] == "undefined" 235 ################################################################################################################ 236 # main thread: Debugger.removeBreakpointsByUrl 237 ################################################################################################################ 238 params = debugger.RemoveBreakpointsUrl(self.config['file_path']['index']) 239 await self.debugger_impl.send("Debugger.removeBreakpointsByUrl", main_thread, params) 240 ################################################################################################################ 241 # main thread: Debugger.getPossibleAndSetBreakpointByUrl 242 ################################################################################################################ 243 locations = [debugger.BreakLocationUrl(url=self.config['file_path']['index'], line_number=91)] 244 params = debugger.SetBreakpointsLocations(locations) 245 response = await self.debugger_impl.send("Debugger.getPossibleAndSetBreakpointsByUrl", 246 main_thread, params) 247 assert response['result']['locations'][0]['id'] == 'id:91:0:' + self.config['file_path']['index'] 248 ################################################################################################################ 249 # main thread: Debugger.resume 250 ################################################################################################################ 251 await self.debugger_impl.send("Debugger.resume", main_thread) 252 # main thread: Debugger.paused 253 response = await self.debugger_impl.recv("Debugger.paused", main_thread) 254 assert response['params']['callFrames'][0]['url'] == self.config['file_path']['index'] 255 assert response['params']['reason'] == 'other' 256 assert response['params']['hitBreakpoints'] == ['id:91:5:' + self.config['file_path']['index']] 257 ################################################################################################################ 258 # main thread: Debugger.evaluateOnCallFrame 259 ################################################################################################################ 260 params = debugger.EvaluateOnCallFrameParams('a') 261 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 262 assert response['result']['result'] == {"type": "number", "unserializableValue": "2", "description": "2"} 263 params = debugger.EvaluateOnCallFrameParams('d') 264 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 265 assert response['result']['result'] == {"type": "number", "unserializableValue": "4", "description": "4"} 266 ################################################################################################################ 267 # main thread: Debugger.dropFrame 268 ################################################################################################################ 269 params = debugger.DropFrameParams() 270 await self.debugger_impl.send("Debugger.dropFrame", main_thread, params) 271 # main thread: Debugger.paused 272 response = await self.debugger_impl.recv("Debugger.paused", main_thread) 273 assert response['params']['callFrames'][0]['url'] == self.config['file_path']['index'] 274 assert response['params']['reason'] == 'other' 275 assert response['params']['hitBreakpoints'] == [] 276 ################################################################################################################ 277 # main thread: Debugger.evaluateOnCallFrame 278 ################################################################################################################ 279 params = debugger.EvaluateOnCallFrameParams('a') 280 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 281 assert response['result']['result'] == {"type": "number", "unserializableValue": "1", "description": "1"} 282 params = debugger.EvaluateOnCallFrameParams('d') 283 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 284 assert response['result']['result'] == {"type": "number", "unserializableValue": "2", "description": "2"} 285 ################################################################################################################ 286 # main thread: Debugger.dropFrame 287 ################################################################################################################ 288 params = debugger.DropFrameParams() 289 await self.debugger_impl.send("Debugger.dropFrame", main_thread, params) 290 # main thread: Debugger.paused 291 response = await self.debugger_impl.recv("Debugger.paused", main_thread) 292 assert response['params']['callFrames'][0]['url'] == self.config['file_path']['index'] 293 assert response['params']['reason'] == 'other' 294 assert response['params']['hitBreakpoints'] == [] 295 ################################################################################################################ 296 # main thread: Debugger.evaluateOnCallFrame 297 ################################################################################################################ 298 params = debugger.EvaluateOnCallFrameParams('a') 299 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 300 assert response['result']['result'] == {"type": "number", "unserializableValue": "1", "description": "1"} 301 params = debugger.EvaluateOnCallFrameParams('d') 302 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 303 assert response['result']['result'] == {"type": "number", "unserializableValue": "1", "description": "1"} 304 ################################################################################################################ 305 # main thread: Debugger.removeBreakpointsByUrl 306 ################################################################################################################ 307 params = debugger.RemoveBreakpointsUrl(self.config['file_path']['index']) 308 await self.debugger_impl.send("Debugger.removeBreakpointsByUrl", main_thread, params) 309 ################################################################################################################ 310 # main thread: Debugger.getPossibleAndSetBreakpointByUrl 311 ################################################################################################################ 312 locations = [debugger.BreakLocationUrl(url=self.config['file_path']['index'], line_number=105)] 313 params = debugger.SetBreakpointsLocations(locations) 314 response = await self.debugger_impl.send("Debugger.getPossibleAndSetBreakpointsByUrl", 315 main_thread, params) 316 assert response['result']['locations'][0]['id'] == 'id:105:0:' + self.config['file_path']['index'] 317 ################################################################################################################ 318 # main thread: Debugger.resume 319 ################################################################################################################ 320 await self.debugger_impl.send("Debugger.resume", main_thread) 321 # main thread: Debugger.paused 322 response = await self.debugger_impl.recv("Debugger.paused", main_thread) 323 assert response['params']['callFrames'][0]['url'] == self.config['file_path']['index'] 324 assert response['params']['reason'] == 'other' 325 assert response['params']['hitBreakpoints'] == ['id:105:5:' + self.config['file_path']['index']] 326 ################################################################################################################ 327 # main thread: Debugger.resume 328 ################################################################################################################ 329 await self.debugger_impl.send("Debugger.resume", main_thread) 330 # main thread: Debugger.paused 331 response = await self.debugger_impl.recv("Debugger.paused", main_thread) 332 assert response['params']['callFrames'][0]['url'] == self.config['file_path']['index'] 333 assert response['params']['reason'] == 'other' 334 assert response['params']['hitBreakpoints'] == ['id:105:5:' + self.config['file_path']['index']] 335 ################################################################################################################ 336 # main thread: Debugger.evaluateOnCallFrame 337 ################################################################################################################ 338 params = debugger.EvaluateOnCallFrameParams('a') 339 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 340 assert response['result']['result'] == {"type": "number", "unserializableValue": "4", "description": "4"} 341 params = debugger.EvaluateOnCallFrameParams('d') 342 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 343 assert response['result']['result'] == {"type": "number", "unserializableValue": "24", "description": "24"} 344 ################################################################################################################ 345 # main thread: Debugger.dropFrame 346 ################################################################################################################ 347 params = debugger.DropFrameParams() 348 await self.debugger_impl.send("Debugger.dropFrame", main_thread, params) 349 # main thread: Debugger.paused 350 response = await self.debugger_impl.recv("Debugger.paused", main_thread) 351 assert response['params']['callFrames'][0]['url'] == self.config['file_path']['index'] 352 assert response['params']['reason'] == 'other' 353 assert response['params']['hitBreakpoints'] == [] 354 ################################################################################################################ 355 # main thread: Debugger.evaluateOnCallFrame 356 ################################################################################################################ 357 params = debugger.EvaluateOnCallFrameParams('a') 358 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 359 assert response['result']['result'] == {"type": "number", "unserializableValue": "2", "description": "2"} 360 params = debugger.EvaluateOnCallFrameParams('d') 361 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 362 assert response['result']['result'] == {"type": "number", "unserializableValue": "4", "description": "4"} 363 ################################################################################################################ 364 # main thread: Debugger.removeBreakpointsByUrl 365 ################################################################################################################ 366 params = debugger.RemoveBreakpointsUrl(self.config['file_path']['index']) 367 await self.debugger_impl.send("Debugger.removeBreakpointsByUrl", main_thread, params) 368 ################################################################################################################ 369 # main thread: Debugger.getPossibleAndSetBreakpointByUrl 370 ################################################################################################################ 371 locations = [debugger.BreakLocationUrl(url=self.config['file_path']['index'], line_number=119)] 372 params = debugger.SetBreakpointsLocations(locations) 373 response = await self.debugger_impl.send("Debugger.getPossibleAndSetBreakpointsByUrl", 374 main_thread, params) 375 assert response['result']['locations'][0]['id'] == 'id:119:0:' + self.config['file_path']['index'] 376 ################################################################################################################ 377 # main thread: Debugger.resume 378 ################################################################################################################ 379 await self.debugger_impl.send("Debugger.resume", main_thread) 380 # main thread: Debugger.paused 381 response = await self.debugger_impl.recv("Debugger.paused", main_thread) 382 assert response['params']['callFrames'][0]['url'] == self.config['file_path']['index'] 383 assert response['params']['reason'] == 'other' 384 assert response['params']['hitBreakpoints'] == ['id:119:13:' + self.config['file_path']['index']] 385 ################################################################################################################ 386 # main thread: Debugger.resume 387 ################################################################################################################ 388 await self.debugger_impl.send("Debugger.resume", main_thread) 389 # main thread: Debugger.paused 390 response = await self.debugger_impl.recv("Debugger.paused", main_thread) 391 assert response['params']['callFrames'][0]['url'] == self.config['file_path']['index'] 392 assert response['params']['reason'] == 'other' 393 assert response['params']['hitBreakpoints'] == ['id:119:13:' + self.config['file_path']['index']] 394 ################################################################################################################ 395 # main thread: Debugger.evaluateOnCallFrame 396 ################################################################################################################ 397 params = debugger.EvaluateOnCallFrameParams('a') 398 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 399 assert response['result']['result'] == {"type": "number", "unserializableValue": "3", "description": "3"} 400 params = debugger.EvaluateOnCallFrameParams('d') 401 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 402 assert response['result']['result'] == {"type": "number", "unserializableValue": "26", "description": "26"} 403 ################################################################################################################ 404 # main thread: Debugger.dropFrame 405 ################################################################################################################ 406 params = debugger.DropFrameParams() 407 await self.debugger_impl.send("Debugger.dropFrame", main_thread, params) 408 # main thread: Debugger.paused 409 response = await self.debugger_impl.recv("Debugger.paused", main_thread) 410 assert response['params']['callFrames'][0]['url'] == self.config['file_path']['index'] 411 assert response['params']['reason'] == 'other' 412 assert response['params']['hitBreakpoints'] == [] 413 ################################################################################################################ 414 # main thread: Debugger.evaluateOnCallFrame 415 ################################################################################################################ 416 params = debugger.EvaluateOnCallFrameParams('a') 417 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 418 assert response['result']['result'] == {"type": "number", "unserializableValue": "2", "description": "2"} 419 params = debugger.EvaluateOnCallFrameParams('d') 420 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 421 assert response['result']['result'] == {"type": "number", "unserializableValue": "12", "description": "12"} 422 ################################################################################################################ 423 # main thread: Debugger.removeBreakpointsByUrl 424 ################################################################################################################ 425 params = debugger.RemoveBreakpointsUrl(self.config['file_path']['index']) 426 await self.debugger_impl.send("Debugger.removeBreakpointsByUrl", main_thread, params) 427 ################################################################################################################ 428 # main thread: Debugger.getPossibleAndSetBreakpointByUrl 429 ################################################################################################################ 430 locations = [debugger.BreakLocationUrl(url=self.config['file_path']['index'], line_number=134)] 431 params = debugger.SetBreakpointsLocations(locations) 432 response = await self.debugger_impl.send("Debugger.getPossibleAndSetBreakpointsByUrl", 433 main_thread, params) 434 assert response['result']['locations'][0]['id'] == 'id:134:0:' + self.config['file_path']['index'] 435 ################################################################################################################ 436 # main thread: Debugger.resume 437 ################################################################################################################ 438 await self.debugger_impl.send("Debugger.resume", main_thread) 439 # main thread: Debugger.paused 440 response = await self.debugger_impl.recv("Debugger.paused", main_thread) 441 assert response['params']['callFrames'][0]['url'] == self.config['file_path']['index'] 442 assert response['params']['reason'] == 'other' 443 assert response['params']['hitBreakpoints'] == ['id:134:13:' + self.config['file_path']['index']] 444 ################################################################################################################ 445 # main thread: Debugger.evaluateOnCallFrame 446 ################################################################################################################ 447 params = debugger.EvaluateOnCallFrameParams('s') 448 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 449 assert response['result']['result'] == {"type": "number", "unserializableValue": "3", "description": "3"} 450 params = debugger.EvaluateOnCallFrameParams('func') 451 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 452 function_info = response['result']['result'] 453 assert function_info['type'] == 'function' 454 ################################################################################################################ 455 # main thread: Debugger.dropFrame 456 ################################################################################################################ 457 params = debugger.DropFrameParams() 458 await self.debugger_impl.send("Debugger.dropFrame", main_thread, params) 459 # main thread: Debugger.paused 460 response = await self.debugger_impl.recv("Debugger.paused", main_thread) 461 assert response['params']['callFrames'][0]['url'] == self.config['file_path']['index'] 462 assert response['params']['reason'] == 'other' 463 assert response['params']['hitBreakpoints'] == [] 464 ################################################################################################################ 465 # main thread: Debugger.evaluateOnCallFrame 466 ################################################################################################################ 467 params = debugger.EvaluateOnCallFrameParams('s') 468 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 469 assert response['result']['result'] == {"type": "number", "unserializableValue": "2", "description": "2"} 470 params = debugger.EvaluateOnCallFrameParams('func') 471 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 472 assert response['result']['result']['description'] == function_info['description'] 473 ################################################################################################################ 474 # main thread: Debugger.dropFrame 475 ################################################################################################################ 476 params = debugger.DropFrameParams() 477 await self.debugger_impl.send("Debugger.dropFrame", main_thread, params) 478 # main thread: Debugger.paused 479 response = await self.debugger_impl.recv("Debugger.paused", main_thread) 480 assert response['params']['callFrames'][0]['url'] == self.config['file_path']['index'] 481 assert response['params']['reason'] == 'other' 482 assert response['params']['hitBreakpoints'] == [] 483 ################################################################################################################ 484 # main thread: Debugger.evaluateOnCallFrame 485 ################################################################################################################ 486 params = debugger.EvaluateOnCallFrameParams('s') 487 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 488 assert response['result']['result']['type'] == "undefined" 489 params = debugger.EvaluateOnCallFrameParams('func') 490 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 491 assert response['result']['result']['description'] != function_info['description'] 492 assert response['result']['result']['type'] == 'function' 493 ################################################################################################################ 494 # main thread: Debugger.removeBreakpointsByUrl 495 ################################################################################################################ 496 params = debugger.RemoveBreakpointsUrl(self.config['file_path']['index']) 497 await self.debugger_impl.send("Debugger.removeBreakpointsByUrl", main_thread, params) 498 ################################################################################################################ 499 # main thread: Debugger.getPossibleAndSetBreakpointByUrl 500 ################################################################################################################ 501 locations = [debugger.BreakLocationUrl(url=self.config['file_path']['index'], line_number=151)] 502 params = debugger.SetBreakpointsLocations(locations) 503 response = await self.debugger_impl.send("Debugger.getPossibleAndSetBreakpointsByUrl", 504 main_thread, params) 505 assert response['result']['locations'][0]['id'] == 'id:151:0:' + self.config['file_path']['index'] 506 ################################################################################################################ 507 # main thread: Debugger.resume 508 ################################################################################################################ 509 await self.debugger_impl.send("Debugger.resume", main_thread) 510 # main thread: Debugger.paused 511 response = await self.debugger_impl.recv("Debugger.paused", main_thread) 512 assert response['params']['callFrames'][0]['url'] == self.config['file_path']['index'] 513 assert response['params']['reason'] == 'other' 514 assert response['params']['hitBreakpoints'] == ['id:151:1:' + self.config['file_path']['index']] 515 ################################################################################################################ 516 # main thread: Debugger.evaluateOnCallFrame 517 ################################################################################################################ 518 params = debugger.EvaluateOnCallFrameParams('a') 519 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 520 assert response['result']['result'] == {"type": "number", "unserializableValue": "11", "description": "11"} 521 params = debugger.EvaluateOnCallFrameParams('x') 522 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 523 assert response['result']['result'] == {"type": "number", "unserializableValue": "8", "description": "8"} 524 ################################################################################################################ 525 # main thread: Debugger.dropFrame 526 ################################################################################################################ 527 params = debugger.DropFrameParams() 528 await self.debugger_impl.send("Debugger.dropFrame", main_thread, params) 529 # main thread: Debugger.paused 530 response = await self.debugger_impl.recv("Debugger.paused", main_thread) 531 assert response['params']['callFrames'][0]['url'] == self.config['file_path']['index'] 532 assert response['params']['reason'] == 'other' 533 assert response['params']['hitBreakpoints'] == [] 534 ################################################################################################################ 535 # main thread: Debugger.evaluateOnCallFrame 536 ################################################################################################################ 537 params = debugger.EvaluateOnCallFrameParams('a') 538 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 539 assert response['result']['result'] == {"type": "number", "unserializableValue": "9", "description": "9"} 540 params = debugger.EvaluateOnCallFrameParams('x') 541 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 542 assert response['result']['result'] == {"type": "number", "unserializableValue": "7", "description": "7"} 543 ################################################################################################################ 544 # main thread: Debugger.dropFrame 545 ################################################################################################################ 546 params = debugger.DropFrameParams() 547 await self.debugger_impl.send("Debugger.dropFrame", main_thread, params) 548 # main thread: Debugger.paused 549 response = await self.debugger_impl.recv("Debugger.paused", main_thread) 550 assert response['params']['callFrames'][0]['url'] == self.config['file_path']['index'] 551 assert response['params']['reason'] == 'other' 552 assert response['params']['hitBreakpoints'] == [] 553 ################################################################################################################ 554 # main thread: Debugger.evaluateOnCallFrame 555 ################################################################################################################ 556 params = debugger.EvaluateOnCallFrameParams('a') 557 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 558 assert response['result']['result'] == {"type": "number", "unserializableValue": "8", "description": "8"} 559 params = debugger.EvaluateOnCallFrameParams('x') 560 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 561 assert response['result']['result'] == {"type": "number", "unserializableValue": "7", "description": "7"} 562 ################################################################################################################ 563 # main thread: Debugger.removeBreakpointsByUrl 564 ################################################################################################################ 565 params = debugger.RemoveBreakpointsUrl(self.config['file_path']['index']) 566 await self.debugger_impl.send("Debugger.removeBreakpointsByUrl", main_thread, params) 567 ################################################################################################################ 568 # main thread: Debugger.getPossibleAndSetBreakpointByUrl 569 ################################################################################################################ 570 locations = [debugger.BreakLocationUrl(url=self.config['file_path']['index'], line_number=161)] 571 params = debugger.SetBreakpointsLocations(locations) 572 response = await self.debugger_impl.send("Debugger.getPossibleAndSetBreakpointsByUrl", 573 main_thread, params) 574 assert response['result']['locations'][0]['id'] == 'id:161:0:' + self.config['file_path']['index'] 575 ################################################################################################################ 576 # main thread: Debugger.resume 577 ################################################################################################################ 578 await self.debugger_impl.send("Debugger.resume", main_thread) 579 # main thread: Debugger.paused 580 response = await self.debugger_impl.recv("Debugger.paused", main_thread) 581 assert response['params']['callFrames'][0]['url'] == self.config['file_path']['index'] 582 assert response['params']['reason'] == 'other' 583 assert response['params']['hitBreakpoints'] == ['id:161:5:' + self.config['file_path']['index']] 584 ################################################################################################################ 585 # main thread: Debugger.evaluateOnCallFrame 586 ################################################################################################################ 587 params = debugger.EvaluateOnCallFrameParams('a') 588 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 589 assert response['result']['result'] == {"type": "number", "unserializableValue": "10", "description": "10"} 590 params = debugger.EvaluateOnCallFrameParams('d') 591 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 592 assert response['result']['result'] == {"type": "number", "unserializableValue": "12", "description": "12"} 593 ################################################################################################################ 594 # main thread: Debugger.dropFrame 595 ################################################################################################################ 596 params = debugger.DropFrameParams() 597 await self.debugger_impl.send("Debugger.dropFrame", main_thread, params) 598 # main thread: Debugger.paused 599 response = await self.debugger_impl.recv("Debugger.paused", main_thread) 600 assert response['params']['callFrames'][0]['url'] == self.config['file_path']['index'] 601 assert response['params']['reason'] == 'other' 602 assert response['params']['hitBreakpoints'] == [] 603 ################################################################################################################ 604 # main thread: Debugger.evaluateOnCallFrame 605 ################################################################################################################ 606 params = debugger.EvaluateOnCallFrameParams('a') 607 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 608 assert response['result']['result'] == {"type": "number", "unserializableValue": "0", "description": "0"} 609 params = debugger.EvaluateOnCallFrameParams('d') 610 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 611 assert response['result']['result'] == {"type": "number", "unserializableValue": "1", "description": "1"} 612 ################################################################################################################ 613 # main thread: Debugger.removeBreakpointsByUrl 614 ################################################################################################################ 615 params = debugger.RemoveBreakpointsUrl(self.config['file_path']['index']) 616 await self.debugger_impl.send("Debugger.removeBreakpointsByUrl", main_thread, params) 617 ################################################################################################################ 618 # main thread: Debugger.getPossibleAndSetBreakpointByUrl 619 ################################################################################################################ 620 locations = [debugger.BreakLocationUrl(url=self.config['file_path']['index'], line_number=175)] 621 params = debugger.SetBreakpointsLocations(locations) 622 response = await self.debugger_impl.send("Debugger.getPossibleAndSetBreakpointsByUrl", 623 main_thread, params) 624 assert response['result']['locations'][0]['id'] == 'id:175:0:' + self.config['file_path']['index'] 625 ################################################################################################################ 626 # main thread: Debugger.resume 627 ################################################################################################################ 628 await self.debugger_impl.send("Debugger.resume", main_thread) 629 # main thread: Debugger.paused 630 response = await self.debugger_impl.recv("Debugger.paused", main_thread) 631 assert response['params']['callFrames'][0]['url'] == self.config['file_path']['index'] 632 assert response['params']['reason'] == 'other' 633 assert response['params']['hitBreakpoints'] == ['id:175:13:' + self.config['file_path']['index']] 634 ################################################################################################################ 635 # main thread: Debugger.evaluateOnCallFrame 636 ################################################################################################################ 637 params = debugger.EvaluateOnCallFrameParams('a') 638 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 639 assert response['result']['result'] == {"type": "number", "unserializableValue": "1", "description": "1"} 640 params = debugger.EvaluateOnCallFrameParams('d') 641 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 642 assert response['result']['result'] == {"type": "number", "unserializableValue": "5", "description": "5"} 643 params = debugger.EvaluateOnCallFrameParams('e') 644 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 645 assert response['result']['result'] == {"type": "number", "unserializableValue": "12", "description": "12"} 646 ################################################################################################################ 647 # main thread: Debugger.dropFrame 648 ################################################################################################################ 649 params = debugger.DropFrameParams() 650 await self.debugger_impl.send("Debugger.dropFrame", main_thread, params) 651 # main thread: Debugger.paused 652 response = await self.debugger_impl.recv("Debugger.paused", main_thread) 653 assert response['params']['callFrames'][0]['url'] == self.config['file_path']['index'] 654 assert response['params']['reason'] == 'other' 655 assert response['params']['hitBreakpoints'] == [] 656 ################################################################################################################ 657 # main thread: Debugger.evaluateOnCallFrame 658 ################################################################################################################ 659 params = debugger.EvaluateOnCallFrameParams('a') 660 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 661 assert response['result']['result'] == {"type": "number", "unserializableValue": "1", "description": "1"} 662 params = debugger.EvaluateOnCallFrameParams('d') 663 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 664 assert response['result']['result'] == {"type": "number", "unserializableValue": "1", "description": "1"} 665 params = debugger.EvaluateOnCallFrameParams('e') 666 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 667 assert response['result']['result'] == {"type": "number", "unserializableValue": "1", "description": "1"} 668 ################################################################################################################ 669 # main thread: Debugger.dropFrame 670 ################################################################################################################ 671 params = debugger.DropFrameParams() 672 await self.debugger_impl.send("Debugger.dropFrame", main_thread, params) 673 # main thread: Debugger.paused 674 response = await self.debugger_impl.recv("Debugger.paused", main_thread) 675 assert response['params']['callFrames'][0]['url'] == self.config['file_path']['index'] 676 assert response['params']['reason'] == 'other' 677 assert response['params']['hitBreakpoints'] == [] 678 ################################################################################################################ 679 # main thread: Debugger.evaluateOnCallFrame 680 ################################################################################################################ 681 params = debugger.EvaluateOnCallFrameParams('a') 682 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 683 assert response['result']['result'] == {"type": "number", "unserializableValue": "0", "description": "0"} 684 params = debugger.EvaluateOnCallFrameParams('d') 685 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 686 assert response['result']['result'] == {"type": "number", "unserializableValue": "1", "description": "1"} 687 params = debugger.EvaluateOnCallFrameParams('e') 688 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 689 assert response['result']['result']['type'] == "undefined" 690 ################################################################################################################ 691 # main thread: Debugger.removeBreakpointsByUrl 692 ################################################################################################################ 693 params = debugger.RemoveBreakpointsUrl(self.config['file_path']['index']) 694 await self.debugger_impl.send("Debugger.removeBreakpointsByUrl", main_thread, params) 695 ################################################################################################################ 696 # main thread: Debugger.getPossibleAndSetBreakpointByUrl 697 ################################################################################################################ 698 locations = [debugger.BreakLocationUrl(url=self.config['file_path']['index'], line_number=186)] 699 params = debugger.SetBreakpointsLocations(locations) 700 response = await self.debugger_impl.send("Debugger.getPossibleAndSetBreakpointsByUrl", 701 main_thread, params) 702 assert response['result']['locations'][0]['id'] == 'id:186:0:' + self.config['file_path']['index'] 703 ################################################################################################################ 704 # main thread: Debugger.resume 705 ################################################################################################################ 706 await self.debugger_impl.send("Debugger.resume", main_thread) 707 # main thread: Debugger.paused 708 response = await self.debugger_impl.recv("Debugger.paused", main_thread) 709 assert response['params']['callFrames'][0]['url'] == self.config['file_path']['index'] 710 assert response['params']['reason'] == 'other' 711 assert response['params']['hitBreakpoints'] == ['id:186:13:' + self.config['file_path']['index']] 712 ################################################################################################################ 713 # main thread: Debugger.evaluateOnCallFrame 714 ################################################################################################################ 715 params = debugger.EvaluateOnCallFrameParams('a') 716 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 717 assert response['result']['result'] == {"type": "number", "unserializableValue": "2", "description": "2"} 718 params = debugger.EvaluateOnCallFrameParams('d') 719 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 720 assert response['result']['result'] == {"type": "number", "unserializableValue": "9", "description": "9"} 721 params = debugger.EvaluateOnCallFrameParams('e') 722 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 723 assert response['result']['result'] == {"type": "number", "unserializableValue": "22", "description": "22"} 724 ################################################################################################################ 725 # main thread: Debugger.dropFrame 726 ################################################################################################################ 727 params = debugger.DropFrameParams() 728 await self.debugger_impl.send("Debugger.dropFrame", main_thread, params) 729 # main thread: Debugger.paused 730 response = await self.debugger_impl.recv("Debugger.paused", main_thread) 731 assert response['params']['callFrames'][0]['url'] == self.config['file_path']['index'] 732 assert response['params']['reason'] == 'other' 733 assert response['params']['hitBreakpoints'] == [] 734 ################################################################################################################ 735 # main thread: Debugger.evaluateOnCallFrame 736 ################################################################################################################ 737 params = debugger.EvaluateOnCallFrameParams('a') 738 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 739 assert response['result']['result'] == {"type": "number", "unserializableValue": "2", "description": "2"} 740 params = debugger.EvaluateOnCallFrameParams('d') 741 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 742 assert response['result']['result'] == {"type": "number", "unserializableValue": "5", "description": "5"} 743 params = debugger.EvaluateOnCallFrameParams('e') 744 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 745 assert response['result']['result'] == {"type": "number", "unserializableValue": "1", "description": "1"} 746 ################################################################################################################ 747 # main thread: Debugger.dropFrame 748 ################################################################################################################ 749 params = debugger.DropFrameParams() 750 await self.debugger_impl.send("Debugger.dropFrame", main_thread, params) 751 # main thread: Debugger.paused 752 response = await self.debugger_impl.recv("Debugger.paused", main_thread) 753 assert response['params']['callFrames'][0]['url'] == self.config['file_path']['index'] 754 assert response['params']['reason'] == 'other' 755 assert response['params']['hitBreakpoints'] == [] 756 ################################################################################################################ 757 # main thread: Debugger.evaluateOnCallFrame 758 ################################################################################################################ 759 params = debugger.EvaluateOnCallFrameParams('a') 760 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 761 assert response['result']['result'] == {"type": "number", "unserializableValue": "1", "description": "1"} 762 params = debugger.EvaluateOnCallFrameParams('d') 763 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 764 assert response['result']['result'] == {"type": "number", "unserializableValue": "5", "description": "5"} 765 params = debugger.EvaluateOnCallFrameParams('e') 766 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 767 assert response['result']['result']['type'] == "undefined" 768 ################################################################################################################ 769 # main thread: Debugger.removeBreakpointsByUrl 770 ################################################################################################################ 771 params = debugger.RemoveBreakpointsUrl(self.config['file_path']['index']) 772 await self.debugger_impl.send("Debugger.removeBreakpointsByUrl", main_thread, params) 773 ################################################################################################################ 774 # main thread: Debugger.getPossibleAndSetBreakpointByUrl 775 ################################################################################################################ 776 locations = [debugger.BreakLocationUrl(url=self.config['file_path']['index'], line_number=204)] 777 params = debugger.SetBreakpointsLocations(locations) 778 response = await self.debugger_impl.send("Debugger.getPossibleAndSetBreakpointsByUrl", 779 main_thread, params) 780 assert response['result']['locations'][0]['id'] == 'id:204:0:' + self.config['file_path']['index'] 781 ################################################################################################################ 782 # main thread: Debugger.resume 783 ################################################################################################################ 784 await self.debugger_impl.send("Debugger.resume", main_thread) 785 # main thread: Debugger.paused 786 response = await self.debugger_impl.recv("Debugger.paused", main_thread) 787 assert response['params']['callFrames'][0]['url'] == self.config['file_path']['index'] 788 assert response['params']['reason'] == 'other' 789 assert response['params']['hitBreakpoints'] == ['id:204:13:' + self.config['file_path']['index']] 790 ################################################################################################################ 791 # main thread: Debugger.evaluateOnCallFrame 792 ################################################################################################################ 793 params = debugger.EvaluateOnCallFrameParams('a') 794 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 795 assert response['result']['result'] == {"type": "number", "unserializableValue": "1", "description": "1"} 796 params = debugger.EvaluateOnCallFrameParams('d') 797 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 798 assert response['result']['result'] == {"type": "number", "unserializableValue": "14", "description": "14"} 799 params = debugger.EvaluateOnCallFrameParams('e') 800 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 801 assert response['result']['result'] == {"type": "number", "unserializableValue": "21", "description": "21"} 802 ################################################################################################################ 803 # main thread: Debugger.dropFrame 804 ################################################################################################################ 805 params = debugger.DropFrameParams() 806 await self.debugger_impl.send("Debugger.dropFrame", main_thread, params) 807 # main thread: Debugger.paused 808 response = await self.debugger_impl.recv("Debugger.paused", main_thread) 809 assert response['params']['callFrames'][0]['url'] == self.config['file_path']['index'] 810 assert response['params']['reason'] == 'other' 811 assert response['params']['hitBreakpoints'] == [] 812 ################################################################################################################ 813 # main thread: Debugger.evaluateOnCallFrame 814 ################################################################################################################ 815 params = debugger.EvaluateOnCallFrameParams('a') 816 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 817 assert response['result']['result'] == {"type": "number", "unserializableValue": "1", "description": "1"} 818 params = debugger.EvaluateOnCallFrameParams('d') 819 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 820 assert response['result']['result'] == {"type": "number", "unserializableValue": "10", "description": "10"} 821 params = debugger.EvaluateOnCallFrameParams('e') 822 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 823 assert response['result']['result'] == {"type": "number", "unserializableValue": "1", "description": "1"} 824 ################################################################################################################ 825 # main thread: Debugger.dropFrame 826 ################################################################################################################ 827 params = debugger.DropFrameParams() 828 await self.debugger_impl.send("Debugger.dropFrame", main_thread, params) 829 # main thread: Debugger.paused 830 response = await self.debugger_impl.recv("Debugger.paused", main_thread) 831 assert response['params']['callFrames'][0]['url'] == self.config['file_path']['index'] 832 assert response['params']['reason'] == 'other' 833 assert response['params']['hitBreakpoints'] == [] 834 ################################################################################################################ 835 # main thread: Debugger.evaluateOnCallFrame 836 ################################################################################################################ 837 params = debugger.EvaluateOnCallFrameParams('a') 838 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 839 assert response['result']['result'] == {"type": "number", "unserializableValue": "0", "description": "0"} 840 params = debugger.EvaluateOnCallFrameParams('d') 841 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 842 assert response['result']['result'] == {"type": "number", "unserializableValue": "10", "description": "10"} 843 params = debugger.EvaluateOnCallFrameParams('e') 844 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 845 assert response['result']['result']['type'] == "undefined" 846 ################################################################################################################ 847 # main thread: Debugger.removeBreakpointsByUrl 848 ################################################################################################################ 849 params = debugger.RemoveBreakpointsUrl(self.config['file_path']['index']) 850 await self.debugger_impl.send("Debugger.removeBreakpointsByUrl", main_thread, params) 851 ################################################################################################################ 852 # main thread: Debugger.getPossibleAndSetBreakpointByUrl 853 ################################################################################################################ 854 locations = [debugger.BreakLocationUrl(url=self.config['file_path']['index'], line_number=220)] 855 params = debugger.SetBreakpointsLocations(locations) 856 response = await self.debugger_impl.send("Debugger.getPossibleAndSetBreakpointsByUrl", 857 main_thread, params) 858 assert response['result']['locations'][0]['id'] == 'id:220:0:' + self.config['file_path']['index'] 859 ################################################################################################################ 860 # main thread: Debugger.resume 861 ################################################################################################################ 862 await self.debugger_impl.send("Debugger.resume", main_thread) 863 # main thread: Debugger.paused 864 response = await self.debugger_impl.recv("Debugger.paused", main_thread) 865 assert response['params']['callFrames'][0]['url'] == self.config['file_path']['index'] 866 assert response['params']['reason'] == 'other' 867 assert response['params']['hitBreakpoints'] == ['id:220:9:' + self.config['file_path']['index']] 868 ################################################################################################################ 869 # main thread: Debugger.evaluateOnCallFrame 870 ################################################################################################################ 871 params = debugger.EvaluateOnCallFrameParams('a') 872 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 873 assert response['result']['result'] == {"type": "number", "unserializableValue": "3", "description": "3"} 874 params = debugger.EvaluateOnCallFrameParams('d') 875 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 876 assert response['result']['result'] == {"type": "number", "unserializableValue": "17", "description": "17"} 877 ################################################################################################################ 878 # main thread: Debugger.dropFrame 879 ################################################################################################################ 880 params = debugger.DropFrameParams() 881 await self.debugger_impl.send("Debugger.dropFrame", main_thread, params) 882 # main thread: Debugger.paused 883 response = await self.debugger_impl.recv("Debugger.paused", main_thread) 884 assert response['params']['callFrames'][0]['url'] == self.config['file_path']['index'] 885 assert response['params']['reason'] == 'other' 886 assert response['params']['hitBreakpoints'] == [] 887 ################################################################################################################ 888 # main thread: Debugger.evaluateOnCallFrame 889 ################################################################################################################ 890 params = debugger.EvaluateOnCallFrameParams('a') 891 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 892 assert response['result']['result'] == {"type": "number", "unserializableValue": "2", "description": "2"} 893 params = debugger.EvaluateOnCallFrameParams('d') 894 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 895 assert response['result']['result'] == {"type": "number", "unserializableValue": "14", "description": "14"} 896 ################################################################################################################ 897 # main thread: Debugger.removeBreakpointsByUrl 898 ################################################################################################################ 899 params = debugger.RemoveBreakpointsUrl(self.config['file_path']['index']) 900 await self.debugger_impl.send("Debugger.removeBreakpointsByUrl", main_thread, params) 901 ################################################################################################################ 902 # main thread: Debugger.getPossibleAndSetBreakpointByUrl 903 ################################################################################################################ 904 locations = [debugger.BreakLocationUrl(url=self.config['file_path']['index'], line_number=236)] 905 params = debugger.SetBreakpointsLocations(locations) 906 response = await self.debugger_impl.send("Debugger.getPossibleAndSetBreakpointsByUrl", 907 main_thread, params) 908 assert response['result']['locations'][0]['id'] == 'id:236:0:' + self.config['file_path']['index'] 909 ################################################################################################################ 910 # main thread: Debugger.resume 911 ################################################################################################################ 912 await self.debugger_impl.send("Debugger.resume", main_thread) 913 # main thread: Debugger.paused 914 response = await self.debugger_impl.recv("Debugger.paused", main_thread) 915 assert response['params']['callFrames'][0]['url'] == self.config['file_path']['index'] 916 assert response['params']['reason'] == 'other' 917 assert response['params']['hitBreakpoints'] == ['id:236:5:' + self.config['file_path']['index']] 918 ################################################################################################################ 919 # main thread: Debugger.evaluateOnCallFrame 920 ################################################################################################################ 921 P1_INTRODUCE = ( 922 'UEFOREEAAAAAAAAADAACAGQBAAAAAAAAAAAAAAIAAAA8AAAAAQAAAGABAAAAAAAARAAAAAEAAABEAAAAoQAAANQAAACAAAAAZAEAAAIAAA' 923 'BsAAAAAwAAAHQAAAD/////////////////////oQAAANQAAACAAAAAkgAAAJ0AAAAhZGVidWdnZXJHZXRWYWx1ZQATaW50cm9kdWNlAAVw' 924 'MQAzTF9FU1Nsb3ROdW1iZXJBbm5vdGF0aW9uOwAAAAAAgUAAAAIAABdmdW5jX21haW5fMAATTF9HTE9CQUw7AAAAAAABAAECAAABAP//xw' 925 'AAAIgCAR4BAAACAAVWAQAABhEBAAAAFVNsb3ROdW1iZXIAAAABAAUBAAAIAAAANwoDLwBEoESxRMJtYQZgBkIAAABhBz4CAGEIAmEJYAcr' 926 'AggJYQVgBUIEAQBhBGAELQYFZAtrAQ8A/////w8AAgAoAFEBAAA=') 927 ARR_JOIN = ( 928 'UEFOREEAAAAAAAAADAACAGABAAAAAAAAAAAAAAIAAAA8AAAAAQAAAFwBAAAAAAAARAAAAAEAAABEAAAAnQAAANAAAACAAAAAYAEAAAIAAA' 929 'BsAAAAAwAAAHQAAAD/////////////////////nQAAANAAAACAAAAAhQAAAJcAAAAHYXJyACFkZWJ1Z2dlckdldFZhbHVlAAlqb2luADNM' 930 'X0VTU2xvdE51bWJlckFubm90YXRpb247AAAAAACBQAAAAgAAF2Z1bmNfbWFpbl8wABNMX0dMT0JBTDsAAAAAAAEAAQIAAAEA///DAAAAiA' 931 'IBGgEAAAIABVIBAAAGDQEAAAAVU2xvdE51bWJlcgAAAAEAAQEAAAgAAAA3CgMvAESgRLFEwm1hBmAGQgABAGEHPgAAYQgCYQlgBysCCAlh' 932 'BWAFQgQCAGEEYAQtBgVkC2sBDwD/////DwACACgATQEAAA==') 933 params = debugger.EvaluateOnCallFrameParams(P1_INTRODUCE) 934 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 935 assert response['result']['result']['description'] == "name = Kate; age = 10" 936 params = debugger.EvaluateOnCallFrameParams('map') 937 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 938 assert response['result']['result']['description'].startswith("Map(2) {0 => 'str0', 1 => 'str1'}") 939 params = debugger.EvaluateOnCallFrameParams(ARR_JOIN) 940 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 941 assert response['result']['result']['description'] == "10,11,2,3" 942 ################################################################################################################ 943 # main thread: Debugger.dropFrame 944 ################################################################################################################ 945 params = debugger.DropFrameParams() 946 await self.debugger_impl.send("Debugger.dropFrame", main_thread, params) 947 # main thread: Debugger.paused 948 response = await self.debugger_impl.recv("Debugger.paused", main_thread) 949 assert response['params']['callFrames'][0]['url'] == self.config['file_path']['index'] 950 assert response['params']['reason'] == 'other' 951 assert response['params']['hitBreakpoints'] == [] 952 ################################################################################################################ 953 # main thread: Debugger.evaluateOnCallFrame 954 ################################################################################################################ 955 params = debugger.EvaluateOnCallFrameParams(P1_INTRODUCE) 956 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 957 assert response['result']['result']['description'] == "name = Kate; age = 10" 958 params = debugger.EvaluateOnCallFrameParams('map') 959 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 960 assert response['result']['result']['description'].startswith("Map(2) {0 => 'str0', 1 => 'str1'}") 961 params = debugger.EvaluateOnCallFrameParams(ARR_JOIN) 962 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 963 assert response['result']['result']['description'] == "10,11,2,3" 964 ################################################################################################################ 965 # main thread: Debugger.removeBreakpointsByUrl 966 ################################################################################################################ 967 params = debugger.RemoveBreakpointsUrl(self.config['file_path']['index']) 968 await self.debugger_impl.send("Debugger.removeBreakpointsByUrl", main_thread, params) 969 ################################################################################################################ 970 # main thread: Debugger.getPossibleAndSetBreakpointByUrl 971 ################################################################################################################ 972 locations = [debugger.BreakLocationUrl(url=self.config['file_path']['index'], line_number=244)] 973 params = debugger.SetBreakpointsLocations(locations) 974 response = await self.debugger_impl.send("Debugger.getPossibleAndSetBreakpointsByUrl", 975 main_thread, params) 976 assert response['result']['locations'][0]['id'] == 'id:244:0:' + self.config['file_path']['index'] 977 ################################################################################################################ 978 # main thread: Debugger.resume 979 ################################################################################################################ 980 await self.debugger_impl.send("Debugger.resume", main_thread) 981 # main thread: Debugger.paused 982 response = await self.debugger_impl.recv("Debugger.paused", main_thread) 983 assert response['params']['callFrames'][0]['url'] == self.config['file_path']['index'] 984 assert response['params']['reason'] == 'other' 985 assert response['params']['hitBreakpoints'] == ['id:244:5:' + self.config['file_path']['index']] 986 ################################################################################################################ 987 # main thread: Debugger.evaluateOnCallFrame 988 ################################################################################################################ 989 params = debugger.EvaluateOnCallFrameParams(P1_INTRODUCE) 990 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 991 assert response['result']['result']['description'] == "name = Tony; age = 30" 992 params = debugger.EvaluateOnCallFrameParams('map') 993 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 994 assert response['result']['result']['description'].startswith("Map(1) {2 => 'str2'}") 995 params = debugger.EvaluateOnCallFrameParams(ARR_JOIN) 996 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 997 assert response['result']['result']['description'] == "4,3,2,1,0" 998 ################################################################################################################ 999 # main thread: Debugger.dropFrame 1000 ################################################################################################################ 1001 params = debugger.DropFrameParams() 1002 await self.debugger_impl.send("Debugger.dropFrame", main_thread, params) 1003 # main thread: Debugger.paused 1004 response = await self.debugger_impl.recv("Debugger.paused", main_thread) 1005 assert response['params']['callFrames'][0]['url'] == self.config['file_path']['index'] 1006 assert response['params']['reason'] == 'other' 1007 assert response['params']['hitBreakpoints'] == [] 1008 ################################################################################################################ 1009 # main thread: Debugger.evaluateOnCallFrame 1010 ################################################################################################################ 1011 params = debugger.EvaluateOnCallFrameParams(P1_INTRODUCE) 1012 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 1013 assert response['result']['result']['description'] == "name = Kate; age = 10" 1014 params = debugger.EvaluateOnCallFrameParams('map') 1015 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 1016 assert response['result']['result']['description'].startswith("Map(2) {0 => 'str0', 1 => 'str1'}") 1017 params = debugger.EvaluateOnCallFrameParams(ARR_JOIN) 1018 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 1019 assert response['result']['result']['description'] == "10,11,2,3" 1020 ################################################################################################################ 1021 # main thread: Debugger.removeBreakpointsByUrl 1022 ################################################################################################################ 1023 params = debugger.RemoveBreakpointsUrl(self.config['file_path']['index']) 1024 await self.debugger_impl.send("Debugger.removeBreakpointsByUrl", main_thread, params) 1025 ################################################################################################################ 1026 # main thread: Debugger.getPossibleAndSetBreakpointByUrl 1027 ################################################################################################################ 1028 locations = [debugger.BreakLocationUrl(url=self.config['file_path']['index'], line_number=251)] 1029 params = debugger.SetBreakpointsLocations(locations) 1030 response = await self.debugger_impl.send("Debugger.getPossibleAndSetBreakpointsByUrl", 1031 main_thread, params) 1032 assert response['result']['locations'][0]['id'] == 'id:251:0:' + self.config['file_path']['index'] 1033 ################################################################################################################ 1034 # main thread: Debugger.resume 1035 ################################################################################################################ 1036 await self.debugger_impl.send("Debugger.resume", main_thread) 1037 # main thread: Debugger.paused 1038 response = await self.debugger_impl.recv("Debugger.paused", main_thread) 1039 assert response['params']['callFrames'][0]['url'] == self.config['file_path']['index'] 1040 assert response['params']['reason'] == 'other' 1041 assert response['params']['hitBreakpoints'] == ['id:251:19:' + self.config['file_path']['index']] 1042 ################################################################################################################ 1043 # main thread: Debugger.evaluateOnCallFrame 1044 ################################################################################################################ 1045 params = debugger.EvaluateOnCallFrameParams('c') 1046 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 1047 assert response['result']['result'] == {"type": "number", "unserializableValue": "3", "description": "3"} 1048 ################################################################################################################ 1049 # main thread: Debugger.dropFrame 1050 ################################################################################################################ 1051 params = debugger.DropFrameParams() 1052 await self.debugger_impl.send("Debugger.dropFrame", main_thread, params) 1053 # main thread: Debugger.paused 1054 response = await self.debugger_impl.recv("Debugger.paused", main_thread) 1055 assert response['params']['callFrames'][0]['url'] == self.config['file_path']['index'] 1056 assert response['params']['reason'] == 'other' 1057 assert response['params']['hitBreakpoints'] == [] 1058 ################################################################################################################ 1059 # main thread: Debugger.evaluateOnCallFrame 1060 ################################################################################################################ 1061 params = debugger.EvaluateOnCallFrameParams('c') 1062 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 1063 assert response['result']['result'] == {"type": "number", "unserializableValue": "2", "description": "2"} 1064 ################################################################################################################ 1065 # main thread: Debugger.dropFrame 1066 ################################################################################################################ 1067 params = debugger.DropFrameParams() 1068 await self.debugger_impl.send("Debugger.dropFrame", main_thread, params) 1069 # main thread: Debugger.paused 1070 response = await self.debugger_impl.recv("Debugger.paused", main_thread) 1071 assert response['params']['callFrames'][0]['url'] == self.config['file_path']['index'] 1072 assert response['params']['reason'] == 'other' 1073 assert response['params']['hitBreakpoints'] == [] 1074 ################################################################################################################ 1075 # main thread: Debugger.evaluateOnCallFrame 1076 ################################################################################################################ 1077 params = debugger.EvaluateOnCallFrameParams('c') 1078 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 1079 assert response['result']['result'] == {"type": "number", "unserializableValue": "1", "description": "1"} 1080 ################################################################################################################ 1081 # main thread: Debugger.removeBreakpointsByUrl 1082 ################################################################################################################ 1083 params = debugger.RemoveBreakpointsUrl(self.config['file_path']['index']) 1084 await self.debugger_impl.send("Debugger.removeBreakpointsByUrl", main_thread, params) 1085 ################################################################################################################ 1086 # main thread: Debugger.getPossibleAndSetBreakpointByUrl 1087 ################################################################################################################ 1088 locations = [debugger.BreakLocationUrl(url=self.config['file_path']['index'], line_number=266)] 1089 params = debugger.SetBreakpointsLocations(locations) 1090 response = await self.debugger_impl.send("Debugger.getPossibleAndSetBreakpointsByUrl", 1091 main_thread, params) 1092 assert response['result']['locations'][0]['id'] == 'id:266:0:' + self.config['file_path']['index'] 1093 ################################################################################################################ 1094 # main thread: Debugger.resume 1095 ################################################################################################################ 1096 await self.debugger_impl.send("Debugger.resume", main_thread) 1097 # main thread: Debugger.paused 1098 response = await self.debugger_impl.recv("Debugger.paused", main_thread) 1099 assert response['params']['callFrames'][0]['url'] == self.config['file_path']['index'] 1100 assert response['params']['reason'] == 'other' 1101 assert response['params']['hitBreakpoints'] == ['id:266:22:' + self.config['file_path']['index']] 1102 ################################################################################################################ 1103 # main thread: Debugger.evaluateOnCallFrame 1104 ################################################################################################################ 1105 params = debugger.EvaluateOnCallFrameParams('b') 1106 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 1107 assert response['result']['result'] == {"type": "number", "unserializableValue": "2", "description": "2"} 1108 ################################################################################################################ 1109 # main thread: Debugger.dropFrame 1110 ################################################################################################################ 1111 params = debugger.DropFrameParams() 1112 await self.debugger_impl.send("Debugger.dropFrame", main_thread, params) 1113 # main thread: Debugger.paused 1114 response = await self.debugger_impl.recv("Debugger.paused", main_thread) 1115 assert response['params']['callFrames'][0]['url'] == self.config['file_path']['index'] 1116 assert response['params']['reason'] == 'other' 1117 assert response['params']['hitBreakpoints'] == [] 1118 ################################################################################################################ 1119 # main thread: Debugger.evaluateOnCallFrame 1120 ################################################################################################################ 1121 params = debugger.EvaluateOnCallFrameParams('b') 1122 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 1123 assert response['result']['result'] == {"type": "number", "unserializableValue": "1", "description": "1"} 1124 ################################################################################################################ 1125 # main thread: Debugger.removeBreakpointsByUrl 1126 ################################################################################################################ 1127 params = debugger.RemoveBreakpointsUrl(self.config['file_path']['index']) 1128 await self.debugger_impl.send("Debugger.removeBreakpointsByUrl", main_thread, params) 1129 ################################################################################################################ 1130 # main thread: Debugger.getPossibleAndSetBreakpointByUrl 1131 ################################################################################################################ 1132 locations = [debugger.BreakLocationUrl(url=self.config['file_path']['index'], line_number=272)] 1133 params = debugger.SetBreakpointsLocations(locations) 1134 response = await self.debugger_impl.send("Debugger.getPossibleAndSetBreakpointsByUrl", 1135 main_thread, params) 1136 assert response['result']['locations'][0]['id'] == 'id:272:0:' + self.config['file_path']['index'] 1137 ################################################################################################################ 1138 # main thread: Debugger.resume 1139 ################################################################################################################ 1140 await self.debugger_impl.send("Debugger.resume", main_thread) 1141 # main thread: Debugger.paused 1142 response = await self.debugger_impl.recv("Debugger.paused", main_thread) 1143 assert response['params']['callFrames'][0]['url'] == self.config['file_path']['index'] 1144 assert response['params']['reason'] == 'other' 1145 assert response['params']['hitBreakpoints'] == ['id:272:8:' + self.config['file_path']['index']] 1146 ################################################################################################################ 1147 # main thread: Debugger.evaluateOnCallFrame 1148 ################################################################################################################ 1149 params = debugger.EvaluateOnCallFrameParams('b') 1150 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 1151 assert response['result']['result'] == {"type": "number", "unserializableValue": "3", "description": "3"} 1152 ################################################################################################################ 1153 # main thread: Debugger.dropFrame 1154 ################################################################################################################ 1155 params = debugger.DropFrameParams() 1156 await self.debugger_impl.send("Debugger.dropFrame", main_thread, params) 1157 # main thread: Debugger.paused 1158 response = await self.debugger_impl.recv("Debugger.paused", main_thread) 1159 assert response['params']['callFrames'][0]['url'] == self.config['file_path']['index'] 1160 assert response['params']['reason'] == 'other' 1161 assert response['params']['hitBreakpoints'] == [] 1162 ################################################################################################################ 1163 # main thread: Debugger.evaluateOnCallFrame 1164 ################################################################################################################ 1165 params = debugger.EvaluateOnCallFrameParams('b') 1166 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", main_thread, params) 1167 assert response['result']['result'] == {"type": "number", "unserializableValue": "0", "description": "0"} 1168 ################################################################################################################ 1169 # main thread: Debugger.removeBreakpointsByUrl 1170 ################################################################################################################ 1171 params = debugger.RemoveBreakpointsUrl(self.config['file_path']['index']) 1172 await self.debugger_impl.send("Debugger.removeBreakpointsByUrl", main_thread, params) 1173 ################################################################################################################ 1174 # main thread: Debugger.resume 1175 ################################################################################################################ 1176 await self.debugger_impl.send("Debugger.resume", main_thread) 1177 ################################################################################################################ 1178 # worker thread: Debugger.scriptParsed 1179 ################################################################################################################ 1180 response = await self.debugger_impl.recv("Debugger.scriptParsed", worker_thread) 1181 assert response['params']['url'] == self.config['file_path']['index'] 1182 assert response['params']['endLine'] == 0 1183 # worker thread: Debugger.paused 1184 response = await self.debugger_impl.recv("Debugger.paused", worker_thread) 1185 assert response['params']['callFrames'][0]['url'] == self.config['file_path']['index'] 1186 assert response['params']['reason'] == 'Break on start' 1187 ################################################################################################################ 1188 # worker thread: Debugger.removeBreakpointsByUrl 1189 ################################################################################################################ 1190 params = debugger.RemoveBreakpointsUrl(self.config['file_path']['index']) 1191 await self.debugger_impl.send("Debugger.removeBreakpointsByUrl", worker_thread, params) 1192 ################################################################################################################ 1193 # worker thread: Debugger.getPossibleAndSetBreakpointByUrl 1194 ################################################################################################################ 1195 locations = [debugger.BreakLocationUrl(url=self.config['file_path']['index'], line_number=29)] 1196 params = debugger.SetBreakpointsLocations(locations) 1197 response = await self.debugger_impl.send("Debugger.getPossibleAndSetBreakpointsByUrl", 1198 worker_thread, params) 1199 assert response['result']['locations'][0]['id'] == 'id:29:0:' + self.config['file_path']['index'] 1200 ################################################################################################################ 1201 # worker thread: Debugger.resume 1202 ################################################################################################################ 1203 await self.debugger_impl.send("Debugger.resume", worker_thread) 1204 # worker thread: Debugger.paused 1205 response = await self.debugger_impl.recv("Debugger.paused", worker_thread) 1206 assert response['params']['callFrames'][0]['url'] == self.config['file_path']['index'] 1207 assert response['params']['reason'] == 'other' 1208 assert response['params']['hitBreakpoints'] == ['id:29:9:' + self.config['file_path']['index']] 1209 ################################################################################################################ 1210 # worker thread: Debugger.evaluateOnCallFrame 1211 ################################################################################################################ 1212 params = debugger.EvaluateOnCallFrameParams('ac') 1213 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", worker_thread, params) 1214 assert response['result']['result'] == {"type": "number", "unserializableValue": "20", "description": "20"} 1215 ################################################################################################################ 1216 # worker thread: Debugger.dropFrame 1217 ################################################################################################################ 1218 params = debugger.DropFrameParams() 1219 await self.debugger_impl.send("Debugger.dropFrame", worker_thread, params) 1220 # worker thread: Debugger.paused 1221 response = await self.debugger_impl.recv("Debugger.paused", worker_thread) 1222 assert response['params']['callFrames'][0]['url'] == self.config['file_path']['index'] 1223 assert response['params']['reason'] == 'other' 1224 assert response['params']['hitBreakpoints'] == [] 1225 ################################################################################################################ 1226 # worker thread: Debugger.evaluateOnCallFrame 1227 ################################################################################################################ 1228 params = debugger.EvaluateOnCallFrameParams('ac') 1229 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", worker_thread, params) 1230 assert response['result']['result'] == {"type": "number", "unserializableValue": "10", "description": "10"} 1231 ################################################################################################################ 1232 # worker thread: Debugger.dropFrame 1233 ################################################################################################################ 1234 params = debugger.DropFrameParams() 1235 response = await self.debugger_impl.send("Debugger.dropFrame", worker_thread, params) 1236 assert response['result']['message'] == 'Not yet support sendable method' 1237 ################################################################################################################ 1238 # worker thread: Debugger.removeBreakpointsByUrl 1239 ################################################################################################################ 1240 params = debugger.RemoveBreakpointsUrl(self.config['file_path']['index']) 1241 await self.debugger_impl.send("Debugger.removeBreakpointsByUrl", worker_thread, params) 1242 ################################################################################################################ 1243 # worker thread: Debugger.getPossibleAndSetBreakpointByUrl 1244 ################################################################################################################ 1245 locations = [debugger.BreakLocationUrl(url=self.config['file_path']['index'], line_number=283)] 1246 params = debugger.SetBreakpointsLocations(locations) 1247 response = await self.debugger_impl.send("Debugger.getPossibleAndSetBreakpointsByUrl", 1248 worker_thread, params) 1249 assert response['result']['locations'][0]['id'] == 'id:283:0:' + self.config['file_path']['index'] 1250 ################################################################################################################ 1251 # worker thread: Debugger.resume 1252 ################################################################################################################ 1253 await self.debugger_impl.send("Debugger.resume", worker_thread) 1254 # worker thread: Debugger.paused 1255 response = await self.debugger_impl.recv("Debugger.paused", worker_thread) 1256 assert response['params']['callFrames'][0]['url'] == self.config['file_path']['index'] 1257 assert response['params']['reason'] == 'other' 1258 assert response['params']['hitBreakpoints'] == ['id:283:9:' + self.config['file_path']['index']] 1259 ################################################################################################################ 1260 # worker thread: Debugger.evaluateOnCallFrame 1261 ################################################################################################################ 1262 params = debugger.EvaluateOnCallFrameParams('ia') 1263 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", worker_thread, params) 1264 assert response['result']['result'] == {"type": "number", "unserializableValue": "200", "description": "200"} 1265 ################################################################################################################ 1266 # worker thread: Debugger.dropFrame 1267 ################################################################################################################ 1268 params = debugger.DropFrameParams() 1269 await self.debugger_impl.send("Debugger.dropFrame", worker_thread, params) 1270 # worker thread: Debugger.paused 1271 response = await self.debugger_impl.recv("Debugger.paused", worker_thread) 1272 assert response['params']['callFrames'][0]['url'] == self.config['file_path']['index'] 1273 assert response['params']['reason'] == 'other' 1274 assert response['params']['hitBreakpoints'] == [] 1275 ################################################################################################################ 1276 # worker thread: Debugger.evaluateOnCallFrame 1277 ################################################################################################################ 1278 params = debugger.EvaluateOnCallFrameParams('ia') 1279 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", worker_thread, params) 1280 assert response['result']['result'] == {"type": "number", "unserializableValue": "120", "description": "120"} 1281 ################################################################################################################ 1282 # worker thread: Debugger.dropFrame 1283 ################################################################################################################ 1284 params = debugger.DropFrameParams() 1285 await self.debugger_impl.send("Debugger.dropFrame", worker_thread, params) 1286 # worker thread: Debugger.paused 1287 response = await self.debugger_impl.recv("Debugger.paused", worker_thread) 1288 assert response['params']['callFrames'][0]['url'] == self.config['file_path']['index'] 1289 assert response['params']['reason'] == 'other' 1290 assert response['params']['hitBreakpoints'] == [] 1291 ################################################################################################################ 1292 # worker thread: Debugger.evaluateOnCallFrame 1293 ################################################################################################################ 1294 params = debugger.EvaluateOnCallFrameParams('ia') 1295 response = await self.debugger_impl.send("Debugger.evaluateOnCallFrame", worker_thread, params) 1296 assert response['result']['result'] == {"type": "number", "unserializableValue": "100", "description": "100"} 1297 ################################################################################################################ 1298 # worker thread: Debugger.removeBreakpointsByUrl 1299 ################################################################################################################ 1300 params = debugger.RemoveBreakpointsUrl(self.config['file_path']['index']) 1301 await self.debugger_impl.send("Debugger.removeBreakpointsByUrl", worker_thread, params) 1302 ################################################################################################################ 1303 # worker thread: Debugger.resume 1304 ################################################################################################################ 1305 await self.debugger_impl.send("Debugger.resume", worker_thread) 1306 ################################################################################################################ 1307 # worker thread: Debugger.disable 1308 ################################################################################################################ 1309 await self.debugger_impl.send("Debugger.disable", worker_thread) 1310 ################################################################################################################ 1311 # main thread: Debugger.disable 1312 ################################################################################################################ 1313 await self.debugger_impl.send("Debugger.disable", main_thread) 1314 ################################################################################################################ 1315 # close the websocket connections 1316 ################################################################################################################ 1317 await websocket.send_msg_to_debugger_server(worker_thread.instance_id, worker_thread.send_msg_queue, 'close') 1318 await websocket.send_msg_to_debugger_server(main_thread.instance_id, main_thread.send_msg_queue, 'close') 1319 await websocket.send_msg_to_connect_server('close') 1320 ################################################################################################################