Don't ignore byte_order in Stream::PutMaxHex64

Reviewers: labath

Reviewed By: labath

Subscribers: zturner, lldb-commits

Differential Revision: https://reviews.llvm.org/D50025

llvm-svn: 338591
This commit is contained in:
Raphael Isemann 2018-08-01 17:12:58 +00:00
parent b3b7b1bff0
commit 0bb8d83c89
2 changed files with 29 additions and 3 deletions

View File

@ -427,11 +427,11 @@ size_t Stream::PutMaxHex64(uint64_t uvalue, size_t byte_size,
case 1:
return PutHex8((uint8_t)uvalue);
case 2:
return PutHex16((uint16_t)uvalue);
return PutHex16((uint16_t)uvalue, byte_order);
case 4:
return PutHex32((uint32_t)uvalue);
return PutHex32((uint32_t)uvalue, byte_order);
case 8:
return PutHex64(uvalue);
return PutHex64(uvalue, byte_order);
}
return 0;
}

View File

@ -187,6 +187,32 @@ TEST_F(StreamTest, PutHex64ByteOrderBig) {
EXPECT_EQ("0000000000000000", TakeValue());
}
TEST_F(StreamTest, PutMaxHex64ByteOrderBig) {
std::size_t bytes;
bytes = s.PutMaxHex64(0x12U, 1, lldb::eByteOrderBig);
EXPECT_EQ(2U, bytes);
bytes = s.PutMaxHex64(0x1234U, 2, lldb::eByteOrderBig);
EXPECT_EQ(4U, bytes);
bytes = s.PutMaxHex64(0x12345678U, 4, lldb::eByteOrderBig);
EXPECT_EQ(8U, bytes);
bytes = s.PutMaxHex64(0x1234567890ABCDEFU, 8, lldb::eByteOrderBig);
EXPECT_EQ(16U, bytes);
EXPECT_EQ("121234123456781234567890abcdef", TakeValue());
}
TEST_F(StreamTest, PutMaxHex64ByteOrderLittle) {
std::size_t bytes;
bytes = s.PutMaxHex64(0x12U, 1, lldb::eByteOrderLittle);
EXPECT_EQ(2U, bytes);
bytes = s.PutMaxHex64(0x1234U, 2, lldb::eByteOrderLittle);
EXPECT_EQ(4U, bytes);
bytes = s.PutMaxHex64(0x12345678U, 4, lldb::eByteOrderLittle);
EXPECT_EQ(8U, bytes);
bytes = s.PutMaxHex64(0x1234567890ABCDEFU, 8, lldb::eByteOrderLittle);
EXPECT_EQ(16U, bytes);
EXPECT_EQ("12341278563412efcdab9078563412", TakeValue());
}
//------------------------------------------------------------------------------
// Shift operator tests.
//------------------------------------------------------------------------------