From 8ffe06fee265407cf788b1a397050cc161939539 Mon Sep 17 00:00:00 2001 From: Don Gagne Date: Sat, 5 Dec 2015 14:55:45 -0800 Subject: [PATCH] Use new MockLink start methods --- src/qgcunittest/UnitTest.cc | 28 ++++++++++++++++++++++------ src/qgcunittest/UnitTest.h | 2 ++ src/qgcunittest/UnitTestList.cc | 4 ++-- 3 files changed, 26 insertions(+), 8 deletions(-) diff --git a/src/qgcunittest/UnitTest.cc b/src/qgcunittest/UnitTest.cc index b3f5b404c..32165cf33 100644 --- a/src/qgcunittest/UnitTest.cc +++ b/src/qgcunittest/UnitTest.cc @@ -30,6 +30,7 @@ #include "QGCApplication.h" #include "MAVLinkProtocol.h" #include "MainWindow.h" +#include "Vehicle.h" bool UnitTest::_messageBoxRespondedTo = false; bool UnitTest::_badResponseButton = false; @@ -46,6 +47,7 @@ UnitTest::UnitTest(void) : _linkManager(NULL) , _mockLink(NULL) , _mainWindow(NULL) + , _vehicle(NULL) , _expectMissedFileDialog(false) , _expectMissedMessageBox(false) , _unitTestRun(false) @@ -110,6 +112,8 @@ void UnitTest::init(void) _linkManager = qgcApp()->toolbox()->linkManager(); connect(_linkManager, &LinkManager::linkDeleted, this, &UnitTest::_linkDeleted); } + + _linkManager->restart(); _messageBoxRespondedTo = false; _missedMessageBoxCount = 0; @@ -369,17 +373,27 @@ void UnitTest::_connectMockLink(MAV_AUTOPILOT autopilot) { Q_ASSERT(!_mockLink); - _mockLink = new MockLink(); - _mockLink->setFirmwareType(autopilot); - - _linkManager->_addLink(_mockLink); - _linkManager->connectLink(_mockLink); + switch (autopilot) { + case MAV_AUTOPILOT_PX4: + _mockLink = MockLink::startPX4MockLink(false); + break; + 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 QSignalSpy spyVehicle(qgcApp()->toolbox()->multiVehicleManager(), SIGNAL(parameterReadyVehicleAvailableChanged(bool))); QCOMPARE(spyVehicle.wait(5000), true); QVERIFY(qgcApp()->toolbox()->multiVehicleManager()->parameterReadyVehicleAvailable()); - QVERIFY(qgcApp()->toolbox()->multiVehicleManager()->activeVehicle()); + _vehicle = qgcApp()->toolbox()->multiVehicleManager()->activeVehicle(); + QVERIFY(_vehicle); } void UnitTest::_disconnectMockLink(void) @@ -392,6 +406,8 @@ void UnitTest::_disconnectMockLink(void) // Wait for link to go away linkSpy.wait(1000); QCOMPARE(linkSpy.count(), 1); + + _vehicle = NULL; } } diff --git a/src/qgcunittest/UnitTest.h b/src/qgcunittest/UnitTest.h index 5326872e4..9a0893b92 100644 --- a/src/qgcunittest/UnitTest.h +++ b/src/qgcunittest/UnitTest.h @@ -45,6 +45,7 @@ class QGCFileDialog; class LinkManager; class MockLink; class MainWindow; +class Vehicle; class UnitTest : public QObject { @@ -115,6 +116,7 @@ protected: LinkManager* _linkManager; MockLink* _mockLink; MainWindow* _mainWindow; + Vehicle* _vehicle; bool _expectMissedFileDialog; // true: expect a missed file dialog, used for internal testing bool _expectMissedMessageBox; // true: expect a missed message box, used for internal testing diff --git a/src/qgcunittest/UnitTestList.cc b/src/qgcunittest/UnitTestList.cc index 6a71c97e7..e0bd09e03 100644 --- a/src/qgcunittest/UnitTestList.cc +++ b/src/qgcunittest/UnitTestList.cc @@ -33,10 +33,11 @@ #include "MessageBoxTest.h" #include "MissionItemTest.h" #include "MissionControllerTest.h" -#include "PX4RCCalibrationTest.h" +#include "RadioConfigTest.h" #include "SetupViewTest.h" #include "MavlinkLogTest.h" +UT_REGISTER_TEST(SetupViewTest) UT_REGISTER_TEST(FactSystemTestGeneric) UT_REGISTER_TEST(FactSystemTestPX4) UT_REGISTER_TEST(FileDialogTest) @@ -48,7 +49,6 @@ UT_REGISTER_TEST(MessageBoxTest) UT_REGISTER_TEST(MissionItemTest) UT_REGISTER_TEST(MissionControllerTest) UT_REGISTER_TEST(RadioConfigTest) -UT_REGISTER_TEST(SetupViewTest) // List of unit test which are currently disabled. // If disabling a new test, include reason in comment. -- 2.22.0