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 <christian.stenger@qt.io>
This commit is contained in:
Robert Löhning
2024-07-19 23:14:36 +02:00
parent 0d2ae24580
commit 0de1a6cdf7

View File

@@ -16,10 +16,10 @@ def main():
if not startedWithoutPluginError(): if not startedWithoutPluginError():
return return
invokeMenuItem("Edit", "Preferences...") invokeMenuItem("Edit", "Preferences...")
__checkKits__() qmakeFound = __checkKits__()
clickButton(waitForObject(":Options.Cancel_QPushButton")) clickButton(waitForObject(":Options.Cancel_QPushButton"))
invokeMenuItem("File", "Exit") invokeMenuItem("File", "Exit")
__checkCreatedSettings__(emptySettings) __checkCreatedSettings__(emptySettings, qmakeFound)
def __createMinimumIni__(emptyParent): def __createMinimumIni__(emptyParent):
qtProjDir = os.path.join(emptyParent, "QtProject") qtProjDir = os.path.join(emptyParent, "QtProject")
@@ -61,6 +61,10 @@ def __checkKits__():
test.log(str(genericDebuggers)) test.log(str(genericDebuggers))
# check Qt versions # check Qt versions
qmakePath = which("qmake") 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 = [] foundQt = []
clickOnTab(":Options.qt_tabwidget_tabbar_QTabBar", "Qt Versions") clickOnTab(":Options.qt_tabwidget_tabbar_QTabBar", "Qt Versions")
__iterateTree__(":qtdirList_QTreeView", __qtFunc__, foundQt, qmakePath) __iterateTree__(":qtdirList_QTreeView", __qtFunc__, foundQt, qmakePath)
@@ -71,6 +75,7 @@ def __checkKits__():
# check kits # check kits
clickOnTab(":Options.qt_tabwidget_tabbar_QTabBar", "Kits") clickOnTab(":Options.qt_tabwidget_tabbar_QTabBar", "Kits")
__iterateTree__(":BuildAndRun_QTreeView", __kitFunc__, foundQt, foundCompilerNames) __iterateTree__(":BuildAndRun_QTreeView", __kitFunc__, foundQt, foundCompilerNames)
return qmakePath != None
def __processSubItems__(treeObjStr, section, parModelIndexStr, doneItems, def __processSubItems__(treeObjStr, section, parModelIndexStr, doneItems,
additionalFunc, *additionalParameters): additionalFunc, *additionalParameters):
@@ -377,7 +382,7 @@ def __lowerStrs__(iterable):
else: else:
yield it yield it
def __checkCreatedSettings__(settingsFolder): def __checkCreatedSettings__(settingsFolder, qmakeFound):
waitForCleanShutdown() waitForCleanShutdown()
qtProj = os.path.join(settingsFolder, "QtProject") qtProj = os.path.join(settingsFolder, "QtProject")
creatorFolder = os.path.join(qtProj, "qtcreator") creatorFolder = os.path.join(qtProj, "qtcreator")
@@ -390,8 +395,9 @@ def __checkCreatedSettings__(settingsFolder):
os.path.join(creatorFolder, "devices.xml"):0, os.path.join(creatorFolder, "devices.xml"):0,
os.path.join(creatorFolder, "helpcollection.qhc"):0, os.path.join(creatorFolder, "helpcollection.qhc"):0,
os.path.join(creatorFolder, "profiles.xml"):0, os.path.join(creatorFolder, "profiles.xml"):0,
os.path.join(creatorFolder, "qtversion.xml"):0,
os.path.join(creatorFolder, "toolchains.xml"):0} os.path.join(creatorFolder, "toolchains.xml"):0}
if qmakeFound:
files[os.path.join(creatorFolder, "qtversion.xml")] = 0
for f in folders: for f in folders:
test.verify(os.path.isdir(f), test.verify(os.path.isdir(f),
"Verifying whether folder '%s' has been created." % os.path.basename(f)) "Verifying whether folder '%s' has been created." % os.path.basename(f))