Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ed23e987 authored by Gil Dekel's avatar Gil Dekel
Browse files

end2end: Remove DisplayIdentification dependency

EdidBuilder_test currently depends on ui/DisplayIdentification.h, but it
has to be moved back to SF. Once it is moved, the end2end test framework
will not be able to depend on it, at least not in a trivial way.

Remove all DisplayIdentification dependency from end2end
EdidBuilder_test by deleting the tests that use EDID parsing logic.

Bug: 415035569
Flag: EXEMPT refactor
Test: surfaceflinger_end2end_tests
Change-Id: I82f46c0a55beab04bc80d7af6740e67aa11389ad
parent 69b93ac0
Loading
Loading
Loading
Loading
+0 −71
Original line number Diff line number Diff line
@@ -17,11 +17,9 @@
#include <algorithm>
#include <array>
#include <iterator>
#include <string_view>

#include <fmt/format.h>
#include <gtest/gtest.h>
#include <ui/DisplayIdentification.h>
#include <ui/Size.h>

#include "test_framework/core/EdidBuilder.h"
@@ -115,74 +113,5 @@ TEST(EdidBuilder, DefaultPrebuiltMatchesDefaultWhenBuilt) {
    // NOLINTEND(cppcoreguidelines-pro-bounds-constant-array-index)
}

TEST(EdidBuilder, ParsedDefault) {
    constexpr auto kProductName = "test-product"sv;
    const auto built = EdidBuilder()
                               .set(EdidBuilder::Version1r4Required{})
                               .addDisplayProductNameStringDescriptor(kProductName)
                               .build();

    const DisplayIdentificationData edid{built.begin(), built.end()};
    EXPECT_TRUE(isEdid(edid));
    const auto parsed = parseEdid(edid);
    ASSERT_TRUE(parsed);
    EXPECT_EQ(parsed->productId, EdidBuilder::Vendor{}.manufacturerProductCode);
    EXPECT_EQ(std::string_view(parsed->pnpId.data(), 3),
              std::string_view(EdidBuilder::Vendor{}.manufacturerId.data(), 3));
    EXPECT_EQ(parsed->displayName, kProductName);
    EXPECT_EQ(
            parsed->physicalSizeInCm,
            ui::Size(
                    EdidBuilder::BasicDigitalDisplayParametersAndFeatures::kDefaultHorizontalSizeCm,
                    EdidBuilder::BasicDigitalDisplayParametersAndFeatures::kDefaultVerticalSizeCm));
    ASSERT_TRUE(parsed->preferredDetailedTimingDescriptor);
    EXPECT_EQ(parsed->preferredDetailedTimingDescriptor->pixelSizeCount,
              ui::Size(EdidBuilder::DigitalSeparateDetailedTimingDescriptor::k1920x1080x60HzStandard
                               .horizontal.addressable,
                       EdidBuilder::DigitalSeparateDetailedTimingDescriptor::k1920x1080x60HzStandard
                               .vertical.addressable));
    EXPECT_EQ(parsed->preferredDetailedTimingDescriptor->physicalSizeInMm,
              ui::Size(EdidBuilder::DigitalSeparateDetailedTimingDescriptor::
                               kDefaultHorizontalImageSizeMm,
                       EdidBuilder::DigitalSeparateDetailedTimingDescriptor::
                               kDefaultVerticalImageSizeMm));
}

TEST(EdidBuilder, Parsed1080p144hz) {
    constexpr auto kProductName = "test-gaming"sv;
    const auto timing = EdidBuilder::DigitalSeparateDetailedTimingDescriptor::Timing::synthesize(
            {1920, 1080}, 144);
    const auto built = EdidBuilder()
                               .set(EdidBuilder::Version1r4Required{
                                       .preferred =
                                               {
                                                       .timing = timing,
                                               },
                               })
                               .addDisplayProductNameStringDescriptor(kProductName)
                               .build();

    const DisplayIdentificationData edid{built.begin(), built.end()};
    EXPECT_TRUE(isEdid(edid));
    const auto parsed = parseEdid(edid);
    ASSERT_TRUE(parsed);
    EXPECT_EQ(parsed->productId, EdidBuilder::Vendor{}.manufacturerProductCode);
    EXPECT_EQ(std::string_view(parsed->pnpId.data(), 3),
              std::string_view(EdidBuilder::Vendor{}.manufacturerId.data(), 3));
    EXPECT_EQ(parsed->displayName, kProductName);
    EXPECT_EQ(
            parsed->physicalSizeInCm,
            ui::Size(
                    EdidBuilder::BasicDigitalDisplayParametersAndFeatures::kDefaultHorizontalSizeCm,
                    EdidBuilder::BasicDigitalDisplayParametersAndFeatures::kDefaultVerticalSizeCm));
    ASSERT_TRUE(parsed->preferredDetailedTimingDescriptor);
    EXPECT_EQ(parsed->preferredDetailedTimingDescriptor->pixelSizeCount, ui::Size(1920, 1080));
    EXPECT_EQ(parsed->preferredDetailedTimingDescriptor->physicalSizeInMm,
              ui::Size(EdidBuilder::DigitalSeparateDetailedTimingDescriptor::
                               kDefaultHorizontalImageSizeMm,
                       EdidBuilder::DigitalSeparateDetailedTimingDescriptor::
                               kDefaultVerticalImageSizeMm));
}

}  // namespace
}  // namespace android::surfaceflinger::tests::end2end