forked from qt-creator/qt-creator
Task-number: QTCREATORBUG-22111 Change-Id: Iaae052e73a264252e399bd0992be4b420e2799ae Reviewed-by: Robert Loehning <robert.loehning@qt.io> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
64 lines
2.8 KiB
Python
64 lines
2.8 KiB
Python
############################################################################
|
|
#
|
|
# 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.
|
|
#
|
|
############################################################################
|
|
|
|
source("../../shared/qtcreator.py")
|
|
|
|
def _exactlyOne_(iterable):
|
|
trueElements = 0
|
|
for element in iterable:
|
|
if element:
|
|
trueElements += 1
|
|
return trueElements == 1
|
|
|
|
def main():
|
|
startQC()
|
|
if not startedWithoutPluginError():
|
|
return
|
|
available = ["5.10", "5.14"]
|
|
|
|
for qtVersion in available:
|
|
# using a temporary directory won't mess up a potentially existing
|
|
workingDir = tempDir()
|
|
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")
|
|
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")
|
|
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?")
|
|
invokeMenuItem("File", "Close All Projects and Editors")
|
|
invokeMenuItem("File", "Exit")
|