Github user hbdeshmukh commented on a diff in the pull request: https://github.com/apache/incubator-quickstep/pull/281#discussion_r140544741 --- Diff: query_execution/tests/QueryManagerSingleNode_unittest.cpp --- @@ -753,99 +752,51 @@ TEST_F(QueryManagerTest, MultipleNodesNoOutputTest) { * **/ for (QueryPlan::DAGNodeIndex i = 0; i < kNumNodes - 1; ++i) { - query_plan_->addDirectDependency(ids[i + 1], ids[i], false); - static_cast<MockOperator*>(query_plan_->getQueryPlanDAGMutable()->getNodePayloadMutable(ids[i])) + query_plan_->addDirectDependency(i + 1, i, false); + static_cast<MockOperator*>(query_plan_->getQueryPlanDAGMutable()->getNodePayloadMutable(i)) ->setOutputRelationID(0xdead); } std::vector<const MockOperator*> operators; for (QueryPlan::DAGNodeIndex i = 0; i < kNumNodes; ++i) { - operators.push_back(static_cast<const MockOperator*>(&query_plan_->getQueryPlanDAG().getNodePayload(ids[i]))); + operators.push_back(static_cast<const MockOperator*>(&query_plan_->getQueryPlanDAG().getNodePayload(i))); } constructQueryManager(); // operators[0] should have produced a workorder by now. + EXPECT_EQ(1, operators[0]->getNumCalls(MockOperator::kGetAllWorkOrders)); EXPECT_EQ(1, operators[0]->getNumWorkOrders()); unique_ptr<WorkerMessage> worker_message; - worker_message.reset(query_manager_->getNextWorkerMessage(ids[0], -1)); + worker_message.reset(query_manager_->getNextWorkerMessage(0, -1)); EXPECT_TRUE(worker_message != nullptr); EXPECT_EQ(WorkerMessage::WorkerMessageType::kWorkOrder, worker_message->getType()); - EXPECT_EQ(ids[0], worker_message->getRelationalOpIndex()); + EXPECT_EQ(0, worker_message->getRelationalOpIndex()); delete worker_message->getWorkOrder(); - EXPECT_EQ(1, getNumWorkOrdersInExecution(ids[0])); - EXPECT_FALSE(getOperatorFinishedStatus(ids[0])); + EXPECT_EQ(1, getNumWorkOrdersInExecution(0)); + EXPECT_FALSE(getOperatorFinishedStatus(0)); - for (QueryPlan::DAGNodeIndex i = 0; i < kNumNodes; ++i) { - EXPECT_EQ(1, operators[ids[i]]->getNumCalls(MockOperator::kGetAllWorkOrders)); + for (QueryPlan::DAGNodeIndex i = 1; i < kNumNodes; ++i) { + EXPECT_EQ(0, operators[i]->getNumCalls(MockOperator::kGetAllWorkOrders)); } // Send a message to QueryManager upon workorder (generated by operators[0]) // completion. - EXPECT_TRUE(placeWorkOrderCompleteMessage(ids[0])); + EXPECT_TRUE(placeWorkOrderCompleteMessage(0)); for (QueryPlan::DAGNodeIndex i = 0; i < kNumNodes; ++i) { - EXPECT_EQ(0, getNumWorkOrdersInExecution(ids[i])); - EXPECT_TRUE(getOperatorFinishedStatus(ids[i])); + EXPECT_EQ(0, getNumWorkOrdersInExecution(i)); + EXPECT_TRUE(getOperatorFinishedStatus(i)); if (i < kNumNodes - 1) { EXPECT_EQ(1, operators[i + 1]->getNumCalls(MockOperator::kDoneFeedingInputBlocks)); } } } -TEST_F(QueryManagerTest, OutOfOrderWorkOrderCompletionTest) { --- End diff -- Why is this scenario not worthy to check?
---