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

Commit c9696339 authored by Christopher Ferris's avatar Christopher Ferris Committed by android-build-merger
Browse files

Merge "Remove CHECK in AdjustEncodedValue."

am: d76bd4c8

Change-Id: Ifa0352a04ecc47a0d60460a6c8dda07e50d9e98b
parents 54c3f134 d76bd4c8
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -104,7 +104,6 @@ size_t DwarfMemory::GetEncodedSize(uint8_t encoding) {

bool DwarfMemory::AdjustEncodedValue(uint8_t encoding, uint64_t* value) {
  CHECK((encoding & 0x0f) == 0);
  CHECK(encoding != DW_EH_PE_aligned);

  // Handle the encoding.
  switch (encoding) {
+23 −0
Original line number Diff line number Diff line
@@ -54,6 +54,8 @@ class DwarfMemoryTest : public ::testing::Test {
  void ReadEncodedValue_overflow();
  template <typename AddressType>
  void ReadEncodedValue_high_bit_set();
  template <typename AddressType>
  void ReadEncodedValue_all();

  MemoryFake memory_;
  std::unique_ptr<DwarfMemory> dwarf_mem_;
@@ -457,6 +459,27 @@ TEST_F(DwarfMemoryTest, ReadEncodedValue_high_bit_set_uint64_t) {
  ReadEncodedValue_high_bit_set<uint64_t>();
}

template <typename AddressType>
void DwarfMemoryTest::ReadEncodedValue_all() {
  MemoryFakeAlwaysReadZero memory;
  DwarfMemory dwarf_mem(&memory);

  for (size_t i = 0; i <= 0xff; i++) {
    uint64_t value;
    if (dwarf_mem.ReadEncodedValue<AddressType>(static_cast<uint8_t>(i), &value)) {
      ASSERT_EQ(0U, value);
    }
  }
}

TEST_F(DwarfMemoryTest, ReadEncodedValue_all_uint32_t) {
  ReadEncodedValue_all<uint32_t>();
}

TEST_F(DwarfMemoryTest, ReadEncodedValue_all_uint64_t) {
  ReadEncodedValue_all<uint64_t>();
}

TEST_F(DwarfMemoryTest, AdjustEncodedValue_absptr) {
  uint64_t value = 0x1234;
  ASSERT_TRUE(dwarf_mem_->AdjustEncodedValue(0x00, &value));