Browse Source

Merge pull request #4526 from DonLakeFlyer/SurveyUT

Fix ComplexMissionItemText unit test crash
QGC4.4
Don Gagne 8 years ago committed by GitHub
parent
commit
21ebc83a8e
  1. 22
      src/MissionManager/ComplexMissionItemTest.cc
  2. 10
      src/MissionManager/SurveyMissionItem.cc

22
src/MissionManager/ComplexMissionItemTest.cc

@ -180,26 +180,6 @@ void ComplexMissionItemTest::_testCameraTrigger(void) @@ -180,26 +180,6 @@ void ComplexMissionItemTest::_testCameraTrigger(void)
{
QCOMPARE(_complexItem->property("cameraTrigger").toBool(), true);
// Turning on/off camera triggering while there is no grid should trigger:
// cameraTriggerChanged
// dirtyChanged
// lastSequenceNumber should not change
int lastSeq = _complexItem->lastSequenceNumber();
_complexItem->setProperty("cameraTrigger", false);
QVERIFY(_multiSpy->checkOnlySignalByMask(dirtyChangedMask | cameraTriggerChangedMask));
QVERIFY(!_multiSpy->pullBoolFromSignalIndex(cameraTriggerChangedIndex));
QCOMPARE(_complexItem->lastSequenceNumber(), lastSeq);
_complexItem->setDirty(false);
_multiSpy->clearAllSignals();
_complexItem->setProperty("cameraTrigger", true);
QVERIFY(_multiSpy->checkOnlySignalByMask(dirtyChangedMask | cameraTriggerChangedMask));
QVERIFY(_multiSpy->pullBoolFromSignalIndex(cameraTriggerChangedIndex));
QCOMPARE(_complexItem->lastSequenceNumber(), lastSeq);
// Set up a grid
for (int i=0; i<3; i++) {
@ -209,7 +189,7 @@ void ComplexMissionItemTest::_testCameraTrigger(void) @@ -209,7 +189,7 @@ void ComplexMissionItemTest::_testCameraTrigger(void)
_complexItem->setDirty(false);
_multiSpy->clearAllSignals();
lastSeq = _complexItem->lastSequenceNumber();
int lastSeq = _complexItem->lastSequenceNumber();
QVERIFY(lastSeq > 0);
// Turning off camera triggering should remove two camera trigger mission items, this should trigger:

10
src/MissionManager/SurveyMissionItem.cc

@ -136,9 +136,13 @@ SurveyMissionItem::SurveyMissionItem(Vehicle* vehicle, QObject* parent) @@ -136,9 +136,13 @@ SurveyMissionItem::SurveyMissionItem(Vehicle* vehicle, QObject* parent)
connect(this, &SurveyMissionItem::cameraTriggerChanged, this, &SurveyMissionItem::_cameraTriggerChanged);
connect(&_cameraTriggerDistanceFact, &Fact::valueChanged, this, &SurveyMissionItem::timeBetweenShotsChanged);
connect(_vehicle, &Vehicle::cruiseSpeedChanged, this, &SurveyMissionItem::timeBetweenShotsChanged);
connect(_vehicle, &Vehicle::hoverSpeedChanged, this, &SurveyMissionItem::timeBetweenShotsChanged);
connect(&_cameraTriggerDistanceFact, &Fact::valueChanged, this, &SurveyMissionItem::timeBetweenShotsChanged);
// NULL check since object creation during unit testing passes NULL for vehicle
if (_vehicle) {
connect(_vehicle, &Vehicle::cruiseSpeedChanged, this, &SurveyMissionItem::timeBetweenShotsChanged);
connect(_vehicle, &Vehicle::hoverSpeedChanged, this, &SurveyMissionItem::timeBetweenShotsChanged);
}
}
void SurveyMissionItem::_setSurveyDistance(double surveyDistance)

Loading…
Cancel
Save