Squish: Fix adding new kit

Projects view has changed and so has functionality of adding a new kit.

Change-Id: I44377822b8b850fd17be24e12f7e5d0104be568d
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
This commit is contained in:
Christian Stenger
2016-10-17 15:16:05 +02:00
parent c4afe5d79b
commit 9d328ef1a9
4 changed files with 51 additions and 21 deletions

View File

@@ -1,4 +1,3 @@
:*Qt Creator.Add Kit_QPushButton {text='Add Kit' type='QPushButton' unnamed='1' visible='1' window=':Qt Creator_Core::Internal::MainWindow'}
:*Qt Creator.Build Project_Core::Internal::FancyToolButton {text?='Build Project*' type='Core::Internal::FancyToolButton' unnamed='1' visible='1' window=':Qt Creator_Core::Internal::MainWindow'}
:*Qt Creator.Cancel Build_QToolButton {text='Cancel Build' type='QToolButton' unnamed='1' visible='1' window=':Qt Creator_Core::Internal::MainWindow'}
:*Qt Creator.Clear_QToolButton {text='Clear' type='QToolButton' unnamed='1' visible='1' window=':Qt Creator_Core::Internal::MainWindow'}

View File

@@ -293,3 +293,34 @@ def invokeContextMenuOnProject(projectName, menuItem):
else:
activateItem(waitForObjectItem("{name='Project.Menu.Project' type='QMenu' visible='1'}", menuItem))
return projItem
def addAndActivateKit(kit):
clickToActivate = "<h3>Click to activate:</h3>"
bAndRIndex = getQModelIndexStr("text='Build & Run'", ":Projects.ProjectNavigationTreeView")
kitString = Targets.getStringForTarget(kit)
switchViewTo(ViewConstants.PROJECTS)
try:
treeView = waitForObject(":Projects.ProjectNavigationTreeView")
wanted = getQModelIndexStr("text='%s'" % kitString, bAndRIndex)
index = findObject(wanted)
if str(index.toolTip).startswith(clickToActivate):
mouseClick(index)
test.verify(waitFor("not str(index.toolTip).startswith(clickToActivate)", 1500),
"Kit added for this project")
try:
findObject(":Projects.ProjectNavigationTreeView")
except:
test.warning("Squish issue - QC switches automatically to Edit view after enabling "
"a new kit when running tst_opencreator_qbs - works as expected when "
"running without Squish")
switchViewTo(ViewConstants.PROJECTS)
else:
test.warning("Kit is already added for this project.")
mouseClick(index)
test.verify(waitFor("index.font.bold == True", 1500),
"Verifying whether kit is current active")
except:
return False
finally:
switchViewTo(ViewConstants.EDIT)
return True

View File

@@ -37,13 +37,10 @@ def main():
if not startedWithoutPluginError():
return
openQbsProject(pathCreator)
switchViewTo(ViewConstants.PROJECTS)
clickButton(waitForObject(":*Qt Creator.Add Kit_QPushButton"))
menuItem = Targets.getStringForTarget(Targets.DESKTOP_541_GCC)
activateItem(waitForObjectItem("{type='QMenu' unnamed='1' visible='1' "
"window=':Qt Creator_Core::Internal::MainWindow'}", menuItem))
switchToBuildOrRunSettingsFor(2, 1, ProjectSettings.BUILD)
switchViewTo(ViewConstants.EDIT)
if not addAndActivateKit(Targets.DESKTOP_541_GCC):
test.fatal("Failed to activate '%s'" % Targets.getStringForTarget(Targets.DESKTOP_541_GCC))
invokeMenuItem("File", "Exit")
return
test.log("Start parsing project")
rootNodeTemplate = "{column='0' container=':Qt Creator_Utils::NavigationTreeView' text~='%s( \[\S+\])?' type='QModelIndex'}"
ntwObject = waitForObject(rootNodeTemplate % "qtcreator.qbs")

View File

@@ -37,23 +37,26 @@ def main():
# using a temporary directory won't mess up a potentially existing
workingDir = tempDir()
projectName = createNewQtQuickUI(workingDir, qtVersion, controls)
switchViewTo(ViewConstants.PROJECTS)
clickButton(waitForObject(":*Qt Creator.Add Kit_QPushButton"))
if qtVersion == "5.6":
menuItem = Targets.getStringForTarget(Targets.DESKTOP_561_DEFAULT)
quick = "2.6"
else:
menuItem = Targets.getStringForTarget(Targets.DESKTOP_541_GCC)
quick = "2.4"
if platform.system() == 'Darwin':
waitFor("macHackActivateContextMenuItem(menuItem)", 5000)
else:
activateItem(waitForObjectItem("{type='QMenu' unnamed='1' visible='1' "
"window=':Qt Creator_Core::Internal::MainWindow'}", menuItem))
kit = Targets.getStringForTarget(Targets.DESKTOP_561_DEFAULT)
if addAndActivateKit(Targets.DESKTOP_561_DEFAULT):
quick = "2.6"
else:
test.fatal("Failed to activate kit %s" % kit)
continue
else: # qtVersion == '5.4'
if platform.system() == 'Darwin':
continue
kit = Targets.getStringForTarget(Targets.DESKTOP_541_GCC)
if addAndActivateKit(Targets.DESKTOP_541_GCC):
quick = "2.4"
else:
test.fatal("Failed to activate kit %s" % kit)
continue
additionalText = ''
if controls:
additionalText = ' Controls '
test.log("Running project Qt Quick%sUI (%s)" % (additionalText, menuItem))
test.log("Running project Qt Quick%sUI (%s)" % (additionalText, kit))
qmlViewer = modifyRunSettingsForHookIntoQtQuickUI(2, 1, workingDir, projectName, 11223, quick)
if qmlViewer!=None:
qmlViewerPath = os.path.dirname(qmlViewer)