| 114 | } |
| 115 | |
| 116 | TEST_F(mClockSchedulerTest, TestEmpty) { |
| 117 | ASSERT_TRUE(q.empty()); |
| 118 | |
| 119 | for (unsigned i = 100; i < 105; i+=2) { |
| 120 | q.enqueue(create_item(i, client1, SchedulerClass::client)); |
| 121 | std::this_thread::sleep_for(std::chrono::microseconds(1)); |
| 122 | } |
| 123 | |
| 124 | ASSERT_FALSE(q.empty()); |
| 125 | |
| 126 | std::list<OpSchedulerItem> reqs; |
| 127 | |
| 128 | reqs.push_back(get_item(q.dequeue())); |
| 129 | reqs.push_back(get_item(q.dequeue())); |
| 130 | |
| 131 | ASSERT_EQ(2u, reqs.size()); |
| 132 | ASSERT_FALSE(q.empty()); |
| 133 | |
| 134 | for (auto &&i : reqs) { |
| 135 | q.enqueue_front(std::move(i)); |
| 136 | } |
| 137 | reqs.clear(); |
| 138 | |
| 139 | ASSERT_FALSE(q.empty()); |
| 140 | |
| 141 | for (int i = 0; i < 3; ++i) { |
| 142 | ASSERT_FALSE(q.empty()); |
| 143 | q.dequeue(); |
| 144 | } |
| 145 | |
| 146 | ASSERT_TRUE(q.empty()); |
| 147 | } |
| 148 | |
| 149 | TEST_F(mClockSchedulerTest, TestSingleClientOrderedEnqueueDequeue) { |
| 150 | ASSERT_TRUE(q.empty()); |
nothing calls this directly
no test coverage detected