Browse Source

Use new MockLink start methods

QGC4.4
Don Gagne 10 years ago
parent
commit
8ffe06fee2
  1. 28
      src/qgcunittest/UnitTest.cc
  2. 2
      src/qgcunittest/UnitTest.h
  3. 4
      src/qgcunittest/UnitTestList.cc

28
src/qgcunittest/UnitTest.cc

@ -30,6 +30,7 @@
#include "QGCApplication.h" #include "QGCApplication.h"
#include "MAVLinkProtocol.h" #include "MAVLinkProtocol.h"
#include "MainWindow.h" #include "MainWindow.h"
#include "Vehicle.h"
bool UnitTest::_messageBoxRespondedTo = false; bool UnitTest::_messageBoxRespondedTo = false;
bool UnitTest::_badResponseButton = false; bool UnitTest::_badResponseButton = false;
@ -46,6 +47,7 @@ UnitTest::UnitTest(void)
: _linkManager(NULL) : _linkManager(NULL)
, _mockLink(NULL) , _mockLink(NULL)
, _mainWindow(NULL) , _mainWindow(NULL)
, _vehicle(NULL)
, _expectMissedFileDialog(false) , _expectMissedFileDialog(false)
, _expectMissedMessageBox(false) , _expectMissedMessageBox(false)
, _unitTestRun(false) , _unitTestRun(false)
@ -111,6 +113,8 @@ void UnitTest::init(void)
connect(_linkManager, &LinkManager::linkDeleted, this, &UnitTest::_linkDeleted); connect(_linkManager, &LinkManager::linkDeleted, this, &UnitTest::_linkDeleted);
} }
_linkManager->restart();
_messageBoxRespondedTo = false; _messageBoxRespondedTo = false;
_missedMessageBoxCount = 0; _missedMessageBoxCount = 0;
_badResponseButton = false; _badResponseButton = false;
@ -369,17 +373,27 @@ void UnitTest::_connectMockLink(MAV_AUTOPILOT autopilot)
{ {
Q_ASSERT(!_mockLink); Q_ASSERT(!_mockLink);
_mockLink = new MockLink(); switch (autopilot) {
_mockLink->setFirmwareType(autopilot); case MAV_AUTOPILOT_PX4:
_mockLink = MockLink::startPX4MockLink(false);
_linkManager->_addLink(_mockLink); break;
_linkManager->connectLink(_mockLink); case MAV_AUTOPILOT_ARDUPILOTMEGA:
_mockLink = MockLink::startAPMArduCopterMockLink(false);
break;
case MAV_AUTOPILOT_GENERIC:
_mockLink = MockLink::startGenericMockLink(false);
break;
default:
qWarning() << "Type not supported";
break;
}
// Wait for the Vehicle to get created // Wait for the Vehicle to get created
QSignalSpy spyVehicle(qgcApp()->toolbox()->multiVehicleManager(), SIGNAL(parameterReadyVehicleAvailableChanged(bool))); QSignalSpy spyVehicle(qgcApp()->toolbox()->multiVehicleManager(), SIGNAL(parameterReadyVehicleAvailableChanged(bool)));
QCOMPARE(spyVehicle.wait(5000), true); QCOMPARE(spyVehicle.wait(5000), true);
QVERIFY(qgcApp()->toolbox()->multiVehicleManager()->parameterReadyVehicleAvailable()); QVERIFY(qgcApp()->toolbox()->multiVehicleManager()->parameterReadyVehicleAvailable());
QVERIFY(qgcApp()->toolbox()->multiVehicleManager()->activeVehicle()); _vehicle = qgcApp()->toolbox()->multiVehicleManager()->activeVehicle();
QVERIFY(_vehicle);
} }
void UnitTest::_disconnectMockLink(void) void UnitTest::_disconnectMockLink(void)
@ -392,6 +406,8 @@ void UnitTest::_disconnectMockLink(void)
// Wait for link to go away // Wait for link to go away
linkSpy.wait(1000); linkSpy.wait(1000);
QCOMPARE(linkSpy.count(), 1); QCOMPARE(linkSpy.count(), 1);
_vehicle = NULL;
} }
} }

2
src/qgcunittest/UnitTest.h

@ -45,6 +45,7 @@ class QGCFileDialog;
class LinkManager; class LinkManager;
class MockLink; class MockLink;
class MainWindow; class MainWindow;
class Vehicle;
class UnitTest : public QObject class UnitTest : public QObject
{ {
@ -115,6 +116,7 @@ protected:
LinkManager* _linkManager; LinkManager* _linkManager;
MockLink* _mockLink; MockLink* _mockLink;
MainWindow* _mainWindow; MainWindow* _mainWindow;
Vehicle* _vehicle;
bool _expectMissedFileDialog; // true: expect a missed file dialog, used for internal testing bool _expectMissedFileDialog; // true: expect a missed file dialog, used for internal testing
bool _expectMissedMessageBox; // true: expect a missed message box, used for internal testing bool _expectMissedMessageBox; // true: expect a missed message box, used for internal testing

4
src/qgcunittest/UnitTestList.cc

@ -33,10 +33,11 @@
#include "MessageBoxTest.h" #include "MessageBoxTest.h"
#include "MissionItemTest.h" #include "MissionItemTest.h"
#include "MissionControllerTest.h" #include "MissionControllerTest.h"
#include "PX4RCCalibrationTest.h" #include "RadioConfigTest.h"
#include "SetupViewTest.h" #include "SetupViewTest.h"
#include "MavlinkLogTest.h" #include "MavlinkLogTest.h"
UT_REGISTER_TEST(SetupViewTest)
UT_REGISTER_TEST(FactSystemTestGeneric) UT_REGISTER_TEST(FactSystemTestGeneric)
UT_REGISTER_TEST(FactSystemTestPX4) UT_REGISTER_TEST(FactSystemTestPX4)
UT_REGISTER_TEST(FileDialogTest) UT_REGISTER_TEST(FileDialogTest)
@ -48,7 +49,6 @@ UT_REGISTER_TEST(MessageBoxTest)
UT_REGISTER_TEST(MissionItemTest) UT_REGISTER_TEST(MissionItemTest)
UT_REGISTER_TEST(MissionControllerTest) UT_REGISTER_TEST(MissionControllerTest)
UT_REGISTER_TEST(RadioConfigTest) UT_REGISTER_TEST(RadioConfigTest)
UT_REGISTER_TEST(SetupViewTest)
// List of unit test which are currently disabled. // List of unit test which are currently disabled.
// If disabling a new test, include reason in comment. // If disabling a new test, include reason in comment.

Loading…
Cancel
Save