summaryrefslogtreecommitdiff
path: root/runtime/gc/reference_queue_test.cc
diff options
context:
space:
mode:
author Richard Uhler <ruhler@google.com> 2016-01-15 14:08:05 -0800
committer Richard Uhler <ruhler@google.com> 2016-01-28 15:34:19 -0800
commitc4695dfdab80c280c98a89c20e027a3804191585 (patch)
treeb78f388ac75edd9f02abfcae68aad7d445af75d1 /runtime/gc/reference_queue_test.cc
parent97f4bc04b61d5cf78b0820dbf18e999b20d7a108 (diff)
Always use pendingNext to test enqueability of references.
Also clean up a misleading comment in a reference queue test. Bug: 24404957 Change-Id: Ieea4788039ecef73cba1871fb480a439bf65b499
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));
}