From 0de1a6cdf726d3f0a59bcecdf19fb8a3898890e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20L=C3=B6hning?= Date: Fri, 19 Jul 2024 23:14:36 +0200 Subject: [PATCH] SquishTests: Don't expect qmake in tst_default_settings When qmake is not present in PATH or not usable, Creator does not add a Qt version and does not write qtversion.xml. Expect this behavior in the test. Change-Id: I0890b9a22bdec47c0ac7206ba0a83d1e3ded2bb3 Reviewed-by: Christian Stenger --- .../suite_general/tst_default_settings/test.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/tests/system/suite_general/tst_default_settings/test.py b/tests/system/suite_general/tst_default_settings/test.py index 194a8ac4ccf..c001763c297 100644 --- a/tests/system/suite_general/tst_default_settings/test.py +++ b/tests/system/suite_general/tst_default_settings/test.py @@ -16,10 +16,10 @@ def main(): if not startedWithoutPluginError(): return invokeMenuItem("Edit", "Preferences...") - __checkKits__() + qmakeFound = __checkKits__() clickButton(waitForObject(":Options.Cancel_QPushButton")) invokeMenuItem("File", "Exit") - __checkCreatedSettings__(emptySettings) + __checkCreatedSettings__(emptySettings, qmakeFound) def __createMinimumIni__(emptyParent): qtProjDir = os.path.join(emptyParent, "QtProject") @@ -61,6 +61,10 @@ def __checkKits__(): test.log(str(genericDebuggers)) # check Qt versions qmakePath = which("qmake") + if qmakePath and (not "Using Qt version" in + getOutputFromCmdline([qmakePath, "--version"], acceptedError=1)): + # ignore dysfunctional qmake, e.g. incomplete qtchooser + qmakePath = None foundQt = [] clickOnTab(":Options.qt_tabwidget_tabbar_QTabBar", "Qt Versions") __iterateTree__(":qtdirList_QTreeView", __qtFunc__, foundQt, qmakePath) @@ -71,6 +75,7 @@ def __checkKits__(): # check kits clickOnTab(":Options.qt_tabwidget_tabbar_QTabBar", "Kits") __iterateTree__(":BuildAndRun_QTreeView", __kitFunc__, foundQt, foundCompilerNames) + return qmakePath != None def __processSubItems__(treeObjStr, section, parModelIndexStr, doneItems, additionalFunc, *additionalParameters): @@ -377,7 +382,7 @@ def __lowerStrs__(iterable): else: yield it -def __checkCreatedSettings__(settingsFolder): +def __checkCreatedSettings__(settingsFolder, qmakeFound): waitForCleanShutdown() qtProj = os.path.join(settingsFolder, "QtProject") creatorFolder = os.path.join(qtProj, "qtcreator") @@ -390,8 +395,9 @@ def __checkCreatedSettings__(settingsFolder): os.path.join(creatorFolder, "devices.xml"):0, os.path.join(creatorFolder, "helpcollection.qhc"):0, os.path.join(creatorFolder, "profiles.xml"):0, - os.path.join(creatorFolder, "qtversion.xml"):0, os.path.join(creatorFolder, "toolchains.xml"):0} + if qmakeFound: + files[os.path.join(creatorFolder, "qtversion.xml")] = 0 for f in folders: test.verify(os.path.isdir(f), "Verifying whether folder '%s' has been created." % os.path.basename(f))