}
void test() {
- rigtorp::MPMCQueue<size_t> q(s_nRigtorpMPMCQueueCapacity);
+ std::unique_ptr<rigtorp::MPMCQueue<size_t>> q(
+ new rigtorp::MPMCQueue<size_t>(s_nRigtorpMPMCQueueCapacity));
size_t nNo = 0;
size_t pop_sum = 0;
size_t curr_push_count = std::min(s_nRigtorpMPMCQueuePassCount - nNo,
s_nRigtorpMPMCQueueEnqueueStride);
for (size_t i = 0; i < curr_push_count; i++) {
- q.push(nNo);
+ q->push(nNo);
++nNo;
}
for (size_t i = 0; i < curr_push_count; i++) {
size_t res;
- q.pop(res);
+ q->pop(res);
pop_sum += res;
}
}
size_t supposed_sum =
s_nRigtorpMPMCQueuePassCount * (s_nRigtorpMPMCQueuePassCount - 1) / 2;
- if (pop_sum != supposed_sum) {
- std::cout << "Sequential rigtorpMPMC queue pop sum: " << pop_sum
- << " != " << supposed_sum << "\n";
- }
+ EXPECT_EQ(pop_sum, supposed_sum);
}
};