[compiler-rt] r340886 - [sanitizer] fix a test

Kostya Serebryany via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 28 16:50:59 PDT 2018


Author: kcc
Date: Tue Aug 28 16:50:59 2018
New Revision: 340886

URL: http://llvm.org/viewvc/llvm-project?rev=340886&view=rev
Log:
[sanitizer] fix a test

Modified:
    compiler-rt/trunk/lib/sanitizer_common/tests/sanitizer_ring_buffer_test.cc

Modified: compiler-rt/trunk/lib/sanitizer_common/tests/sanitizer_ring_buffer_test.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/tests/sanitizer_ring_buffer_test.cc?rev=340886&r1=340885&r2=340886&view=diff
==============================================================================
--- compiler-rt/trunk/lib/sanitizer_common/tests/sanitizer_ring_buffer_test.cc (original)
+++ compiler-rt/trunk/lib/sanitizer_common/tests/sanitizer_ring_buffer_test.cc Tue Aug 28 16:50:59 2018
@@ -19,16 +19,15 @@ struct LargeStruct {
   long v;
   long extra[3];
 
-  LargeStruct(long v) : v(v) {}
+  explicit LargeStruct(long v) : v(v) {}
   operator long() { return v; }
 };
 
-struct Struct12Bytes {
-  int t[3];
+struct Struct10Bytes {
+  short t[3];
 };
 
 TEST(RingBuffer, Construct) {
-
   RingBuffer<long> *RBlong = RingBuffer<long>::New(20);
   EXPECT_EQ(RBlong->size(), 20U);
   RBlong->Delete();
@@ -37,7 +36,7 @@ TEST(RingBuffer, Construct) {
 template <class T> void TestRB() {
   RingBuffer<T> *RB;
   const size_t Sizes[] = {1, 2, 3, 5, 8, 16, 20, 40, 10000};
-  for (size_t Size: Sizes) {
+  for (size_t Size : Sizes) {
     RB = RingBuffer<T>::New(Size);
     EXPECT_EQ(RB->size(), Size);
     RB->Delete();
@@ -51,25 +50,27 @@ template <class T> void TestRB() {
   EXPECT_EQ((long)(*RB)[2], (long)a2);                 \
   EXPECT_EQ((long)(*RB)[3], (long)a3);
 
-  RB->push(1); EXPECT_RING_BUFFER(1, 0, 0, 0);
-  RB->push(2); EXPECT_RING_BUFFER(2, 1, 0, 0);
-  RB->push(3); EXPECT_RING_BUFFER(3, 2, 1, 0);
-  RB->push(4); EXPECT_RING_BUFFER(4, 3, 2, 1);
-  RB->push(5); EXPECT_RING_BUFFER(5, 4, 3, 2);
-  RB->push(6); EXPECT_RING_BUFFER(6, 5, 4, 3);
-  RB->push(7); EXPECT_RING_BUFFER(7, 6, 5, 4);
-  RB->push(8); EXPECT_RING_BUFFER(8, 7, 6, 5);
-  RB->push(9); EXPECT_RING_BUFFER(9, 8, 7, 6);
-  RB->push(10); EXPECT_RING_BUFFER(10, 9, 8, 7);
-  RB->push(11); EXPECT_RING_BUFFER(11, 10, 9, 8);
-  RB->push(12); EXPECT_RING_BUFFER(12, 11, 10, 9);
+  RB->push(T(1)); EXPECT_RING_BUFFER(1, 0, 0, 0);
+  RB->push(T(2)); EXPECT_RING_BUFFER(2, 1, 0, 0);
+  RB->push(T(3)); EXPECT_RING_BUFFER(3, 2, 1, 0);
+  RB->push(T(4)); EXPECT_RING_BUFFER(4, 3, 2, 1);
+  RB->push(T(5)); EXPECT_RING_BUFFER(5, 4, 3, 2);
+  RB->push(T(6)); EXPECT_RING_BUFFER(6, 5, 4, 3);
+  RB->push(T(7)); EXPECT_RING_BUFFER(7, 6, 5, 4);
+  RB->push(T(8)); EXPECT_RING_BUFFER(8, 7, 6, 5);
+  RB->push(T(9)); EXPECT_RING_BUFFER(9, 8, 7, 6);
+  RB->push(T(10)); EXPECT_RING_BUFFER(10, 9, 8, 7);
+  RB->push(T(11)); EXPECT_RING_BUFFER(11, 10, 9, 8);
+  RB->push(T(12)); EXPECT_RING_BUFFER(12, 11, 10, 9);
 
 #undef EXPECT_RING_BUFFER
 }
 
 TEST(RingBuffer, Int) {
-  EXPECT_DEATH(RingBuffer<int>::New(10), "");
-  EXPECT_DEATH(RingBuffer<Struct12Bytes>::New(10), "");
+  EXPECT_DEATH(RingBuffer<short>::New(10), "");
+  EXPECT_DEATH(RingBuffer<Struct10Bytes>::New(10), "");
+  if (sizeof(int) < sizeof(void *))
+    EXPECT_DEATH(RingBuffer<int>::New(10), "");
 }
 
 TEST(RingBuffer, Long) {




More information about the llvm-commits mailing list