@@ -94,7 +94,7 @@ void ParameterManagerTest::_requestListNoResponse(void)
9494void ParameterManagerTest::_skipParameterDownload (void )
9595{
9696 Q_ASSERT (!_mockLink);
97- _mockLink = MockLink::startPX4MockLink (false , MockConfiguration::FailParamNoReponseToRequestList );
97+ _mockLink = MockLink::startPX4MockLink (false , MockConfiguration::FailNone );
9898
9999 MultiVehicleManager* vehicleMgr = MultiVehicleManager::instance ();
100100 QVERIFY (vehicleMgr);
@@ -110,34 +110,23 @@ void ParameterManagerTest::_skipParameterDownload(void)
110110 Vehicle* vehicle = vehicleMgr->activeVehicle ();
111111 QVERIFY (vehicle);
112112
113- ParameterManager *const paramManager = vehicle->parameterManager ();
114- QVERIFY (paramManager);
115-
116- QSignalSpy paramsReadySpy (paramManager, &ParameterManager::parametersReadyChanged);
117- QSignalSpy missingSpy (paramManager, &ParameterManager::missingParametersChanged);
118- QSignalSpy progressSpy (paramManager, &ParameterManager::loadProgressChanged);
119-
120- QVERIFY (paramsReadySpy.isValid ());
121- QVERIFY (missingSpy.isValid ());
122- QVERIFY (progressSpy.isValid ());
123-
124- paramManager->skipParameterDownload ();
125-
126- QVERIFY (paramsReadySpy.wait (1000 ));
127- arguments = paramsReadySpy.takeFirst ();
113+ // We should get progress bar updates during load
114+ QSignalSpy spyProgress (vehicle->parameterManager (), SIGNAL (loadProgressChanged (float )));
115+ QCOMPARE (spyProgress.wait (2000 ), true );
116+ arguments = spyProgress.takeFirst ();
128117 QCOMPARE (arguments.count (), 1 );
129- QCOMPARE (arguments.at (0 ).toBool (), true );
118+ QVERIFY (arguments.at (0 ).toFloat () > 0 . 0f );
130119
131- if (missingSpy.count () == 0 ) {
132- missingSpy.wait (1000 );
133- }
134- QVERIFY (missingSpy.count () >= 1 );
135- QCOMPARE (paramManager->missingParameters (), true );
120+ // Trigger skip of parameter download
121+ vehicle->parameterManager ()->skipParameterDownload ();
136122
137- if (progressSpy.count () == 0 ) {
138- progressSpy.wait (1000 );
139- }
140- arguments = progressSpy.takeLast ();
123+ // We should get a parameters ready signal, but Vehicle should indicate missing params
124+ QSignalSpy spyParamsReady (vehicleMgr, SIGNAL (parameterReadyVehicleAvailableChanged (bool )));
125+ QCOMPARE (spyParamsReady.wait (40000 ), true );
126+ QCOMPARE (vehicle->parameterManager ()->missingParameters (), true );
127+
128+ // Progress should have been set back to 1
129+ arguments = spyProgress.takeLast ();
141130 QCOMPARE (arguments.count (), 1 );
142131 QCOMPARE (arguments.at (0 ).toFloat (), 1 .0f );
143132}
0 commit comments