diff --git a/src/MissionManager/MissionControllerManagerTest.cc b/src/MissionManager/MissionControllerManagerTest.cc index ad0b719c8c0dd6cdb694692035749237dbdd0d26..b0cfceface58ea06db7e2220c592cab30543b5f3 100644 --- a/src/MissionManager/MissionControllerManagerTest.cc +++ b/src/MissionManager/MissionControllerManagerTest.cc @@ -35,9 +35,10 @@ void MissionControllerManagerTest::_initForFirmwareType(MAV_AUTOPILOT firmwareTy _missionManager = qgcApp()->toolbox()->multiVehicleManager()->activeVehicle()->missionManager(); QVERIFY(_missionManager); - _rgMissionManagerSignals[newMissionItemsAvailableSignalIndex] = SIGNAL(newMissionItemsAvailable(bool)); - _rgMissionManagerSignals[inProgressChangedSignalIndex] = SIGNAL(inProgressChanged(bool)); - _rgMissionManagerSignals[errorSignalIndex] = SIGNAL(error(int, const QString&)); + _rgMissionManagerSignals[newMissionItemsAvailableSignalIndex] = SIGNAL(newMissionItemsAvailable(bool)); + _rgMissionManagerSignals[sendCompleteSignalIndex] = SIGNAL(sendComplete(void)); + _rgMissionManagerSignals[inProgressChangedSignalIndex] = SIGNAL(inProgressChanged(bool)); + _rgMissionManagerSignals[errorSignalIndex] = SIGNAL(error(int, const QString&)); _multiSpyMissionManager = new MultiSignalSpy(); Q_CHECK_PTR(_multiSpyMissionManager); diff --git a/src/MissionManager/MissionControllerManagerTest.h b/src/MissionManager/MissionControllerManagerTest.h index 1962805a9274788387dc3892665475b66a6aa13a..1d4ccaf5daad8e8bfe8d054049302419b33b1aa1 100644 --- a/src/MissionManager/MissionControllerManagerTest.h +++ b/src/MissionManager/MissionControllerManagerTest.h @@ -55,6 +55,7 @@ protected: typedef enum { newMissionItemsAvailableSignalIndex = 0, + sendCompleteSignalIndex, inProgressChangedSignalIndex, errorSignalIndex, maxSignalIndex @@ -62,6 +63,7 @@ protected: typedef enum { newMissionItemsAvailableSignalMask = 1 << newMissionItemsAvailableSignalIndex, + sendCompleteSignalMask = 1 << sendCompleteSignalIndex, inProgressChangedSignalMask = 1 << inProgressChangedSignalIndex, errorSignalMask = 1 << errorSignalIndex, } MissionManagerSignalMask_t; diff --git a/src/MissionManager/MissionManager.cc b/src/MissionManager/MissionManager.cc index 85274f7df666fbc8ca150e3c3cec08b069910a8d..db35e2fca8bb0797774e246ed2691504eb29a581 100644 --- a/src/MissionManager/MissionManager.cc +++ b/src/MissionManager/MissionManager.cc @@ -868,8 +868,9 @@ void MissionManager::_finishTransaction(bool success) // First thing we do is clear the transaction. This way inProgesss is off when we signal transaction complete. TransactionType_t currentTransactionType = _transactionInProgress; _transactionInProgress = TransactionNone; - if (_transactionInProgress != TransactionNone) { + if (currentTransactionType != TransactionNone) { _transactionInProgress = TransactionNone; + qDebug() << "inProgressChanged"; emit inProgressChanged(false); } diff --git a/src/MissionManager/MissionManagerTest.cc b/src/MissionManager/MissionManagerTest.cc index 99b16e382ecede1e474b2edadf0af862fd118cb9..4a2fdc7965ef59e98af36bd6ae3251f3811b9c78 100644 --- a/src/MissionManager/MissionManagerTest.cc +++ b/src/MissionManager/MissionManagerTest.cc @@ -60,9 +60,8 @@ void MissionManagerTest::_writeItems(MockLinkMissionItemHandler::FailureMode_t f // writeMissionItems should emit these signals before returning: // inProgressChanged - // newMissionItemsAvailable QVERIFY(_missionManager->inProgress()); - QCOMPARE(_multiSpyMissionManager->checkSignalByMask(inProgressChangedSignalMask | newMissionItemsAvailableSignalMask), true); + QCOMPARE(_multiSpyMissionManager->checkSignalByMask(inProgressChangedSignalMask), true); _checkInProgressValues(true); _multiSpyMissionManager->clearAllSignals(); @@ -93,8 +92,9 @@ void MissionManagerTest::_writeItems(MockLinkMissionItemHandler::FailureMode_t f // Wait for write sequence to complete. We should get: // inProgressChanged(false) signal - _multiSpyMissionManager->waitForSignalByIndex(inProgressChangedSignalIndex, _missionManagerSignalWaitTime); - QCOMPARE(_multiSpyMissionManager->checkOnlySignalByMask(inProgressChangedSignalMask), true); + // sednComplete signal + _multiSpyMissionManager->waitForSignalByIndex(sendCompleteSignalIndex, _missionManagerSignalWaitTime); + QCOMPARE(_multiSpyMissionManager->checkSignalByMask(inProgressChangedSignalMask | sendCompleteSignalMask), true); // Validate inProgressChanged signal value _checkInProgressValues(false);