// Step 1937: Sprint 281 Integration — Python+Rust DAP session // // Scenario: a Python service calling into Rust. // - Adapters registered for Python and Rust. // - Breakpoints on "computeSum" node in both languages. // - A stopped event is broadcast; handlers in both adapters receive it. // - Breakpoint hit on Rust source dispatches router to Rust. // - DAP request validation confirms well-formed messages throughout. // - Sprint281IntegrationSummary reports 5 steps complete. // // t1: validator accepts all well-formed DAP messages in the session // t2: capability negotiator routes commands to correct adapter // t3: event broadcaster delivers stopped event to both subscribers // t4: hit dispatcher routes server.rs:42 hit to Rust adapter // t5: Sprint281IntegrationSummary reports success #include "DAPRequestValidator.h" #include "DAPCapabilityNegotiator.h" #include "DAPEventBroadcaster.h" #include "DAPBreakpointHitDispatcher.h" #include "ASTNodeBreakpointMapper.h" #include "DebugAdapterRouter.h" #include "Sprint281IntegrationSummary.h" #include namespace ws = whetstone; static int p=0,f=0; #define T(n) { std::cout<<" "<<#n<<"... "; } #define P() { std::cout<<"PASS\n"; ++p; } #define F(m) { std::cout<<"FAIL: "< 0 ? 1 : 0; }