Commit 78d81e6c authored by Don Gagne's avatar Don Gagne

Merge pull request #2037 from DonLakeFlyer/UnitTests

Unit tests
parents 5a26408e 3efd0a10
......@@ -457,7 +457,6 @@ HEADERS += \
src/qgcunittest/FileManagerTest.h \
src/qgcunittest/FlightGearTest.h \
src/qgcunittest/LinkManagerTest.h \
src/qgcunittest/MainWindowTest.h \
src/qgcunittest/MavlinkLogTest.h \
src/qgcunittest/MessageBoxTest.h \
src/qgcunittest/MultiSignalSpy.h \
......@@ -477,7 +476,6 @@ SOURCES += \
src/qgcunittest/FileManagerTest.cc \
src/qgcunittest/FlightGearTest.cc \
src/qgcunittest/LinkManagerTest.cc \
src/qgcunittest/MainWindowTest.cc \
src/qgcunittest/MavlinkLogTest.cc \
src/qgcunittest/MessageBoxTest.cc \
src/qgcunittest/MultiSignalSpy.cc \
......@@ -487,6 +485,19 @@ SOURCES += \
src/qgcunittest/UnitTest.cc \
src/VehicleSetup/SetupViewTest.cc \
!WindowsDebugAndRelease {
# This specific unit test seems to create havoc on Windows. Likely due to
# creating/destroying a main window multiple times without destorying the
# QApplication. The Qml destruction sequence is quite odd in that it is
# all delayed until it gets back the event loop. Which likely has something
# to do with the issue.
HEADERS += \
src/qgcunittest/MainWindowTest.h \
SOURCES += \
src/qgcunittest/MainWindowTest.cc \
}
} # DebugBuild|WindowsDebugAndRelease
} # MobileBuild
......
......@@ -44,9 +44,13 @@ private slots:
void cleanup(void);
void _connectWindowClosePX4_test(void);
void _connectWindowCloseGeneric_test(void);
private:
// This is moved to private so that it does not run. It exposes
// a strange ASSERT inthe jscript engine which seems to be only
// related to running this Qml in unit tests.
void _connectWindowCloseGeneric_test(void);
void _connectWindowClose_test(MAV_AUTOPILOT autopilot);
MainWindow* _mainWindow;
......
......@@ -128,6 +128,9 @@ void UnitTest::cleanup(void)
{
_cleanupCalled = true;
// We add a slight delay here to allow for deleteLater and Qml cleanup
QTest::qWait(200);
// Keep in mind that any code below these QCOMPARE may be skipped if the compare fails
if (_expectMissedMessageBox) {
QEXPECT_FAIL("", "Expecting failure due internal testing", Continue);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment