This commit is contained in:
2026-08-15 21:48:23 +08:00
parent 26bbc29a16
commit 023250c0fc
45 changed files with 457 additions and 415 deletions
+4 -4
View File
@@ -75,7 +75,7 @@ void expect_actual_datoviz_pixels(const std::string& frame,
std::uint32_t expected_width,
std::uint32_t expected_height) {
ASSERT_GE(frame.size(), pixel_frame_header_size);
ASSERT_EQ(frame.substr(0, 4), "RVP1");
ASSERT_EQ(frame.substr(0, 4), "RVP2");
ASSERT_EQ(read_u32_le(frame, 4), expected_width);
ASSERT_EQ(read_u32_le(frame, 8), expected_height);
ASSERT_EQ(read_u32_le(frame, 12), expected_width * 4U);
@@ -162,9 +162,9 @@ TEST(RenderiveWebDatovizGallery, RgbaEncoderPreservesRowsAndRemovesPadding) {
source[8] = source[9] = source[10] = source[11] = 99;
const std::string frame = encode_rgba8_pixel_frame(
reinterpret_cast<const std::byte*>(source.data()), 2, 2, 12);
reinterpret_cast<const std::byte*>(source.data()), 2, 2, 12, 42);
ASSERT_EQ(frame.size(), pixel_frame_header_size + expected.size());
EXPECT_EQ(frame.substr(0, 4), "RVP1");
EXPECT_EQ(frame.substr(0, 4), "RVP2");
EXPECT_EQ(read_u32_le(frame, 4), 2U);
EXPECT_EQ(read_u32_le(frame, 8), 2U);
EXPECT_EQ(read_u32_le(frame, 12), 8U);
@@ -173,7 +173,7 @@ TEST(RenderiveWebDatovizGallery, RgbaEncoderPreservesRowsAndRemovesPadding) {
reinterpret_cast<const std::uint8_t*>(
frame.data() + pixel_frame_header_size)));
EXPECT_TRUE(encode_rgba8_pixel_frame(
reinterpret_cast<const std::byte*>(source.data()), 2, 2, 7)
reinterpret_cast<const std::byte*>(source.data()), 2, 2, 7, 42)
.empty());
}
+8 -7
View File
@@ -193,9 +193,9 @@ TEST(RenderiveWebBridge, EncodesRgbaPixelFrame) {
const Pixel pixels[] = {pack_rgba(255, 0, 0), pack_rgba(0, 255, 0)};
const Image_View image{reinterpret_cast<const std::byte*>(pixels), 2, 1,
static_cast<int>(sizeof(pixels)), Pixel_Format::Premultiplied_32};
const std::string frame = encode_pixel_frame(image);
const std::string frame = encode_pixel_frame(image, 42);
ASSERT_EQ(frame.size(), pixel_frame_header_size + 8);
EXPECT_EQ(frame.substr(0, 4), "RVP1");
EXPECT_EQ(frame.substr(0, 4), "RVP2");
EXPECT_EQ(read_u32_le(frame, 4), 2U);
EXPECT_EQ(read_u32_le(frame, 8), 1U);
EXPECT_EQ(read_u32_le(frame, 12), 8U);
@@ -216,7 +216,7 @@ TEST(RenderiveWebBridge, LegacyReceiverStillRendersPixels) {
ASSERT_TRUE(frame.has_value());
EXPECT_EQ(frame->type, Web_Response_Type::Pixels);
ASSERT_GE(frame->payload.size(), pixel_frame_header_size);
EXPECT_EQ(frame->payload.substr(0, 4), "RVP1");
EXPECT_EQ(frame->payload.substr(0, 4), "RVP2");
EXPECT_EQ(read_u32_le(frame->payload, 4), 640U);
EXPECT_EQ(read_u32_le(frame->payload, 8), 360U);
}
@@ -226,7 +226,8 @@ TEST(RenderiveWebGallery, AdminiveCatalogCoversEveryControlCaseAndThreeModes) {
EXPECT_EQ(catalog.at("category"), "gallery");
EXPECT_EQ(catalog.at("type"), "catalog");
EXPECT_EQ(catalog.at("protocol"), "renderive.control-gallery");
EXPECT_EQ(catalog.at("protocol_version"), 4);
EXPECT_EQ(catalog.at("protocol_version"), 5);
EXPECT_EQ(catalog.at("transport").at("pixels"), "websocket-binary-rvp2");
EXPECT_EQ(catalog.at("case_descriptor").at("protocol"), "adminive.resource");
EXPECT_EQ(catalog.at("cases").size(), 23U);
EXPECT_EQ(catalog.at("frame_modes").size(), 3U);
@@ -243,7 +244,7 @@ TEST(RenderiveWebGallery, AdminiveCatalogCoversEveryControlCaseAndThreeModes) {
TEST(RenderiveWebGallery, CatalogOwnsDashboardFieldsAndDynamicBehavior) {
const nlohmann::json catalog = parse_json(Gallery_Protocol::catalog_json());
const auto& dashboard = catalog.at("dashboard");
EXPECT_EQ(dashboard.at("performance").at("fields").size(), 30U);
EXPECT_EQ(dashboard.at("performance").at("fields").size(), 36U);
EXPECT_EQ(dashboard.at("limits").at("fields").size(), 4U);
EXPECT_EQ(dashboard.at("observer").at("sections").size(), 4U);
std::set<std::string> client_sources;
@@ -904,7 +905,7 @@ TEST(RenderiveWebGallery, EveryCanvasAcceptsTheCompleteWebEventSetAndStillRender
const auto frame = wait_for_pixel_frame(session, 420, 260);
ASSERT_TRUE(frame.has_value());
ASSERT_EQ(frame->type, Web_Response_Type::Pixels);
EXPECT_EQ(frame->payload.substr(0, 4), "RVP1");
EXPECT_EQ(frame->payload.substr(0, 4), "RVP2");
EXPECT_EQ(read_u32_le(frame->payload, 4), 420U);
EXPECT_EQ(read_u32_le(frame->payload, 8), 260U);
const auto telemetry = observe_telemetry(session);
@@ -960,7 +961,7 @@ TEST(RenderiveWebGallery, EveryIndependentCore2CanvasBuildsAndRenders) {
const auto frame = wait_for_pixel_frame(session, 480, 280);
ASSERT_TRUE(frame.has_value()) << case_id;
ASSERT_EQ(frame->type, Web_Response_Type::Pixels) << case_id;
EXPECT_EQ(frame->payload.substr(0, 4), "RVP1") << case_id;
EXPECT_EQ(frame->payload.substr(0, 4), "RVP2") << case_id;
EXPECT_EQ(read_u32_le(frame->payload, 4), 480U) << case_id;
EXPECT_EQ(read_u32_le(frame->payload, 8), 280U) << case_id;
const auto observed = session.handle(gallery_request(