2016-01-15 14:55:33 +01:00
|
|
|
# Copyright (C) 2016 The Qt Company Ltd.
|
2022-12-21 10:12:09 +01:00
|
|
|
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
2013-05-15 13:17:33 +02:00
|
|
|
|
2011-09-06 09:12:15 +02:00
|
|
|
source("../../shared/qtcreator.py")
|
|
|
|
|
|
2019-04-24 20:19:52 +02:00
|
|
|
def _exactlyOne_(iterable):
|
|
|
|
|
trueElements = 0
|
|
|
|
|
for element in iterable:
|
|
|
|
|
if element:
|
|
|
|
|
trueElements += 1
|
|
|
|
|
return trueElements == 1
|
|
|
|
|
|
2011-09-06 09:12:15 +02:00
|
|
|
def main():
|
2018-08-22 14:37:34 +02:00
|
|
|
startQC()
|
2013-02-22 14:31:39 +01:00
|
|
|
if not startedWithoutPluginError():
|
|
|
|
|
return
|
2023-02-16 08:43:14 +01:00
|
|
|
available = ["6.2"]
|
2015-06-24 12:27:01 +02:00
|
|
|
|
2017-03-02 08:02:41 +01:00
|
|
|
for qtVersion in available:
|
2013-08-26 11:31:37 +02:00
|
|
|
# using a temporary directory won't mess up a potentially existing
|
|
|
|
|
workingDir = tempDir()
|
2019-04-24 20:19:52 +02:00
|
|
|
checkedKits, projectName = createNewQtQuickUI(workingDir, qtVersion)
|
|
|
|
|
checkedKitNames = Targets.getTargetsAsStrings(checkedKits)
|
|
|
|
|
test.verify(_exactlyOne_(map(lambda name: qtVersion in name, checkedKitNames)),
|
|
|
|
|
"The requested kit should have been checked")
|
2023-02-16 08:43:14 +01:00
|
|
|
if qtVersion == "6.2":
|
|
|
|
|
check = lambda name : ("5.10" in name or "5.14" in name)
|
|
|
|
|
test.verify(not any(map(check, checkedKitNames)),
|
|
|
|
|
"The 5.x kits should not have been checked when 6.2 is required")
|
2019-04-24 20:19:52 +02:00
|
|
|
clickButton(waitForObject(":*Qt Creator.Run_Core::Internal::FancyToolButton"))
|
|
|
|
|
if not waitForProcessRunning():
|
|
|
|
|
test.fatal("Couldn't start application - leaving test")
|
|
|
|
|
continue
|
|
|
|
|
if test.verify(not waitForProcessRunning(False), "The application should keep running"):
|
|
|
|
|
__closeSubprocessByPushingStop__(True)
|
|
|
|
|
appOutput = logApplicationOutput()
|
|
|
|
|
test.verify(_exactlyOne_(map(lambda ver: ver in appOutput, available)),
|
2021-07-12 10:38:13 +02:00
|
|
|
"Does Qt Creator use QML binary from a checked kit?")
|
2019-04-24 20:19:52 +02:00
|
|
|
test.verify(projectName + ".qml:" not in appOutput,
|
|
|
|
|
"Does the Application Output indicate QML errors?")
|
2013-08-26 11:31:37 +02:00
|
|
|
invokeMenuItem("File", "Close All Projects and Editors")
|
2011-09-06 09:12:15 +02:00
|
|
|
invokeMenuItem("File", "Exit")
|