MCPcopy Create free account
hub / github.com/apache/impala / TEST

Function TEST

be/src/util/internal-queue-test.cc:39–118  ·  view source on GitHub ↗

Basic single threaded operation.

Source from the content-addressed store, hash-verified

37
38// Basic single threaded operation.
39TEST(InternalQueue, TestBasic) {
40 IntNode one(1);
41 IntNode two(2);
42 IntNode three(3);
43 IntNode four(4);
44
45 InternalQueue<IntNode> list;
46 ASSERT_TRUE(list.empty());
47 ASSERT_EQ(list.size(), 0);
48 ASSERT_TRUE(list.Dequeue() == nullptr);
49 ASSERT_TRUE(list.Validate());
50
51 list.Enqueue(&one);
52 ASSERT_TRUE(!list.empty());
53 ASSERT_EQ(list.size(), 1);
54 IntNode* i = list.Dequeue();
55 ASSERT_TRUE(i != nullptr);
56 ASSERT_TRUE(list.empty());
57 ASSERT_EQ(list.size(), 0);
58 ASSERT_EQ(i->value, 1);
59 ASSERT_TRUE(list.Validate());
60
61 list.Enqueue(&one);
62 list.Enqueue(&two);
63 list.Enqueue(&three);
64 list.Enqueue(&four);
65 ASSERT_EQ(list.size(), 4);
66 ASSERT_TRUE(list.Validate());
67
68 i = list.Dequeue();
69 ASSERT_TRUE(i != nullptr);
70 ASSERT_EQ(i->value, 1);
71 ASSERT_TRUE(list.Validate());
72
73 i = list.Dequeue();
74 ASSERT_TRUE(i != nullptr);
75 ASSERT_EQ(i->value, 2);
76 ASSERT_TRUE(list.Validate());
77
78 i = list.Dequeue();
79 ASSERT_TRUE(i != nullptr);
80 ASSERT_EQ(i->value, 3);
81 ASSERT_TRUE(list.Validate());
82
83 i = list.Dequeue();
84 ASSERT_TRUE(i != nullptr);
85 ASSERT_EQ(i->value, 4);
86 ASSERT_TRUE(list.Validate());
87
88 list.PushFront(&four);
89 list.PushFront(&three);
90 list.PushFront(&two);
91 list.PushFront(&one);
92
93 IntNode* node = list.head();
94 int val = 1;
95 while (node != nullptr) {
96 ASSERT_EQ(node->value, val);

Callers

nothing calls this directly

Calls 15

sortFunction · 0.85
PushFrontMethod · 0.80
headMethod · 0.80
resizeMethod · 0.80
ProducerThreadFunction · 0.70
ConsumerThreadFunction · 0.70
clearMethod · 0.65
emptyMethod · 0.45
sizeMethod · 0.45
DequeueMethod · 0.45
ValidateMethod · 0.45
EnqueueMethod · 0.45

Tested by

no test coverage detected