MCPcopy Create free account
hub / github.com/AGenUI/AGenUI / runDC002

Function runDC002

tests/cpp/integration/engine_destroy_chain_test.cpp:102–127  ·  view source on GitHub ↗

DC002 body: mid-stream destroy.

Source from the content-addressed store, hash-verified

100
101// DC002 body: mid-stream destroy.
102static void runDC002() {
103 auto* engine = ::agenui::getAGenUIEngine();
104 if (!engine) _exit(1);
105
106 ::agenui::testing::MockMessageListener listener;
107
108 auto* sm = engine->createSurfaceManager();
109 if (!sm) _exit(2);
110 ::agenui::testing::WaitForWorkerIdle();
111
112 sm->addSurfaceEventListener(&listener);
113
114 // Start a streaming session but do NOT end it
115 sm->beginTextStream();
116 sm->receiveTextChunk(createSurfaceJson("dc002"));
117 sm->receiveTextChunk(R"({"version":"v0.9","updateCompon)");
118 // Deliberately leave session open — no endTextStream()
119
120 // Do NOT remove listener — tests uninit() robustness
121 engine->destroySurfaceManager(sm);
122
123 // No drain — engine->stop() drains the worker thread itself.
124 ::agenui::destroyAGenUIEngine();
125
126 _exit(0);
127}
128
129// DC003 body: multiple SurfaceManagers.
130static void runDC003() {

Callers 1

TEST_FFunction · 0.85

Calls 9

getAGenUIEngineFunction · 0.85
WaitForWorkerIdleFunction · 0.85
createSurfaceJsonFunction · 0.85
destroyAGenUIEngineFunction · 0.85
createSurfaceManagerMethod · 0.45
beginTextStreamMethod · 0.45
receiveTextChunkMethod · 0.45
destroySurfaceManagerMethod · 0.45

Tested by

no test coverage detected