2016-01-15 14:55:33 +01:00
|
|
|
############################################################################
|
|
|
|
|
#
|
|
|
|
|
# Copyright (C) 2016 The Qt Company Ltd.
|
|
|
|
|
# Contact: https://www.qt.io/licensing/
|
|
|
|
|
#
|
|
|
|
|
# This file is part of Qt Creator.
|
|
|
|
|
#
|
|
|
|
|
# Commercial License Usage
|
|
|
|
|
# Licensees holding valid commercial Qt licenses may use this file in
|
|
|
|
|
# accordance with the commercial license agreement provided with the
|
|
|
|
|
# Software or, alternatively, in accordance with the terms contained in
|
|
|
|
|
# a written agreement between you and The Qt Company. For licensing terms
|
|
|
|
|
# and conditions see https://www.qt.io/terms-conditions. For further
|
|
|
|
|
# information use the contact form at https://www.qt.io/contact-us.
|
|
|
|
|
#
|
|
|
|
|
# GNU General Public License Usage
|
|
|
|
|
# Alternatively, this file may be used under the terms of the GNU
|
|
|
|
|
# General Public License version 3 as published by the Free Software
|
|
|
|
|
# Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
|
|
|
|
|
# included in the packaging of this file. Please review the following
|
|
|
|
|
# information to ensure the GNU General Public License requirements will
|
|
|
|
|
# be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
|
|
|
|
#
|
|
|
|
|
############################################################################
|
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
|
2020-02-06 21:05:01 +01:00
|
|
|
available = ["5.10", "5.14"]
|
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")
|
2020-02-06 21:05:01 +01:00
|
|
|
if qtVersion == "5.14":
|
|
|
|
|
test.verify(not any(map(lambda name: "5.10" in name, checkedKitNames)),
|
|
|
|
|
"The 5.10 kit should not have been checked when 5.14 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)),
|
|
|
|
|
"Does Creator use qmlscene from a checked kit?")
|
|
|
|
|
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")
|