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

Commit 8f10b759 authored by Tianyu Jiang's avatar Tianyu Jiang
Browse files

Improve test readability

Add kMaxNumberOfClients to BufferHubDef. This variable will also be
needed when buffer state is changed according to
go/bufferhub-buffer-state-redesign

Test: BufferHubBuffer_test buffer_hub-test buffer_node-test
Bug: 112007999
Change-Id: I453438f3e2defa1fc93d1e74a282a38360f27694
parent e49caaa3
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -75,6 +75,8 @@ TEST_F(BufferHubBufferTest, DuplicateBufferHubBuffer) {
    auto b1 = BufferHubBuffer::Create(kWidth, kHeight, kLayerCount, kFormat, kUsage,
                                      kUserMetadataSize);
    int id1 = b1->id();
    uint64_t bufferStateMask1 = b1->client_state_mask();
    EXPECT_NE(bufferStateMask1, 0ULL);
    EXPECT_TRUE(b1->IsValid());
    EXPECT_EQ(b1->user_metadata_size(), kUserMetadataSize);

@@ -96,16 +98,14 @@ TEST_F(BufferHubBufferTest, DuplicateBufferHubBuffer) {
    EXPECT_EQ(b2->user_metadata_size(), kUserMetadataSize);

    int id2 = b2->id();
    uint64_t bufferStateMask2 = b2->client_state_mask();
    EXPECT_NE(bufferStateMask2, 0ULL);

    // These two buffer instances are based on the same physical buffer under the
    // hood, so they should share the same id.
    EXPECT_EQ(id1, id2);
    // We use client_state_mask() to tell those two instances apart.
    EXPECT_NE(b1->client_state_mask(), b2->client_state_mask());
    EXPECT_NE(b1->client_state_mask(), 0ULL);
    EXPECT_NE(b2->client_state_mask(), 0ULL);
    EXPECT_NE(b1->client_state_mask(), kProducerStateBit);
    EXPECT_NE(b2->client_state_mask(), kProducerStateBit);
    EXPECT_NE(bufferStateMask1, bufferStateMask2);

    // Both buffer instances should be in gained state.
    EXPECT_TRUE(IsBufferGained(b1->buffer_state()));
+4 −1
Original line number Diff line number Diff line
@@ -41,7 +41,10 @@ const int kLayerCount = 1;
const int kFormat = HAL_PIXEL_FORMAT_RGBA_8888;
const int kUsage = 0;
const size_t kUserMetadataSize = 0;
const size_t kMaxConsumerCount = 63;
// Maximum number of consumers for the buffer that only has one producer in the
// test.
const size_t kMaxConsumerCount =
    android::dvr::BufferHubDefs::kMaxNumberOfClients - 1;
const int kPollTimeoutMs = 100;

using LibBufferHubTest = ::testing::Test;
+1 −0
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ static constexpr uint32_t kMetadataUsage =
// Post'ed state:     [1|..|0|0]
// Acquired'ed state: [1|..|X|X] -> At least one bit is set in lower 63 bits
// Released'ed state: [0|..|X|X] -> At least one bit is set in lower 63 bits
static constexpr int kMaxNumberOfClients = 64;
static constexpr uint64_t kProducerStateBit = 1ULL << 63;
static constexpr uint64_t kConsumerStateMask = (1ULL << 63) - 1;

+2 −1
Original line number Diff line number Diff line
@@ -14,6 +14,7 @@ const uint32_t kLayerCount = 1;
const uint32_t kFormat = 1;
const uint64_t kUsage = 0;
const size_t kUserMetadataSize = 0;
const size_t kMaxClientsCount = BufferHubDefs::kMaxNumberOfClients;

class BufferNodeTest : public ::testing::Test {
 protected:
@@ -55,7 +56,7 @@ TEST_F(BufferNodeTest, TestAddNewActiveClientsBitToMask_32NewClients) {
  uint64_t current_mask = 0ULL;
  uint64_t expected_mask = 0ULL;

  for (int i = 0; i < 64; ++i) {
  for (int i = 0; i < kMaxClientsCount; ++i) {
    new_client_state_mask = buffer_node->AddNewActiveClientsBitToMask();
    EXPECT_NE(new_client_state_mask, 0);
    EXPECT_FALSE(new_client_state_mask & current_mask);