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

Commit 4cc49362 authored by Android Build Coastguard Worker's avatar Android Build Coastguard Worker
Browse files

Snap for 7839089 from 09e486ee to tm-release

Change-Id: I6f7922917a01cbf150d52a20dc5051acb90ebf18
parents b289ed79 09e486ee
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
# Bug component: 156070
#Context Hub team
arthuri@google.com
bduddie@google.com
stange@google.com

#VTS team
dshi@google.com
+2 −7
Original line number Diff line number Diff line
#Context Hub team
arthuri@google.com
bduddie@google.com
stange@google.com

#VTS team
dshi@google.com
# Bug component: 156070
include ../../../1.0/vts/functional/OWNERS
+2 −7
Original line number Diff line number Diff line
#Context Hub team
arthuri@google.com
bduddie@google.com
stange@google.com

#VTS team
dshi@google.com
# Bug component: 156070
include ../../../1.0/vts/functional/OWNERS
+0 −55
Original line number Diff line number Diff line
@@ -19,8 +19,6 @@
#include <algorithm>
#include <regex>
#include <thread>
#include <unordered_map>
#include <utility>

#include <android-base/logging.h>
#include <android-base/properties.h>
@@ -317,59 +315,6 @@ TEST_P(GraphicsComposerHidlTest, GetDisplayAttribute_2_4) {
    }
}

TEST_P(GraphicsComposerHidlTest, GetDisplayAttribute_2_4_ConfigsInAGroupDifferOnlyByVsyncPeriod) {
    struct Resolution {
        int32_t width, height;
    };
    struct Dpi {
        int32_t x, y;
    };
    for (const auto& display : mDisplays) {
        std::vector<Config> configs = mComposerClient->getDisplayConfigs(display.get());
        std::unordered_map<int32_t, Resolution> configGroupToResolutionMap;
        std::unordered_map<int32_t, Dpi> configGroupToDpiMap;
        for (auto config : configs) {
            const auto configGroup = mComposerClient->getDisplayAttribute_2_4(
                    display.get(), config, IComposerClient::Attribute::CONFIG_GROUP);
            const auto width = mComposerClient->getDisplayAttribute_2_4(
                    display.get(), config, IComposerClient::Attribute::WIDTH);
            const auto height = mComposerClient->getDisplayAttribute_2_4(
                    display.get(), config, IComposerClient::Attribute::HEIGHT);
            if (configGroupToResolutionMap.find(configGroup) == configGroupToResolutionMap.end()) {
                configGroupToResolutionMap[configGroup] = {width, height};
            }
            EXPECT_EQ(configGroupToResolutionMap[configGroup].width, width);
            EXPECT_EQ(configGroupToResolutionMap[configGroup].height, height);

            int32_t dpiX = -1;
            mComposerClient->getRaw()->getDisplayAttribute_2_4(
                    display.get(), config, IComposerClient::Attribute::DPI_X,
                    [&](const auto& tmpError, const auto& value) {
                        if (tmpError == Error::NONE) {
                            dpiX = value;
                        }
                    });
            int32_t dpiY = -1;
            mComposerClient->getRaw()->getDisplayAttribute_2_4(
                    display.get(), config, IComposerClient::Attribute::DPI_Y,
                    [&](const auto& tmpError, const auto& value) {
                        if (tmpError == Error::NONE) {
                            dpiY = value;
                        }
                    });
            if (dpiX == -1 && dpiY == -1) {
                continue;
            }

            if (configGroupToDpiMap.find(configGroup) == configGroupToDpiMap.end()) {
                configGroupToDpiMap[configGroup] = {dpiX, dpiY};
            }
            EXPECT_EQ(configGroupToDpiMap[configGroup].x, dpiX);
            EXPECT_EQ(configGroupToDpiMap[configGroup].y, dpiY);
        }
    }
}

TEST_P(GraphicsComposerHidlTest, getDisplayVsyncPeriod_BadDisplay) {
    VsyncPeriodNanos vsyncPeriodNanos;
    EXPECT_EQ(Error::BAD_DISPLAY,
+9 −10
Original line number Diff line number Diff line
@@ -13,17 +13,15 @@
#undef LOG_TAG
#define LOG_TAG "VtsHalGraphicsComposer3_TargetTest"

typedef uint64_t DisplayId;

namespace aidl::android::hardware::graphics::composer3::vts {
namespace {

class VtsDisplay {
  public:
    VtsDisplay(DisplayId displayId, int32_t displayWidth, int32_t displayHeight)
    VtsDisplay(uint64_t displayId, int32_t displayWidth, int32_t displayHeight)
        : mDisplayId(displayId), mDisplayWidth(displayWidth), mDisplayHeight(displayHeight) {}

    DisplayId get() const { return mDisplayId; }
    uint64_t get() const { return mDisplayId; }

    void setDimensions(int32_t displayWidth, int32_t displayHeight) {
        mDisplayWidth = displayWidth;
@@ -31,7 +29,7 @@ class VtsDisplay {
    }

  private:
    const DisplayId mDisplayId;
    const uint64_t mDisplayId;
    int32_t mDisplayWidth;
    int32_t mDisplayHeight;
};
@@ -51,7 +49,7 @@ class GraphicsComposerAidlTest : public ::testing::TestWithParam<std::string> {
    // returns an invalid display id (one that has not been registered to a
    // display.  Currently assuming that a device will never have close to
    // std::numeric_limit<uint64_t>::max() displays registered while running tests
    DisplayId GetInvalidDisplayId() {
    uint64_t GetInvalidDisplayId() {
        uint64_t id = std::numeric_limits<uint64_t>::max();
        while (id > 0) {
            if (std::none_of(mDisplays.begin(), mDisplays.end(),
@@ -65,8 +63,8 @@ class GraphicsComposerAidlTest : public ::testing::TestWithParam<std::string> {
    }

    std::shared_ptr<IComposer> mComposer;
    std::shared_ptr<IComposerClient> mComposerClient{};
    DisplayId mInvalidDisplayId;
    std::shared_ptr<IComposerClient> mComposerClient;
    uint64_t mInvalidDisplayId;
    std::vector<VtsDisplay>
            mDisplays;  // TODO(b/202401906) populate all the displays available for test.
};
@@ -74,15 +72,16 @@ class GraphicsComposerAidlTest : public ::testing::TestWithParam<std::string> {
TEST_P(GraphicsComposerAidlTest, getDisplayCapabilitiesBadDisplay) {
    std::vector<DisplayCapability> capabilities;
    const auto error = mComposerClient->getDisplayCapabilities(mInvalidDisplayId, &capabilities);

    EXPECT_FALSE(error.isOk());
    EXPECT_EQ(IComposerClient::EX_BAD_DISPLAY, error.getServiceSpecificError());
}

TEST_P(GraphicsComposerAidlTest, getDisplayCapabilities) {
    for (const auto& display : mDisplays) {
        std::vector<DisplayCapability> capabilities;
        const auto error = mComposerClient->getDisplayCapabilities(display.get(), &capabilities);

        EXPECT_NE(IComposerClient::EX_BAD_DISPLAY, error.getServiceSpecificError());
        EXPECT_TRUE(mComposerClient->getDisplayCapabilities(display.get(), &capabilities).isOk());
    }
}

Loading