MCPcopy Create free account
hub / github.com/fabioz/PyDev.Debugger / test_show_bytecode_json

Function test_show_bytecode_json

tests_python/test_debugger_json.py:4770–4798  ·  view source on GitHub ↗
(case_setup_dap, tmpdir)

Source from the content-addressed store, hash-verified

4768
4769@pytest.mark.skipif(not IS_CPYTHON, reason="CPython only test.")
4770def test_show_bytecode_json(case_setup_dap, tmpdir):
4771 with case_setup_dap.test_file("_debugger_case_show_bytecode.py") as writer:
4772 json_facade = JsonFacade(writer)
4773
4774 json_facade.write_launch(justMyCode=False)
4775
4776 writer.write_add_breakpoint(writer.get_line_index_with_content("breakpoint"))
4777 json_facade.write_make_initial_run()
4778
4779 # First hit is for breakpoint reached via a stack frame that doesn't have source.
4780
4781 json_hit = json_facade.wait_for_thread_stopped()
4782 stack_trace_response_body = json_hit.stack_trace_response.body
4783 source_references = []
4784 for stack_frame in stack_trace_response_body.stackFrames:
4785 if stack_frame["source"]["path"] == "<something>":
4786 source_reference = stack_frame["source"]["sourceReference"]
4787 assert source_reference != 0
4788 source_references.append(source_reference)
4789
4790 # Each frame gets its own source reference.
4791 assert len(set(source_references)) == 2
4792
4793 for source_reference in source_references:
4794 response = json_facade.write_get_source(source_reference)
4795 assert "MyClass" in response.body.content or "foo()" in response.body.content
4796
4797 json_facade.write_continue()
4798 writer.finished_ok = True
4799
4800
4801@pytest.mark.skipif(not TEST_DJANGO, reason="No django available")

Callers

nothing calls this directly

Calls 10

write_launchMethod · 0.95
write_get_sourceMethod · 0.95
write_continueMethod · 0.95
JsonFacadeClass · 0.85
test_fileMethod · 0.80
write_add_breakpointMethod · 0.80
appendMethod · 0.45

Tested by

no test coverage detected