diff options
Diffstat (limited to 'lldb/unittests/Core')
-rw-r--r-- | lldb/unittests/Core/BroadcasterTest.cpp | 81 | ||||
-rw-r--r-- | lldb/unittests/Core/DataExtractorTest.cpp | 62 | ||||
-rw-r--r-- | lldb/unittests/Core/ScalarTest.cpp | 207 |
3 files changed, 176 insertions, 174 deletions
diff --git a/lldb/unittests/Core/BroadcasterTest.cpp b/lldb/unittests/Core/BroadcasterTest.cpp index 5650f710620..cc6f2417897 100644 --- a/lldb/unittests/Core/BroadcasterTest.cpp +++ b/lldb/unittests/Core/BroadcasterTest.cpp @@ -18,55 +18,56 @@ using namespace lldb; using namespace lldb_private; -TEST(BroadcasterTest, BroadcastEvent) -{ - EventSP event_sp; - Broadcaster broadcaster(nullptr, "test-broadcaster"); +TEST(BroadcasterTest, BroadcastEvent) { + EventSP event_sp; + Broadcaster broadcaster(nullptr, "test-broadcaster"); - // Create a listener, sign it up, make sure it recieves an event. - ListenerSP listener1_sp = Listener::MakeListener("test-listener1"); - const uint32_t event_mask1 = 1; - EXPECT_EQ(event_mask1, listener1_sp->StartListeningForEvents(&broadcaster, event_mask1)); - broadcaster.BroadcastEvent(event_mask1, nullptr); - EXPECT_TRUE(listener1_sp->GetNextEvent(event_sp)); - EXPECT_EQ(event_mask1, event_sp->GetType()); + // Create a listener, sign it up, make sure it recieves an event. + ListenerSP listener1_sp = Listener::MakeListener("test-listener1"); + const uint32_t event_mask1 = 1; + EXPECT_EQ(event_mask1, + listener1_sp->StartListeningForEvents(&broadcaster, event_mask1)); + broadcaster.BroadcastEvent(event_mask1, nullptr); + EXPECT_TRUE(listener1_sp->GetNextEvent(event_sp)); + EXPECT_EQ(event_mask1, event_sp->GetType()); - { - // Add one more listener, make sure it works as well. - ListenerSP listener2_sp = Listener::MakeListener("test-listener2"); - const uint32_t event_mask2 = 1; - EXPECT_EQ(event_mask2, listener2_sp->StartListeningForEvents(&broadcaster, event_mask1 | event_mask2)); - broadcaster.BroadcastEvent(event_mask2, nullptr); - EXPECT_TRUE(listener2_sp->GetNextEvent(event_sp)); - EXPECT_EQ(event_mask2, event_sp->GetType()); + { + // Add one more listener, make sure it works as well. + ListenerSP listener2_sp = Listener::MakeListener("test-listener2"); + const uint32_t event_mask2 = 1; + EXPECT_EQ(event_mask2, listener2_sp->StartListeningForEvents( + &broadcaster, event_mask1 | event_mask2)); + broadcaster.BroadcastEvent(event_mask2, nullptr); + EXPECT_TRUE(listener2_sp->GetNextEvent(event_sp)); + EXPECT_EQ(event_mask2, event_sp->GetType()); - // Both listeners should get this event. - broadcaster.BroadcastEvent(event_mask1, nullptr); - EXPECT_TRUE(listener1_sp->GetNextEvent(event_sp)); - EXPECT_EQ(event_mask1, event_sp->GetType()); - EXPECT_TRUE(listener2_sp->GetNextEvent(event_sp)); - EXPECT_EQ(event_mask2, event_sp->GetType()); - } - - // Now again only one listener should be active. + // Both listeners should get this event. broadcaster.BroadcastEvent(event_mask1, nullptr); EXPECT_TRUE(listener1_sp->GetNextEvent(event_sp)); EXPECT_EQ(event_mask1, event_sp->GetType()); + EXPECT_TRUE(listener2_sp->GetNextEvent(event_sp)); + EXPECT_EQ(event_mask2, event_sp->GetType()); + } + + // Now again only one listener should be active. + broadcaster.BroadcastEvent(event_mask1, nullptr); + EXPECT_TRUE(listener1_sp->GetNextEvent(event_sp)); + EXPECT_EQ(event_mask1, event_sp->GetType()); } -TEST(BroadcasterTest, EventTypeHasListeners) -{ - EventSP event_sp; - Broadcaster broadcaster(nullptr, "test-broadcaster"); +TEST(BroadcasterTest, EventTypeHasListeners) { + EventSP event_sp; + Broadcaster broadcaster(nullptr, "test-broadcaster"); - const uint32_t event_mask = 1; - EXPECT_FALSE(broadcaster.EventTypeHasListeners(event_mask)); + const uint32_t event_mask = 1; + EXPECT_FALSE(broadcaster.EventTypeHasListeners(event_mask)); - { - ListenerSP listener_sp = Listener::MakeListener("test-listener"); - EXPECT_EQ(event_mask, listener_sp->StartListeningForEvents(&broadcaster, event_mask)); - EXPECT_TRUE(broadcaster.EventTypeHasListeners(event_mask)); - } + { + ListenerSP listener_sp = Listener::MakeListener("test-listener"); + EXPECT_EQ(event_mask, + listener_sp->StartListeningForEvents(&broadcaster, event_mask)); + EXPECT_TRUE(broadcaster.EventTypeHasListeners(event_mask)); + } - EXPECT_FALSE(broadcaster.EventTypeHasListeners(event_mask)); + EXPECT_FALSE(broadcaster.EventTypeHasListeners(event_mask)); } diff --git a/lldb/unittests/Core/DataExtractorTest.cpp b/lldb/unittests/Core/DataExtractorTest.cpp index 22438e59bea..d474e21dc0c 100644 --- a/lldb/unittests/Core/DataExtractorTest.cpp +++ b/lldb/unittests/Core/DataExtractorTest.cpp @@ -8,7 +8,8 @@ //===----------------------------------------------------------------------===// #if defined(_MSC_VER) && (_HAS_EXCEPTIONS == 0) -// Workaround for MSVC standard library bug, which fails to include <thread> when +// Workaround for MSVC standard library bug, which fails to include <thread> +// when // exceptions are disabled. #include <eh.h> #endif @@ -19,38 +20,39 @@ using namespace lldb_private; -TEST(DataExtractorTest, GetBitfield) -{ - uint8_t buffer[] = { 0x01, 0x23, 0x45, 0x67 }; - DataExtractor LE(buffer, sizeof(buffer), lldb::eByteOrderLittle, sizeof(void *)); - DataExtractor BE(buffer, sizeof(buffer), lldb::eByteOrderBig, sizeof(void *)); - - lldb::offset_t offset; - - offset = 0; - ASSERT_EQ(buffer[1], LE.GetMaxU64Bitfield(&offset, sizeof(buffer), 8, 8)); - offset = 0; - ASSERT_EQ(buffer[1], BE.GetMaxU64Bitfield(&offset, sizeof(buffer), 8, 8)); - - offset = 0; - ASSERT_EQ(int8_t(buffer[1]), LE.GetMaxS64Bitfield(&offset, sizeof(buffer), 8, 8)); - offset = 0; - ASSERT_EQ(int8_t(buffer[1]), BE.GetMaxS64Bitfield(&offset, sizeof(buffer), 8, 8)); +TEST(DataExtractorTest, GetBitfield) { + uint8_t buffer[] = {0x01, 0x23, 0x45, 0x67}; + DataExtractor LE(buffer, sizeof(buffer), lldb::eByteOrderLittle, + sizeof(void *)); + DataExtractor BE(buffer, sizeof(buffer), lldb::eByteOrderBig, sizeof(void *)); + + lldb::offset_t offset; + + offset = 0; + ASSERT_EQ(buffer[1], LE.GetMaxU64Bitfield(&offset, sizeof(buffer), 8, 8)); + offset = 0; + ASSERT_EQ(buffer[1], BE.GetMaxU64Bitfield(&offset, sizeof(buffer), 8, 8)); + + offset = 0; + ASSERT_EQ(int8_t(buffer[1]), + LE.GetMaxS64Bitfield(&offset, sizeof(buffer), 8, 8)); + offset = 0; + ASSERT_EQ(int8_t(buffer[1]), + BE.GetMaxS64Bitfield(&offset, sizeof(buffer), 8, 8)); } -TEST(DataExtractorTest, PeekData) -{ - uint8_t buffer[] = { 0x01, 0x02, 0x03, 0x04 }; - DataExtractor E(buffer, sizeof buffer, lldb::eByteOrderLittle, 4); +TEST(DataExtractorTest, PeekData) { + uint8_t buffer[] = {0x01, 0x02, 0x03, 0x04}; + DataExtractor E(buffer, sizeof buffer, lldb::eByteOrderLittle, 4); - EXPECT_EQ(buffer + 0, E.PeekData(0, 0)); - EXPECT_EQ(buffer + 0, E.PeekData(0, 4)); - EXPECT_EQ(nullptr, E.PeekData(0, 5)); + EXPECT_EQ(buffer + 0, E.PeekData(0, 0)); + EXPECT_EQ(buffer + 0, E.PeekData(0, 4)); + EXPECT_EQ(nullptr, E.PeekData(0, 5)); - EXPECT_EQ(buffer + 2, E.PeekData(2, 0)); - EXPECT_EQ(buffer + 2, E.PeekData(2, 2)); - EXPECT_EQ(nullptr, E.PeekData(2, 3)); + EXPECT_EQ(buffer + 2, E.PeekData(2, 0)); + EXPECT_EQ(buffer + 2, E.PeekData(2, 2)); + EXPECT_EQ(nullptr, E.PeekData(2, 3)); - EXPECT_EQ(buffer + 4, E.PeekData(4, 0)); - EXPECT_EQ(nullptr, E.PeekData(4, 1)); + EXPECT_EQ(buffer + 4, E.PeekData(4, 0)); + EXPECT_EQ(nullptr, E.PeekData(4, 1)); } diff --git a/lldb/unittests/Core/ScalarTest.cpp b/lldb/unittests/Core/ScalarTest.cpp index adff5b0ce8e..b79854f97ae 100644 --- a/lldb/unittests/Core/ScalarTest.cpp +++ b/lldb/unittests/Core/ScalarTest.cpp @@ -8,135 +8,134 @@ //===----------------------------------------------------------------------===// #if defined(_MSC_VER) && (_HAS_EXCEPTIONS == 0) -// Workaround for MSVC standard library bug, which fails to include <thread> when +// Workaround for MSVC standard library bug, which fails to include <thread> +// when // exceptions are disabled. #include <eh.h> #endif #include "gtest/gtest.h" +#include "lldb/Core/DataExtractor.h" #include "lldb/Core/Error.h" #include "lldb/Core/Scalar.h" -#include "lldb/Core/DataExtractor.h" -#include "lldb/Host/Endian.h" #include "lldb/Core/StreamString.h" +#include "lldb/Host/Endian.h" using namespace lldb_private; -TEST(ScalarTest, RightShiftOperator) -{ - int a = 0x00001000; - int b = 0xFFFFFFFF; - int c = 4; - Scalar a_scalar(a); - Scalar b_scalar(b); - Scalar c_scalar(c); - ASSERT_EQ(a >> c, a_scalar >> c_scalar); - ASSERT_EQ(b >> c, b_scalar >> c_scalar); +TEST(ScalarTest, RightShiftOperator) { + int a = 0x00001000; + int b = 0xFFFFFFFF; + int c = 4; + Scalar a_scalar(a); + Scalar b_scalar(b); + Scalar c_scalar(c); + ASSERT_EQ(a >> c, a_scalar >> c_scalar); + ASSERT_EQ(b >> c, b_scalar >> c_scalar); } -TEST(ScalarTest, GetBytes) -{ - int a = 0x01020304; - long long b = 0x0102030405060708LL; - float c = 1234567.89e42; - double d = 1234567.89e42; - char e[16] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 }; - char f[32] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32 }; - Scalar a_scalar(a); - Scalar b_scalar(b); - Scalar c_scalar(c); - Scalar d_scalar(d); - Scalar e_scalar; - Scalar f_scalar; - DataExtractor e_data(e, sizeof(e), endian::InlHostByteOrder(), sizeof(void *)); - Error e_error = e_scalar.SetValueFromData(e_data, lldb::eEncodingUint, sizeof(e)); - DataExtractor f_data(f, sizeof(f), endian::InlHostByteOrder(), sizeof(void *)); - Error f_error = f_scalar.SetValueFromData(f_data, lldb::eEncodingUint, sizeof(f)); - ASSERT_EQ(0, memcmp(&a, a_scalar.GetBytes(), sizeof(a))); - ASSERT_EQ(0, memcmp(&b, b_scalar.GetBytes(), sizeof(b))); - ASSERT_EQ(0, memcmp(&c, c_scalar.GetBytes(), sizeof(c))); - ASSERT_EQ(0, memcmp(&d, d_scalar.GetBytes(), sizeof(d))); - ASSERT_EQ(0, e_error.Fail()); - ASSERT_EQ(0, memcmp(e, e_scalar.GetBytes(), sizeof(e))); - ASSERT_EQ(0, f_error.Fail()); - ASSERT_EQ(0, memcmp(f, f_scalar.GetBytes(), sizeof(f))); +TEST(ScalarTest, GetBytes) { + int a = 0x01020304; + long long b = 0x0102030405060708LL; + float c = 1234567.89e42; + double d = 1234567.89e42; + char e[16] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + char f[32] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32}; + Scalar a_scalar(a); + Scalar b_scalar(b); + Scalar c_scalar(c); + Scalar d_scalar(d); + Scalar e_scalar; + Scalar f_scalar; + DataExtractor e_data(e, sizeof(e), endian::InlHostByteOrder(), + sizeof(void *)); + Error e_error = + e_scalar.SetValueFromData(e_data, lldb::eEncodingUint, sizeof(e)); + DataExtractor f_data(f, sizeof(f), endian::InlHostByteOrder(), + sizeof(void *)); + Error f_error = + f_scalar.SetValueFromData(f_data, lldb::eEncodingUint, sizeof(f)); + ASSERT_EQ(0, memcmp(&a, a_scalar.GetBytes(), sizeof(a))); + ASSERT_EQ(0, memcmp(&b, b_scalar.GetBytes(), sizeof(b))); + ASSERT_EQ(0, memcmp(&c, c_scalar.GetBytes(), sizeof(c))); + ASSERT_EQ(0, memcmp(&d, d_scalar.GetBytes(), sizeof(d))); + ASSERT_EQ(0, e_error.Fail()); + ASSERT_EQ(0, memcmp(e, e_scalar.GetBytes(), sizeof(e))); + ASSERT_EQ(0, f_error.Fail()); + ASSERT_EQ(0, memcmp(f, f_scalar.GetBytes(), sizeof(f))); } -TEST(ScalarTest, CastOperations) -{ - long long a = 0xf1f2f3f4f5f6f7f8LL; - Scalar a_scalar(a); - ASSERT_EQ((signed char)a, a_scalar.SChar()); - ASSERT_EQ((unsigned char)a, a_scalar.UChar()); - ASSERT_EQ((signed short)a, a_scalar.SShort()); - ASSERT_EQ((unsigned short)a, a_scalar.UShort()); - ASSERT_EQ((signed int)a, a_scalar.SInt()); - ASSERT_EQ((unsigned int)a, a_scalar.UInt()); - ASSERT_EQ((signed long)a, a_scalar.SLong()); - ASSERT_EQ((unsigned long)a, a_scalar.ULong()); - ASSERT_EQ((signed long long)a, a_scalar.SLongLong()); - ASSERT_EQ((unsigned long long)a, a_scalar.ULongLong()); +TEST(ScalarTest, CastOperations) { + long long a = 0xf1f2f3f4f5f6f7f8LL; + Scalar a_scalar(a); + ASSERT_EQ((signed char)a, a_scalar.SChar()); + ASSERT_EQ((unsigned char)a, a_scalar.UChar()); + ASSERT_EQ((signed short)a, a_scalar.SShort()); + ASSERT_EQ((unsigned short)a, a_scalar.UShort()); + ASSERT_EQ((signed int)a, a_scalar.SInt()); + ASSERT_EQ((unsigned int)a, a_scalar.UInt()); + ASSERT_EQ((signed long)a, a_scalar.SLong()); + ASSERT_EQ((unsigned long)a, a_scalar.ULong()); + ASSERT_EQ((signed long long)a, a_scalar.SLongLong()); + ASSERT_EQ((unsigned long long)a, a_scalar.ULongLong()); } -TEST(ScalarTest, ExtractBitfield) -{ - uint32_t len = sizeof(long long) * 8; +TEST(ScalarTest, ExtractBitfield) { + uint32_t len = sizeof(long long) * 8; - long long a1 = 0xf1f2f3f4f5f6f7f8LL; - long long b1 = 0xff1f2f3f4f5f6f7fLL; - Scalar s_scalar(a1); - ASSERT_TRUE(s_scalar.ExtractBitfield(0, 0)); - ASSERT_EQ(0, memcmp(&a1, s_scalar.GetBytes(), sizeof(a1))); - ASSERT_TRUE(s_scalar.ExtractBitfield(len, 0)); - ASSERT_EQ(0, memcmp(&a1, s_scalar.GetBytes(), sizeof(a1))); - ASSERT_TRUE(s_scalar.ExtractBitfield(len - 4, 4)); - ASSERT_EQ(0, memcmp(&b1, s_scalar.GetBytes(), sizeof(b1))); + long long a1 = 0xf1f2f3f4f5f6f7f8LL; + long long b1 = 0xff1f2f3f4f5f6f7fLL; + Scalar s_scalar(a1); + ASSERT_TRUE(s_scalar.ExtractBitfield(0, 0)); + ASSERT_EQ(0, memcmp(&a1, s_scalar.GetBytes(), sizeof(a1))); + ASSERT_TRUE(s_scalar.ExtractBitfield(len, 0)); + ASSERT_EQ(0, memcmp(&a1, s_scalar.GetBytes(), sizeof(a1))); + ASSERT_TRUE(s_scalar.ExtractBitfield(len - 4, 4)); + ASSERT_EQ(0, memcmp(&b1, s_scalar.GetBytes(), sizeof(b1))); - unsigned long long a2 = 0xf1f2f3f4f5f6f7f8ULL; - unsigned long long b2 = 0x0f1f2f3f4f5f6f7fULL; - Scalar u_scalar(a2); - ASSERT_TRUE(u_scalar.ExtractBitfield(0, 0)); - ASSERT_EQ(0, memcmp(&a2, u_scalar.GetBytes(), sizeof(a2))); - ASSERT_TRUE(u_scalar.ExtractBitfield(len, 0)); - ASSERT_EQ(0, memcmp(&a2, u_scalar.GetBytes(), sizeof(a2))); - ASSERT_TRUE(u_scalar.ExtractBitfield(len - 4, 4)); - ASSERT_EQ(0, memcmp(&b2, u_scalar.GetBytes(), sizeof(b2))); + unsigned long long a2 = 0xf1f2f3f4f5f6f7f8ULL; + unsigned long long b2 = 0x0f1f2f3f4f5f6f7fULL; + Scalar u_scalar(a2); + ASSERT_TRUE(u_scalar.ExtractBitfield(0, 0)); + ASSERT_EQ(0, memcmp(&a2, u_scalar.GetBytes(), sizeof(a2))); + ASSERT_TRUE(u_scalar.ExtractBitfield(len, 0)); + ASSERT_EQ(0, memcmp(&a2, u_scalar.GetBytes(), sizeof(a2))); + ASSERT_TRUE(u_scalar.ExtractBitfield(len - 4, 4)); + ASSERT_EQ(0, memcmp(&b2, u_scalar.GetBytes(), sizeof(b2))); } -template <typename T> -static std::string -ScalarGetValue(T value) -{ - StreamString stream; - Scalar(value).GetValue(&stream, false); - return stream.GetString(); +template <typename T> static std::string ScalarGetValue(T value) { + StreamString stream; + Scalar(value).GetValue(&stream, false); + return stream.GetString(); } -TEST(ScalarTest, GetValue) -{ - EXPECT_EQ("12345", ScalarGetValue<signed short>(12345)); - EXPECT_EQ("-12345", ScalarGetValue<signed short>(-12345)); - EXPECT_EQ("12345", ScalarGetValue<unsigned short>(12345)); - EXPECT_EQ(std::to_string(std::numeric_limits<unsigned short>::max()), - ScalarGetValue(std::numeric_limits<unsigned short>::max())); +TEST(ScalarTest, GetValue) { + EXPECT_EQ("12345", ScalarGetValue<signed short>(12345)); + EXPECT_EQ("-12345", ScalarGetValue<signed short>(-12345)); + EXPECT_EQ("12345", ScalarGetValue<unsigned short>(12345)); + EXPECT_EQ(std::to_string(std::numeric_limits<unsigned short>::max()), + ScalarGetValue(std::numeric_limits<unsigned short>::max())); - EXPECT_EQ("12345", ScalarGetValue<signed int>(12345)); - EXPECT_EQ("-12345", ScalarGetValue<signed int>(-12345)); - EXPECT_EQ("12345", ScalarGetValue<unsigned int>(12345)); - EXPECT_EQ(std::to_string(std::numeric_limits<unsigned int>::max()), - ScalarGetValue(std::numeric_limits<unsigned int>::max())); + EXPECT_EQ("12345", ScalarGetValue<signed int>(12345)); + EXPECT_EQ("-12345", ScalarGetValue<signed int>(-12345)); + EXPECT_EQ("12345", ScalarGetValue<unsigned int>(12345)); + EXPECT_EQ(std::to_string(std::numeric_limits<unsigned int>::max()), + ScalarGetValue(std::numeric_limits<unsigned int>::max())); - EXPECT_EQ("12345678", ScalarGetValue<signed long>(12345678L)); - EXPECT_EQ("-12345678", ScalarGetValue<signed long>(-12345678L)); - EXPECT_EQ("12345678", ScalarGetValue<unsigned long>(12345678UL)); - EXPECT_EQ(std::to_string(std::numeric_limits<unsigned long>::max()), - ScalarGetValue(std::numeric_limits<unsigned long>::max())); + EXPECT_EQ("12345678", ScalarGetValue<signed long>(12345678L)); + EXPECT_EQ("-12345678", ScalarGetValue<signed long>(-12345678L)); + EXPECT_EQ("12345678", ScalarGetValue<unsigned long>(12345678UL)); + EXPECT_EQ(std::to_string(std::numeric_limits<unsigned long>::max()), + ScalarGetValue(std::numeric_limits<unsigned long>::max())); - EXPECT_EQ("1234567890123", ScalarGetValue<signed long long>(1234567890123LL)); - EXPECT_EQ("-1234567890123", ScalarGetValue<signed long long>(-1234567890123LL)); - EXPECT_EQ("1234567890123", ScalarGetValue<unsigned long long>(1234567890123ULL)); - EXPECT_EQ(std::to_string(std::numeric_limits<unsigned long long>::max()), - ScalarGetValue(std::numeric_limits<unsigned long long>::max())); + EXPECT_EQ("1234567890123", ScalarGetValue<signed long long>(1234567890123LL)); + EXPECT_EQ("-1234567890123", + ScalarGetValue<signed long long>(-1234567890123LL)); + EXPECT_EQ("1234567890123", + ScalarGetValue<unsigned long long>(1234567890123ULL)); + EXPECT_EQ(std::to_string(std::numeric_limits<unsigned long long>::max()), + ScalarGetValue(std::numeric_limits<unsigned long long>::max())); } |