修复了一些bug

This commit is contained in:
2026-08-11 08:42:08 +08:00
parent b1fca95250
commit 14a6e97b64
174 changed files with 81 additions and 21867 deletions
+26
View File
@@ -971,6 +971,32 @@ TEST(RenderiveWebGallery, LowLatencyStrategyKeepsForegroundResponsiveUnderAggres
observer.at("limit_state") == "render_limited");
}
TEST(RenderiveWebGallery, WebPixelStreamCapsAutomaticLowLatencyScheduler) {
Gallery_Plot_Session session(true);
ASSERT_EQ(response_json(session.handle(gallery_request(
Gallery_Request_Kind::Open, open_message("spectrum", "low_latency")))).at("type"),
"case_state");
const auto patched = response_json(session.handle(gallery_request(
Gallery_Request_Kind::Patch,
R"({"category":"event","type":"gallery_patch","patch":{"max_render_fps":1000000000,"pixel_stream_fps":20}})")));
ASSERT_EQ(patched.at("type"), "case_state");
const auto& limit = patched.at("telemetry").at("low_latency_limit");
EXPECT_EQ(patched.at("telemetry").at("kernel_observer").at("configured_frequency_hz"),
1'000'000'000.0);
EXPECT_EQ(patched.at("telemetry").at("kernel_observer").at("target_interval_ns"), 1);
EXPECT_EQ(limit.at("current"), "web_pixel_stream");
EXPECT_TRUE(limit.at("web_pixel_stream_limited").get<bool>());
EXPECT_EQ(limit.at("web_pixel_stream_interval_ns"), 50'000'000);
EXPECT_EQ(limit.at("scheduler_interval_ns"), 50'000'000);
EXPECT_DOUBLE_EQ(limit.at("scheduler_frequency_hz"), 20.0);
const auto baseline = successful_render_count(session);
ASSERT_TRUE(wait_for_condition([&session, baseline] {
return successful_render_count(session) > baseline;
}));
std::this_thread::sleep_for(std::chrono::milliseconds(250));
EXPECT_LE(successful_render_count(session) - baseline, 9U);
}
TEST(RenderiveWebGallery, PlaybackStrategyQueuesWithoutAutomaticConsumptionAndReportsEmptyQueue) {
Gallery_Plot_Session session(true);
const auto opened = response_json(session.handle(gallery_request(