Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(17)

Side by Side Diff: Source/platform/heap/HeapTest.cpp

Issue 1148793002: Oilpan: disable VectorDestructorsWithVtable unit test with ASan. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 4024 matching lines...) Expand 10 before | Expand all | Expand 10 after
4035 InlinedVectorObject::s_destructorCalls = 0; 4035 InlinedVectorObject::s_destructorCalls = 0;
4036 { 4036 {
4037 new InlinedVectorObjectWrapper(); 4037 new InlinedVectorObjectWrapper();
4038 Heap::collectGarbage(ThreadState::HeapPointersOnStack, ThreadState::GCWi thSweep, Heap::ForcedGC); 4038 Heap::collectGarbage(ThreadState::HeapPointersOnStack, ThreadState::GCWi thSweep, Heap::ForcedGC);
4039 EXPECT_EQ(2, InlinedVectorObject::s_destructorCalls); 4039 EXPECT_EQ(2, InlinedVectorObject::s_destructorCalls);
4040 } 4040 }
4041 Heap::collectGarbage(ThreadState::NoHeapPointersOnStack, ThreadState::GCWith Sweep, Heap::ForcedGC); 4041 Heap::collectGarbage(ThreadState::NoHeapPointersOnStack, ThreadState::GCWith Sweep, Heap::ForcedGC);
4042 EXPECT_LE(8, InlinedVectorObject::s_destructorCalls); 4042 EXPECT_LE(8, InlinedVectorObject::s_destructorCalls);
4043 } 4043 }
4044 4044
4045 // TODO(Oilpan): when Vector.h's contiguous container support no longer disables
4046 // Vector<>s with inline capacity, enable this test.
4047 #if !defined(ANNOTATE_CONTIGUOUS_CONTAINER)
4045 TEST(HeapTest, VectorDestructorsWithVtable) 4048 TEST(HeapTest, VectorDestructorsWithVtable)
4046 { 4049 {
4047 clearOutOldGarbage(); 4050 clearOutOldGarbage();
4048 InlinedVectorObjectWithVtable::s_destructorCalls = 0; 4051 InlinedVectorObjectWithVtable::s_destructorCalls = 0;
4049 { 4052 {
4050 HeapVector<InlinedVectorObjectWithVtable> vector; 4053 HeapVector<InlinedVectorObjectWithVtable> vector;
4051 InlinedVectorObjectWithVtable i1, i2; 4054 InlinedVectorObjectWithVtable i1, i2;
4052 vector.append(i1); 4055 vector.append(i1);
4053 vector.append(i2); 4056 vector.append(i2);
4054 } 4057 }
(...skipping 22 matching lines...) Expand all
4077 4080
4078 InlinedVectorObjectWithVtable::s_destructorCalls = 0; 4081 InlinedVectorObjectWithVtable::s_destructorCalls = 0;
4079 { 4082 {
4080 new InlinedVectorObjectWithVtableWrapper(); 4083 new InlinedVectorObjectWithVtableWrapper();
4081 Heap::collectGarbage(ThreadState::HeapPointersOnStack, ThreadState::GCWi thSweep, Heap::ForcedGC); 4084 Heap::collectGarbage(ThreadState::HeapPointersOnStack, ThreadState::GCWi thSweep, Heap::ForcedGC);
4082 EXPECT_EQ(3, InlinedVectorObjectWithVtable::s_destructorCalls); 4085 EXPECT_EQ(3, InlinedVectorObjectWithVtable::s_destructorCalls);
4083 } 4086 }
4084 Heap::collectGarbage(ThreadState::NoHeapPointersOnStack, ThreadState::GCWith Sweep, Heap::ForcedGC); 4087 Heap::collectGarbage(ThreadState::NoHeapPointersOnStack, ThreadState::GCWith Sweep, Heap::ForcedGC);
4085 EXPECT_EQ(9, InlinedVectorObjectWithVtable::s_destructorCalls); 4088 EXPECT_EQ(9, InlinedVectorObjectWithVtable::s_destructorCalls);
4086 } 4089 }
4090 #endif
4087 4091
4088 template<typename Set> 4092 template<typename Set>
4089 void rawPtrInHashHelper() 4093 void rawPtrInHashHelper()
4090 { 4094 {
4091 Set set; 4095 Set set;
4092 set.add(new int(42)); 4096 set.add(new int(42));
4093 set.add(new int(42)); 4097 set.add(new int(42));
4094 EXPECT_EQ(2u, set.size()); 4098 EXPECT_EQ(2u, set.size());
4095 for (typename Set::iterator it = set.begin(); it != set.end(); ++it) { 4099 for (typename Set::iterator it = set.begin(); it != set.end(); ++it) {
4096 EXPECT_EQ(42, **it); 4100 EXPECT_EQ(42, **it);
(...skipping 1935 matching lines...) Expand 10 before | Expand all | Expand 10 after
6032 { 6036 {
6033 Persistent<ClassWithMember> object = ClassWithMember::create(); 6037 Persistent<ClassWithMember> object = ClassWithMember::create();
6034 EXPECT_EQ(0, object->traceCount()); 6038 EXPECT_EQ(0, object->traceCount());
6035 TestMixinAllocatingObject* mixin = TestMixinAllocatingObject::create(object. get()); 6039 TestMixinAllocatingObject* mixin = TestMixinAllocatingObject::create(object. get());
6036 EXPECT_TRUE(mixin); 6040 EXPECT_TRUE(mixin);
6037 EXPECT_GT(object->traceCount(), 0); 6041 EXPECT_GT(object->traceCount(), 0);
6038 EXPECT_GT(mixin->traceCount(), 0); 6042 EXPECT_GT(mixin->traceCount(), 0);
6039 } 6043 }
6040 6044
6041 } // namespace blink 6045 } // namespace blink
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698