diff --git a/tests/system/shared/classes.py b/tests/system/shared/classes.py index ff013241c6f..e5cf6abb7d4 100644 --- a/tests/system/shared/classes.py +++ b/tests/system/shared/classes.py @@ -49,6 +49,11 @@ def desktopTargetClasses(): desktopTargets &= ~Targets.DESKTOP_541_GCC return desktopTargets + @staticmethod + def qt4Classes(): + return (Targets.DESKTOP_474_GCC & Targets.DESKTOP_480_DEFAULT + & Targets.SIMULATOR & Targets.EMBEDDED_LINUX) + @staticmethod def getStringForTarget(target): if target == Targets.DESKTOP_474_GCC: diff --git a/tests/system/shared/workarounds.py b/tests/system/shared/workarounds.py index 29ec1e281f6..cea2ced11aa 100644 --- a/tests/system/shared/workarounds.py +++ b/tests/system/shared/workarounds.py @@ -261,6 +261,7 @@ def __cropAndLog__(self, fetched): def __initBugDict__(self): self.__bugs__= { 'QTCREATORBUG-6853':self._workaroundCreator6853_, + 'QTCREATORBUG-15456':self._workaroundCreator15456_, } # helper function - will be called if no workaround for the requested bug is deposited def _exitFatal_(self, bugType, number): @@ -271,3 +272,13 @@ def _exitFatal_(self, bugType, number): def _workaroundCreator6853_(self, *args): if "Release" in args[0] and platform.system() == "Linux": snooze(2) + + def _workaroundCreator15456_(self, *args): + isMsvc = args[0] + isQt5 = args[1] + config = args[2] + if isMsvc and isQt5 and config != "Release": + unexpectedExitMessage = ("{type='QMessageBox' unnamed='1' visible='1' " + "windowTitle='Unexpected CDB Exit'}") + clickButton(waitForObject("{text='OK' type='QPushButton' unnamed='1' " + "visible='1' window=%s}" % unexpectedExitMessage)) diff --git a/tests/system/suite_debugger/tst_cli_output_console/test.py b/tests/system/suite_debugger/tst_cli_output_console/test.py index a3886cd0757..81ce1566ae3 100644 --- a/tests/system/suite_debugger/tst_cli_output_console/test.py +++ b/tests/system/suite_debugger/tst_cli_output_console/test.py @@ -63,6 +63,10 @@ def main(): if not availableConfigs: test.fatal("Haven't found a suitable Qt version - leaving without building.") for kit, config in availableConfigs: + if (checkedTargets[kit] == Targets.DESKTOP_480_DEFAULT + and config == "Profile" and JIRA.isBugStillOpen(15457)): + test.warning("Skipping MSVC build of Qt 4 because of QTCREATORBUG-15457.") + continue selectBuildConfig(len(checkedTargets), kit, config) test.log("Testing build configuration: " + config) @@ -95,6 +99,8 @@ def main(): invokeMenuItem("Debug", "Start Debugging", "Start Debugging") JIRA.performWorkaroundForBug(6853, JIRA.Bug.CREATOR, config) handleDebuggerWarnings(config, isMsvc) + JIRA.performWorkaroundForBug(15456, JIRA.Bug.CREATOR, isMsvc, + checkedTargets[kit] & ~Targets.qt4Classes(), config) ensureChecked(":Qt Creator_AppOutput_Core::Internal::OutputPaneToggleButton") outputWindow = waitForObject(":Qt Creator_Core::OutputWindow") waitFor("'Debugging has finished' in str(outputWindow.plainText)", 20000)