summaryrefslogtreecommitdiff
path: root/runtime/gc/reference_queue_test.cc
diff options
context:
space:
mode:
author Richard Uhler <ruhler@google.com> 2016-02-02 20:22:47 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2016-02-02 20:22:47 +0000
commita89d6d630b6fdb591d3dce536f8bca35deae307e (patch)
treedbc55a834cbc60e5251884bc0901cd285b536561 /runtime/gc/reference_queue_test.cc
parent1ef02af31d5936a59ddeb762cb3cf767b599787a (diff)
parentc4695dfdab80c280c98a89c20e027a3804191585 (diff)
Merge "Always use pendingNext to test enqueability of references."
Diffstat (limited to 'runtime/gc/reference_queue_test.cc')
-rw-r--r--runtime/gc/reference_queue_test.cc17
1 files changed, 10 insertions, 7 deletions
diff --git a/runtime/gc/reference_queue_test.cc b/runtime/gc/reference_queue_test.cc
index dc23afed1d..35bf718875 100644
--- a/runtime/gc/reference_queue_test.cc
+++ b/runtime/gc/reference_queue_test.cc
@@ -41,19 +41,22 @@ TEST_F(ReferenceQueueTest, EnqueueDequeue) {
ASSERT_TRUE(ref1.Get() != nullptr);
auto ref2(hs.NewHandle(ref_class->AllocObject(self)->AsReference()));
ASSERT_TRUE(ref2.Get() != nullptr);
- // FIFO ordering.
- queue.EnqueuePendingReference(ref1.Get());
+ queue.EnqueueReference(ref1.Get());
ASSERT_TRUE(!queue.IsEmpty());
ASSERT_EQ(queue.GetLength(), 1U);
- queue.EnqueuePendingReference(ref2.Get());
+ queue.EnqueueReference(ref2.Get());
ASSERT_TRUE(!queue.IsEmpty());
ASSERT_EQ(queue.GetLength(), 2U);
- ASSERT_EQ(queue.DequeuePendingReference(), ref2.Get());
+
+ std::set<mirror::Reference*> refs = {ref1.Get(), ref2.Get()};
+ std::set<mirror::Reference*> dequeued;
+ dequeued.insert(queue.DequeuePendingReference());
ASSERT_TRUE(!queue.IsEmpty());
ASSERT_EQ(queue.GetLength(), 1U);
- ASSERT_EQ(queue.DequeuePendingReference(), ref1.Get());
+ dequeued.insert(queue.DequeuePendingReference());
ASSERT_EQ(queue.GetLength(), 0U);
ASSERT_TRUE(queue.IsEmpty());
+ ASSERT_EQ(refs, dequeued);
}
TEST_F(ReferenceQueueTest, Dump) {
@@ -75,9 +78,9 @@ TEST_F(ReferenceQueueTest, Dump) {
ASSERT_TRUE(ref1.Get() != nullptr);
auto ref2(hs.NewHandle(finalizer_ref_class->AllocObject(self)->AsReference()));
ASSERT_TRUE(ref2.Get() != nullptr);
- queue.EnqueuePendingReference(ref1.Get());
+ queue.EnqueueReference(ref1.Get());
queue.Dump(LOG(INFO));
- queue.EnqueuePendingReference(ref2.Get());
+ queue.EnqueueReference(ref2.Get());
queue.Dump(LOG(INFO));
}