diff options
Diffstat (limited to 'compiler-rt/lib/xray/tests/unit/buffer_queue_test.cc')
| -rw-r--r-- | compiler-rt/lib/xray/tests/unit/buffer_queue_test.cc | 40 | 
1 files changed, 34 insertions, 6 deletions
| diff --git a/compiler-rt/lib/xray/tests/unit/buffer_queue_test.cc b/compiler-rt/lib/xray/tests/unit/buffer_queue_test.cc index d46f19402c2..de855fd8519 100644 --- a/compiler-rt/lib/xray/tests/unit/buffer_queue_test.cc +++ b/compiler-rt/lib/xray/tests/unit/buffer_queue_test.cc @@ -21,10 +21,16 @@ namespace __xray {  static constexpr size_t kSize = 4096; -TEST(BufferQueueTest, API) { BufferQueue Buffers(kSize, 1); } +TEST(BufferQueueTest, API) { +  bool Success = false; +  BufferQueue Buffers(kSize, 1, Success); +  ASSERT_TRUE(Success); +}  TEST(BufferQueueTest, GetAndRelease) { -  BufferQueue Buffers(kSize, 1); +  bool Success = false; +  BufferQueue Buffers(kSize, 1, Success); +  ASSERT_TRUE(Success);    BufferQueue::Buffer Buf;    ASSERT_EQ(Buffers.getBuffer(Buf), std::error_code());    ASSERT_NE(nullptr, Buf.Buffer); @@ -33,7 +39,9 @@ TEST(BufferQueueTest, GetAndRelease) {  }  TEST(BufferQueueTest, GetUntilFailed) { -  BufferQueue Buffers(kSize, 1); +  bool Success = false; +  BufferQueue Buffers(kSize, 1, Success); +  ASSERT_TRUE(Success);    BufferQueue::Buffer Buf0;    EXPECT_EQ(Buffers.getBuffer(Buf0), std::error_code());    BufferQueue::Buffer Buf1; @@ -42,7 +50,9 @@ TEST(BufferQueueTest, GetUntilFailed) {  }  TEST(BufferQueueTest, ReleaseUnknown) { -  BufferQueue Buffers(kSize, 1); +  bool Success = false; +  BufferQueue Buffers(kSize, 1, Success); +  ASSERT_TRUE(Success);    BufferQueue::Buffer Buf;    Buf.Buffer = reinterpret_cast<void *>(0xdeadbeef);    Buf.Size = kSize; @@ -50,7 +60,9 @@ TEST(BufferQueueTest, ReleaseUnknown) {  }  TEST(BufferQueueTest, ErrorsWhenFinalising) { -  BufferQueue Buffers(kSize, 2); +  bool Success = false; +  BufferQueue Buffers(kSize, 2, Success); +  ASSERT_TRUE(Success);    BufferQueue::Buffer Buf;    ASSERT_EQ(Buffers.getBuffer(Buf), std::error_code());    ASSERT_NE(nullptr, Buf.Buffer); @@ -62,7 +74,9 @@ TEST(BufferQueueTest, ErrorsWhenFinalising) {  }  TEST(BufferQueueTest, MultiThreaded) { -  BufferQueue Buffers(kSize, 100); +  bool Success = false; +  BufferQueue Buffers(kSize, 100, Success); +  ASSERT_TRUE(Success);    auto F = [&] {      BufferQueue::Buffer B;      while (!Buffers.getBuffer(B)) { @@ -78,4 +92,18 @@ TEST(BufferQueueTest, MultiThreaded) {    F();  } +TEST(BufferQueueTest, Apply) { +  bool Success = false; +  BufferQueue Buffers(kSize, 10, Success); +  ASSERT_TRUE(Success); +  auto Count = 0; +  BufferQueue::Buffer B; +  for (int I = 0; I < 10; ++I) { +    ASSERT_FALSE(Buffers.getBuffer(B)); +    ASSERT_FALSE(Buffers.releaseBuffer(B)); +  } +  Buffers.apply([&](const BufferQueue::Buffer &B) { ++Count; }); +  ASSERT_EQ(Count, 10); +} +  } // namespace __xray | 

