(case_setup_dap, pyfile)
| 2413 | |
| 2414 | |
| 2415 | def test_evaluate_block_clipboard(case_setup_dap, pyfile): |
| 2416 | |
| 2417 | @pyfile |
| 2418 | def target(): |
| 2419 | MAX_LIMIT = 65538 |
| 2420 | |
| 2421 | class SomeObj(object): |
| 2422 | |
| 2423 | def __str__(self): |
| 2424 | return var1 |
| 2425 | |
| 2426 | __repr__ = __str__ |
| 2427 | |
| 2428 | var1 = "a" * 80000 |
| 2429 | var2 = 20000 |
| 2430 | var3 = SomeObj() |
| 2431 | |
| 2432 | print("TEST SUCEEDED") # Break here |
| 2433 | |
| 2434 | def verify(evaluate_response): |
| 2435 | # : :type evaluate_response: EvaluateResponse |
| 2436 | assert len(evaluate_response.body.result) >= 80000 |
| 2437 | assert "..." not in evaluate_response.body.result |
| 2438 | assert set(evaluate_response.body.result).issubset(set(["a", "'"])) |
| 2439 | |
| 2440 | with case_setup_dap.test_file(target) as writer: |
| 2441 | json_facade = JsonFacade(writer) |
| 2442 | json_facade.write_launch(justMyCode=False) |
| 2443 | json_facade.write_set_breakpoints(writer.get_line_index_with_content("Break here")) |
| 2444 | json_facade.write_make_initial_run() |
| 2445 | |
| 2446 | json_hit = json_facade.wait_for_thread_stopped() |
| 2447 | json_hit = json_facade.get_stack_as_json_hit(json_hit.thread_id) |
| 2448 | |
| 2449 | evaluate_response = json_facade.evaluate( |
| 2450 | "var1", |
| 2451 | frameId=json_hit.frame_id, |
| 2452 | context="clipboard", |
| 2453 | ) |
| 2454 | verify(evaluate_response) |
| 2455 | |
| 2456 | evaluate_response = json_facade.evaluate("var2", frameId=json_hit.frame_id, context="clipboard", fmt={"hex": True}) |
| 2457 | assert evaluate_response.body.result == "0x4e20" |
| 2458 | |
| 2459 | evaluate_response = json_facade.evaluate( |
| 2460 | "var3", |
| 2461 | frameId=json_hit.frame_id, |
| 2462 | context="clipboard", |
| 2463 | ) |
| 2464 | verify(evaluate_response) |
| 2465 | |
| 2466 | json_facade.write_continue() |
| 2467 | writer.finished_ok = True |
| 2468 | |
| 2469 | |
| 2470 | def test_exception_on_dir(case_setup_dap): |
nothing calls this directly
no test coverage detected