[PATCH] D27495: [XRay][compiler-rt] Use explicit comparisons in unit tests.

Dean Michael Berris via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 6 17:18:27 PST 2016


dberris created this revision.
dberris added a reviewer: rSerge.
dberris added a subscriber: llvm-commits.

This should improve the error messages generated providing a bit more
information when the failures are printed out. One example of a
contrived error looks like:

  Expected: (Buffers.getBuffer(Buf)) != (std::error_code()), actual:
  system:0 vs system:0

Because we're using error codes, the default printing gets us more
useful information in case of failure.

This is a follow-up on https://reviews.llvm.org/D26232.


https://reviews.llvm.org/D27495

Files:
  lib/xray/tests/unit/buffer_queue_test.cc


Index: lib/xray/tests/unit/buffer_queue_test.cc
===================================================================
--- lib/xray/tests/unit/buffer_queue_test.cc
+++ lib/xray/tests/unit/buffer_queue_test.cc
@@ -14,6 +14,7 @@
 #include "gtest/gtest.h"
 
 #include <future>
+#include <system_error>
 #include <unistd.h>
 
 namespace __xray {
@@ -25,19 +26,19 @@
 TEST(BufferQueueTest, GetAndRelease) {
   BufferQueue Buffers(kSize, 1);
   BufferQueue::Buffer Buf;
-  ASSERT_FALSE(Buffers.getBuffer(Buf));
+  ASSERT_EQ(Buffers.getBuffer(Buf), std::error_code());
   ASSERT_NE(nullptr, Buf.Buffer);
-  ASSERT_FALSE(Buffers.releaseBuffer(Buf));
+  ASSERT_EQ(Buffers.releaseBuffer(Buf), std::error_code());
   ASSERT_EQ(nullptr, Buf.Buffer);
 }
 
 TEST(BufferQueueTest, GetUntilFailed) {
   BufferQueue Buffers(kSize, 1);
   BufferQueue::Buffer Buf0;
-  EXPECT_FALSE(Buffers.getBuffer(Buf0));
+  EXPECT_EQ(Buffers.getBuffer(Buf0), std::error_code());
   BufferQueue::Buffer Buf1;
   EXPECT_EQ(std::errc::not_enough_memory, Buffers.getBuffer(Buf1));
-  EXPECT_FALSE(Buffers.releaseBuffer(Buf0));
+  EXPECT_EQ(Buffers.releaseBuffer(Buf0), std::error_code());
 }
 
 TEST(BufferQueueTest, ReleaseUnknown) {
@@ -51,13 +52,13 @@
 TEST(BufferQueueTest, ErrorsWhenFinalising) {
   BufferQueue Buffers(kSize, 2);
   BufferQueue::Buffer Buf;
-  ASSERT_FALSE(Buffers.getBuffer(Buf));
+  ASSERT_EQ(Buffers.getBuffer(Buf), std::error_code());
   ASSERT_NE(nullptr, Buf.Buffer);
-  ASSERT_FALSE(Buffers.finalize());
+  ASSERT_EQ(Buffers.finalize(), std::error_code());
   BufferQueue::Buffer OtherBuf;
   ASSERT_EQ(std::errc::state_not_recoverable, Buffers.getBuffer(OtherBuf));
   ASSERT_EQ(std::errc::state_not_recoverable, Buffers.finalize());
-  ASSERT_FALSE(Buffers.releaseBuffer(Buf));
+  ASSERT_EQ(Buffers.releaseBuffer(Buf), std::error_code());
 }
 
 TEST(BufferQueueTest, MultiThreaded) {


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D27495.80515.patch
Type: text/x-patch
Size: 1877 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161207/8dd036dd/attachment.bin>


More information about the llvm-commits mailing list