diff options
author | Christian Stenger <christian.stenger@qt.io> | 2018-08-22 14:37:34 +0200 |
---|---|---|
committer | Christian Stenger <christian.stenger@qt.io> | 2018-09-05 09:24:18 +0000 |
commit | 1016dc0603051c20ba38644827abf88dd874bc90 (patch) | |
tree | dbc4b75667ad474b735a64bb5c42faafe5e2ccc0 /tests/system | |
parent | c30b629b524597f6ae9d4308301244642fc98e5c (diff) |
Squish: Refactor starting Qt Creator from Squish
Change-Id: I7cbce7db2a22a7cb327965b9b7918eb46266b260
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
Diffstat (limited to 'tests/system')
71 files changed, 91 insertions, 112 deletions
diff --git a/tests/system/shared/clang.py b/tests/system/shared/clang.py index d1a5660828..f012b12c54 100644 --- a/tests/system/shared/clang.py +++ b/tests/system/shared/clang.py @@ -23,10 +23,11 @@ # ############################################################################ -def startCreatorTryingClang(): +def startCreatorVerifyingClang(useClang): try: - # start Qt Creator with enabled ClangCodeModel plugin (without modifying settings) - startApplication("qtcreator -load ClangCodeModel" + SettingsPath) + # start Qt Creator with / without enabled ClangCodeModel plugin (without modifying settings) + loadOrNoLoad = '-load' if useClang else '-noload' + startQC([loadOrNoLoad, 'ClangCodeModel']) except RuntimeError: t, v = sys.exc_info()[:2] strv = str(v) @@ -35,26 +36,17 @@ def startCreatorTryingClang(): else: test.fatal("Exception caught", "%s(%s)" % (str(t), strv)) return False + if platform.system() not in ('Microsoft', 'Windows'): # only Win uses dialogs for this + return startedWithoutPluginError() errorMsg = "{type='QMessageBox' unnamed='1' visible='1' windowTitle='Qt Creator'}" errorOK = "{text='OK' type='QPushButton' unnamed='1' visible='1' window=%s}" % errorMsg if not waitFor("object.exists(errorOK)", 5000): - return True + return startedWithoutPluginError() clickButton(errorOK) # Error message clickButton(errorOK) # Help message test.fatal("ClangCodeModel plugin not available.") return False -def startCreator(useClang): - try: - if useClang: - if not startCreatorTryingClang(): - return False - else: - startApplication("qtcreator -noload ClangCodeModel" + SettingsPath) - finally: - overrideStartApplication() - return startedWithoutPluginError() - def __openCodeModelOptions__(): invokeMenuItem("Tools", "Options...") waitForObjectItem(":Options_QListView", "C++") diff --git a/tests/system/shared/qtcreator.py b/tests/system/shared/qtcreator.py index 6172a12d76..734a65f0d5 100644 --- a/tests/system/shared/qtcreator.py +++ b/tests/system/shared/qtcreator.py @@ -37,11 +37,10 @@ from datetime import datetime,timedelta; import __builtin__ srcPath = '' -SettingsPath = '' +SettingsPath = [] tmpSettingsDir = '' testSettings.logScreenshotOnFail = True testSettings.logScreenshotOnError = True -__origStartApplication__ = None source("../../shared/classes.py") source("../../shared/utils.py") @@ -55,24 +54,18 @@ source("../../shared/clang.py") source("../../shared/welcome.py") source("../../shared/workarounds.py") # include this at last -# ATTENTION: if a test case calls startApplication("qtcreator...") for several times this -# function must be called BEFORE any call except the first (which is done always automatically) -def overrideStartApplication(): - global startApplication, __origStartApplication__ - if (platform.system() == "Linux"): - return - if (__origStartApplication__ == None): - __origStartApplication__ = startApplication - def startApplication(*args): - args = list(args) - if str(args[0]).startswith('qtcreator'): - if platform.system() == 'Darwin': - args[0] = args[0].replace('qtcreator', '"Qt Creator"', 1) - test.log("Using workaround for MacOS (different AUT name)") - else: - args[0] = args[0] + ' -platform windows:dialogs=none' - test.log("Using workaround for Windows (failing to hook into native FileDialog)") - return __origStartApplication__(*args) +# additionalParameters must be a list or tuple of strings or None +def startQC(additionalParameters=None, withPreparedSettingsPath=True): + global SettingsPath + appWithOptions = ['"Qt Creator"' if platform.system() == 'Darwin' else "qtcreator"] + if withPreparedSettingsPath: + appWithOptions.extend(SettingsPath) + if additionalParameters is not None: + appWithOptions.extend(additionalParameters) + if platform.system() in ('Microsoft', 'Windows'): # for hooking into native file dialog + appWithOptions.extend(('-platform', 'windows:dialogs=none')) + test.log("Starting now: %s" % ' '.join(appWithOptions)) + startApplication(' '.join(appWithOptions)) def startedWithoutPluginError(): try: @@ -304,7 +297,7 @@ def copySettingsToTmpDir(destination=None, omitFiles=[]): elif platform.system() in ('Windows', 'Microsoft'): substituteCdb(tmpSettingsDir) substituteUnchosenTargetABIs(tmpSettingsDir) - SettingsPath = ' -settingspath "%s"' % tmpSettingsDir + SettingsPath = ['-settingspath', '"%s"' % tmpSettingsDir] # current dir is directory holding qtcreator.py origSettingsDir = os.path.abspath(os.path.join(os.getcwd(), "..", "..", "settings")) @@ -320,8 +313,6 @@ else: srcPath = os.getenv("SYSTEST_SRCPATH", os.path.expanduser(os.path.join("~", "squish-data"))) -overrideStartApplication() - # the following only doesn't work if the test ends in an exception if os.getenv("SYSTEST_NOSETTINGSPATH") != "1": copySettingsToTmpDir() diff --git a/tests/system/suite_APTW/tst_APTW01/test.py b/tests/system/suite_APTW/tst_APTW01/test.py index 52ae22b787..ac833cffc9 100644 --- a/tests/system/suite_APTW/tst_APTW01/test.py +++ b/tests/system/suite_APTW/tst_APTW01/test.py @@ -29,8 +29,7 @@ source("../../shared/qtcreator.py") def main(): # Start Creator with built-in code model, to avoid having # warnings from the clang code model in "issues" view - startCreator(False) - if not startedWithoutPluginError(): + if not startCreatorVerifyingClang(False): return createProject_Qt_GUI(tempDir(), "SampleApp") # run project for debug and release and verify results diff --git a/tests/system/suite_APTW/tst_APTW02/test.py b/tests/system/suite_APTW/tst_APTW02/test.py index dd76b788d3..bff30f84e4 100644 --- a/tests/system/suite_APTW/tst_APTW02/test.py +++ b/tests/system/suite_APTW/tst_APTW02/test.py @@ -27,7 +27,7 @@ source("../../shared/qtcreator.py") # test New Qt Quick Application build and run for release and debug option def main(): - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return createNewQtQuickApplication(tempDir(), "SampleApp") diff --git a/tests/system/suite_APTW/tst_APTW03/test.py b/tests/system/suite_APTW/tst_APTW03/test.py index f3cf82f169..6d2b8e4ccc 100644 --- a/tests/system/suite_APTW/tst_APTW03/test.py +++ b/tests/system/suite_APTW/tst_APTW03/test.py @@ -72,7 +72,7 @@ def addReturn(editor, toFunction, returnValue): type(editor, "return %s;" % returnValue) def main(): - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return diff --git a/tests/system/suite_CCOM/tst_CCOM01/test.py b/tests/system/suite_CCOM/tst_CCOM01/test.py index d468dca06a..8a512c87df 100755 --- a/tests/system/suite_CCOM/tst_CCOM01/test.py +++ b/tests/system/suite_CCOM/tst_CCOM01/test.py @@ -36,7 +36,7 @@ def main(): # copy example project to temp directory templateDir = prepareTemplate(sourceExample, "/../shared") examplePath = os.path.join(templateDir, proFile) - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return # open example project, supports only Qt 5 diff --git a/tests/system/suite_CCOM/tst_CCOM02/test.py b/tests/system/suite_CCOM/tst_CCOM02/test.py index f6a3232bd8..44e95fa787 100755 --- a/tests/system/suite_CCOM/tst_CCOM02/test.py +++ b/tests/system/suite_CCOM/tst_CCOM02/test.py @@ -37,7 +37,7 @@ def main(): # copy example project to temp directory templateDir = prepareTemplate(sourceExample, "/../shared") examplePath = os.path.join(templateDir, proFile) - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return # open example project diff --git a/tests/system/suite_CSUP/tst_CSUP01/test.py b/tests/system/suite_CSUP/tst_CSUP01/test.py index 51c9208797..1031ce75dc 100644 --- a/tests/system/suite_CSUP/tst_CSUP01/test.py +++ b/tests/system/suite_CSUP/tst_CSUP01/test.py @@ -45,7 +45,7 @@ def triggerCompletion(editorWidget): def main(): for useClang in [False, True]: with TestSection(getCodeModelString(useClang)): - if not startCreator(useClang): + if not startCreatorVerifyingClang(useClang): continue # create qt quick application # Step 1: Open test .pro project. diff --git a/tests/system/suite_CSUP/tst_CSUP02/test.py b/tests/system/suite_CSUP/tst_CSUP02/test.py index 144f0456ed..f44f9bc093 100644 --- a/tests/system/suite_CSUP/tst_CSUP02/test.py +++ b/tests/system/suite_CSUP/tst_CSUP02/test.py @@ -29,7 +29,7 @@ source("../../shared/qtcreator.py") def main(): for useClang in [False, True]: with TestSection(getCodeModelString(useClang)): - if not startCreator(useClang): + if not startCreatorVerifyingClang(useClang): continue # create qt quick application # Step 1: Open test .pro project. diff --git a/tests/system/suite_CSUP/tst_CSUP03/test.py b/tests/system/suite_CSUP/tst_CSUP03/test.py index c82e9a32ee..90e60322fc 100644 --- a/tests/system/suite_CSUP/tst_CSUP03/test.py +++ b/tests/system/suite_CSUP/tst_CSUP03/test.py @@ -81,7 +81,7 @@ def main(): and JIRA.isBugStillOpen(18607)): test.warning("Skipping unstable tests on Windows", "See QTCREATORBUG-18607") continue - if not startCreator(useClang): + if not startCreatorVerifyingClang(useClang): continue projectName = createNewNonQtProject(tempDir(), "project_csup03", [Targets.DESKTOP_4_8_7_DEFAULT]) diff --git a/tests/system/suite_CSUP/tst_CSUP04/test.py b/tests/system/suite_CSUP/tst_CSUP04/test.py index d6eaf7086e..c910de02b5 100644 --- a/tests/system/suite_CSUP/tst_CSUP04/test.py +++ b/tests/system/suite_CSUP/tst_CSUP04/test.py @@ -39,7 +39,7 @@ def main(): examplePath = os.path.join(templateDir, proFile) for useClang in [False, True]: with TestSection(getCodeModelString(useClang)): - if not startCreator(useClang): + if not startCreatorVerifyingClang(useClang): continue # open example project openQmakeProject(examplePath) diff --git a/tests/system/suite_CSUP/tst_CSUP05/test.py b/tests/system/suite_CSUP/tst_CSUP05/test.py index 0824ef48fd..e24d80ebf9 100644 --- a/tests/system/suite_CSUP/tst_CSUP05/test.py +++ b/tests/system/suite_CSUP/tst_CSUP05/test.py @@ -38,7 +38,7 @@ def main(): examplePath = os.path.join(templateDir, proFile) for useClang in [False, True]: with TestSection(getCodeModelString(useClang)): - if not startCreator(useClang): + if not startCreatorVerifyingClang(useClang): continue # open example project openQmakeProject(examplePath) diff --git a/tests/system/suite_CSUP/tst_CSUP06/test.py b/tests/system/suite_CSUP/tst_CSUP06/test.py index baf4218777..780e718c30 100644 --- a/tests/system/suite_CSUP/tst_CSUP06/test.py +++ b/tests/system/suite_CSUP/tst_CSUP06/test.py @@ -163,7 +163,7 @@ def main(): examplePath = os.path.join(templateDir, "cplusplus-tools.pro") for useClang in [False, True]: with TestSection(getCodeModelString(useClang)): - if not startCreator(useClang): + if not startCreatorVerifyingClang(useClang): continue openQmakeProject(examplePath, [Targets.DESKTOP_5_6_1_DEFAULT]) checkCodeModelSettings(useClang) diff --git a/tests/system/suite_HELP/tst_HELP02/test.py b/tests/system/suite_HELP/tst_HELP02/test.py index 9332268cc9..988657cd3b 100755 --- a/tests/system/suite_HELP/tst_HELP02/test.py +++ b/tests/system/suite_HELP/tst_HELP02/test.py @@ -106,7 +106,7 @@ def main(): if not expectedVersion: test.fatal("Can't find version from file.") return - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return setKeyboardShortcutForAboutQtC() diff --git a/tests/system/suite_HELP/tst_HELP04/test.py b/tests/system/suite_HELP/tst_HELP04/test.py index e6ce7932d0..1626e5d9b8 100644 --- a/tests/system/suite_HELP/tst_HELP04/test.py +++ b/tests/system/suite_HELP/tst_HELP04/test.py @@ -76,7 +76,7 @@ def verifyUrl(expected): def main(): noMatch = "Your search did not match any documents." - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return addHelpDocumentation([os.path.join(qt4Path, "doc", "qch", "qt.qch")]) diff --git a/tests/system/suite_HELP/tst_HELP05/test.py b/tests/system/suite_HELP/tst_HELP05/test.py index 82d337063e..beca6be9a6 100755 --- a/tests/system/suite_HELP/tst_HELP05/test.py +++ b/tests/system/suite_HELP/tst_HELP05/test.py @@ -45,7 +45,7 @@ def verifyInteractiveQMLHelp(lineText, helpText): % (helpText, getHelpTitle())) def main(): - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return qchs = [] diff --git a/tests/system/suite_HELP/tst_HELP06/test.py b/tests/system/suite_HELP/tst_HELP06/test.py index 11ef0e7c0e..eebcd2168a 100755 --- a/tests/system/suite_HELP/tst_HELP06/test.py +++ b/tests/system/suite_HELP/tst_HELP06/test.py @@ -46,7 +46,7 @@ def textForQtVersion(text): return text def main(): - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return # goto help mode and click on topic diff --git a/tests/system/suite_QMLS/shared/qmls.py b/tests/system/suite_QMLS/shared/qmls.py index 2f1d8ab287..564e2f3884 100644 --- a/tests/system/suite_QMLS/shared/qmls.py +++ b/tests/system/suite_QMLS/shared/qmls.py @@ -26,7 +26,7 @@ source("../../shared/qtcreator.py") def startQtCreatorWithNewAppAtQMLEditor(projectDir, projectName, line = None): - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return None # create qt quick application diff --git a/tests/system/suite_QMLS/tst_QMLS03/test.py b/tests/system/suite_QMLS/tst_QMLS03/test.py index 16120b81fe..2583302c4b 100644 --- a/tests/system/suite_QMLS/tst_QMLS03/test.py +++ b/tests/system/suite_QMLS/tst_QMLS03/test.py @@ -76,7 +76,7 @@ def main(): templateDir = prepareTemplate(sourceExample) examplePath = os.path.join(templateDir, proFile) templateDir = os.path.join(templateDir, "basics") # only check subproject - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return # open example project diff --git a/tests/system/suite_SCOM/tst_SCOM01/test.py b/tests/system/suite_SCOM/tst_SCOM01/test.py index 593ef2e6fd..c02b298e9f 100644 --- a/tests/system/suite_SCOM/tst_SCOM01/test.py +++ b/tests/system/suite_SCOM/tst_SCOM01/test.py @@ -27,7 +27,7 @@ source("../../shared/qtcreator.py") # entry of test def main(): - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return # create qt quick application diff --git a/tests/system/suite_SCOM/tst_SCOM02/test.py b/tests/system/suite_SCOM/tst_SCOM02/test.py index 64fbf7d65c..4d99a91c85 100644 --- a/tests/system/suite_SCOM/tst_SCOM02/test.py +++ b/tests/system/suite_SCOM/tst_SCOM02/test.py @@ -28,7 +28,7 @@ source("../../shared/suites_qtta.py") # entry of test def main(): - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return # create qt quick application diff --git a/tests/system/suite_SCOM/tst_SCOM04/test.py b/tests/system/suite_SCOM/tst_SCOM04/test.py index 1fbf2088f0..511364c9f9 100644 --- a/tests/system/suite_SCOM/tst_SCOM04/test.py +++ b/tests/system/suite_SCOM/tst_SCOM04/test.py @@ -35,7 +35,7 @@ def main(): "'SyntaxError': undeclared identifier", # MSVC2015 "use of undeclared identifier 'SyntaxError'", "unknown type name 'SyntaxError'"] - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return # create qt quick application diff --git a/tests/system/suite_SCOM/tst_SCOM05/test.py b/tests/system/suite_SCOM/tst_SCOM05/test.py index 321abc6ea8..956775d2c5 100644 --- a/tests/system/suite_SCOM/tst_SCOM05/test.py +++ b/tests/system/suite_SCOM/tst_SCOM05/test.py @@ -35,7 +35,7 @@ def verifyChangeProject(projectName): def main(): projectName1 = "SampleApp1" projectName2 = "SampleApp2" - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return # create qt quick application 1 diff --git a/tests/system/suite_WELP/tst_WELP01/test.py b/tests/system/suite_WELP/tst_WELP01/test.py index 89bb63353f..49c5876d94 100755 --- a/tests/system/suite_WELP/tst_WELP01/test.py +++ b/tests/system/suite_WELP/tst_WELP01/test.py @@ -75,7 +75,7 @@ def checkTableViewForContent(tableViewStr, expectedRegExTitle, section, atLeastO def main(): global getStarted # open Qt Creator - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return diff --git a/tests/system/suite_WELP/tst_WELP02/test.py b/tests/system/suite_WELP/tst_WELP02/test.py index aaf80e5e80..7fe8b3d464 100644 --- a/tests/system/suite_WELP/tst_WELP02/test.py +++ b/tests/system/suite_WELP/tst_WELP02/test.py @@ -70,7 +70,7 @@ def main(): if not neededFilePresent(sourceExample): return # open Qt Creator - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return diff --git a/tests/system/suite_WELP/tst_WELP03/test.py b/tests/system/suite_WELP/tst_WELP03/test.py index 86cc8c12dc..92e09f536a 100644 --- a/tests/system/suite_WELP/tst_WELP03/test.py +++ b/tests/system/suite_WELP/tst_WELP03/test.py @@ -59,7 +59,7 @@ def openExample(examplesLineEdit, input, exampleRegex, exampleName): def main(): # open Qt Creator - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return qchs = [] diff --git a/tests/system/suite_WELP/tst_WELP04/test.py b/tests/system/suite_WELP/tst_WELP04/test.py index c1855ac0ed..27e3f5d007 100644 --- a/tests/system/suite_WELP/tst_WELP04/test.py +++ b/tests/system/suite_WELP/tst_WELP04/test.py @@ -27,7 +27,7 @@ source("../../shared/qtcreator.py") def main(): # open Qt Creator - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return wsButtonFrame, wsButtonLabel = getWelcomeScreenSideBarButton('Get Started Now') diff --git a/tests/system/suite_debugger/tst_build_new_project/test.py b/tests/system/suite_debugger/tst_build_new_project/test.py index f977435328..a16f24124b 100644 --- a/tests/system/suite_debugger/tst_build_new_project/test.py +++ b/tests/system/suite_debugger/tst_build_new_project/test.py @@ -28,7 +28,7 @@ source("../../shared/qtcreator.py") project = "SquishProject" def main(): - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return createProject_Qt_Console(tempDir(), project) diff --git a/tests/system/suite_debugger/tst_cli_output_console/test.py b/tests/system/suite_debugger/tst_cli_output_console/test.py index 298fdb8dfc..77a177a30c 100644 --- a/tests/system/suite_debugger/tst_cli_output_console/test.py +++ b/tests/system/suite_debugger/tst_cli_output_console/test.py @@ -31,7 +31,7 @@ def main(): outputQDebug = "Output from qDebug()." outputStdOut = "Output from std::cout." outputStdErr = "Output from std::cerr." - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return createProject_Qt_Console(tempDir(), project) diff --git a/tests/system/suite_debugger/tst_debug_empty_main/test.py b/tests/system/suite_debugger/tst_debug_empty_main/test.py index d49f77e454..f2ecef5f23 100644 --- a/tests/system/suite_debugger/tst_debug_empty_main/test.py +++ b/tests/system/suite_debugger/tst_debug_empty_main/test.py @@ -43,7 +43,7 @@ def addFileToProject(projectPath, category, fileTemplate, fileName): __createProjectHandleLastPage__() def main(): - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return targets = Targets.desktopTargetClasses() diff --git a/tests/system/suite_debugger/tst_qml_js_console/test.py b/tests/system/suite_debugger/tst_qml_js_console/test.py index 1d193541bc..331df58872 100644 --- a/tests/system/suite_debugger/tst_qml_js_console/test.py +++ b/tests/system/suite_debugger/tst_qml_js_console/test.py @@ -119,7 +119,7 @@ def main(): return qmlProjFile = os.path.join(qmlProjDir, projName) # start Creator by passing a .qmlproject file - startApplication('qtcreator' + SettingsPath + ' "%s"' % qmlProjFile) + startQC(['"%s"' % qmlProjFile]) if not startedWithoutPluginError(): return diff --git a/tests/system/suite_debugger/tst_qml_locals/test.py b/tests/system/suite_debugger/tst_qml_locals/test.py index 3429d5725f..696722f326 100644 --- a/tests/system/suite_debugger/tst_qml_locals/test.py +++ b/tests/system/suite_debugger/tst_qml_locals/test.py @@ -40,7 +40,7 @@ def main(): return qmlProjFile = os.path.join(qmlProjDir, projName) # start Creator by passing a .qmlproject file - startApplication('qtcreator' + SettingsPath + ' "%s"' % qmlProjFile) + startQC(['"%s"' % qmlProjFile]) if not startedWithoutPluginError(): return waitFor('object.exists(":Qt Creator_Utils::NavigationTreeView")', 10000) diff --git a/tests/system/suite_debugger/tst_simple_analyze/test.py b/tests/system/suite_debugger/tst_simple_analyze/test.py index b752a4b586..202c5053b2 100644 --- a/tests/system/suite_debugger/tst_simple_analyze/test.py +++ b/tests/system/suite_debugger/tst_simple_analyze/test.py @@ -26,7 +26,7 @@ source("../../shared/qtcreator.py") def main(): - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return # using a temporary directory won't mess up a potentially existing diff --git a/tests/system/suite_debugger/tst_simple_debug/test.py b/tests/system/suite_debugger/tst_simple_debug/test.py index 9067361c28..2d94110c41 100644 --- a/tests/system/suite_debugger/tst_simple_debug/test.py +++ b/tests/system/suite_debugger/tst_simple_debug/test.py @@ -26,7 +26,7 @@ source("../../shared/qtcreator.py") def main(): - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return # using a temporary directory won't mess up a potentially existing diff --git a/tests/system/suite_editors/tst_basic_cpp_support/test.py b/tests/system/suite_editors/tst_basic_cpp_support/test.py index 253e27aec6..77e8822871 100644 --- a/tests/system/suite_editors/tst_basic_cpp_support/test.py +++ b/tests/system/suite_editors/tst_basic_cpp_support/test.py @@ -38,7 +38,7 @@ def main(): proFile = os.path.join(tempDir, proFileName) cleanUpUserFiles(proFile) - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return openQmakeProject(proFile) diff --git a/tests/system/suite_editors/tst_delete_externally/test.py b/tests/system/suite_editors/tst_delete_externally/test.py index 89d72c6a88..67e6af5329 100644 --- a/tests/system/suite_editors/tst_delete_externally/test.py +++ b/tests/system/suite_editors/tst_delete_externally/test.py @@ -29,7 +29,7 @@ def main(): files = checkAndCopyFiles(testData.dataset("files.tsv"), "filename", tempDir()) if not files: return - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return for currentFile in files: diff --git a/tests/system/suite_editors/tst_edit_externally/test.py b/tests/system/suite_editors/tst_edit_externally/test.py index c545b64dea..ec6fcd9203 100644 --- a/tests/system/suite_editors/tst_edit_externally/test.py +++ b/tests/system/suite_editors/tst_edit_externally/test.py @@ -41,7 +41,7 @@ def main(): files = checkAndCopyFiles(testData.dataset("files.tsv"), "filename", tempDir()) if not files: return - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return diff --git a/tests/system/suite_editors/tst_generic_highlighter/test.py b/tests/system/suite_editors/tst_generic_highlighter/test.py index d607b06982..d3ca5d20b3 100644 --- a/tests/system/suite_editors/tst_generic_highlighter/test.py +++ b/tests/system/suite_editors/tst_generic_highlighter/test.py @@ -171,7 +171,7 @@ def displayHintForHighlighterDefinition(fileName, patterns, lPatterns, added, ad def main(): miss = "A highlight definition was not found for this file. Would you like to try to find one?" - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return uncheckGenericHighlighterFallback() diff --git a/tests/system/suite_editors/tst_memberoperator/test.py b/tests/system/suite_editors/tst_memberoperator/test.py index 1b7087329c..3b3133af9d 100644 --- a/tests/system/suite_editors/tst_memberoperator/test.py +++ b/tests/system/suite_editors/tst_memberoperator/test.py @@ -28,7 +28,7 @@ source("../../shared/qtcreator.py") def main(): for useClang in [False, True]: with TestSection(getCodeModelString(useClang)): - if not startCreator(useClang): + if not startCreatorVerifyingClang(useClang): continue createProject_Qt_Console(tempDir(), "SquishProject") checkCodeModelSettings(useClang) diff --git a/tests/system/suite_editors/tst_modify_readonly/test.py b/tests/system/suite_editors/tst_modify_readonly/test.py index 08ff32677a..36a8ab3acb 100644 --- a/tests/system/suite_editors/tst_modify_readonly/test.py +++ b/tests/system/suite_editors/tst_modify_readonly/test.py @@ -36,7 +36,7 @@ def main(): return if not changeFilePermissions(testFolder, True, False, "testfiles.pro"): test.fatal("Could not set permissions for files to read-only - test will likely fail.") - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return openQmakeProject(os.path.join(testFolder, "testfiles.pro")) diff --git a/tests/system/suite_editors/tst_qml_editor/test.py b/tests/system/suite_editors/tst_qml_editor/test.py index 0667982521..53ddc0884d 100644 --- a/tests/system/suite_editors/tst_qml_editor/test.py +++ b/tests/system/suite_editors/tst_qml_editor/test.py @@ -33,7 +33,7 @@ def main(): proFile = "keyinteraction.pro" if not neededFilePresent(os.path.join(sourceExample, proFile)): return - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return # add docs to have the correct tool tips diff --git a/tests/system/suite_editors/tst_qml_indent/test.py b/tests/system/suite_editors/tst_qml_indent/test.py index 2be24a94ce..958251d052 100644 --- a/tests/system/suite_editors/tst_qml_indent/test.py +++ b/tests/system/suite_editors/tst_qml_indent/test.py @@ -26,7 +26,7 @@ source("../../shared/qtcreator.py") def main(): - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return # using a temporary directory won't mess up a potentially existing diff --git a/tests/system/suite_editors/tst_rename_macros/test.py b/tests/system/suite_editors/tst_rename_macros/test.py index 5a4177daad..24c4c22813 100644 --- a/tests/system/suite_editors/tst_rename_macros/test.py +++ b/tests/system/suite_editors/tst_rename_macros/test.py @@ -35,7 +35,7 @@ def main(): test.fatal("Could not prepare test files - leaving test") return proFile = os.path.join(folder, "testfiles.pro") - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return openQmakeProject(proFile) diff --git a/tests/system/suite_editors/tst_revert_changes/test.py b/tests/system/suite_editors/tst_revert_changes/test.py index 5bf3d15d94..d6e65b482c 100644 --- a/tests/system/suite_editors/tst_revert_changes/test.py +++ b/tests/system/suite_editors/tst_revert_changes/test.py @@ -44,7 +44,7 @@ def main(): test.fatal("Could not prepare test files - leaving test") return proFile = os.path.join(folder, "testfiles.pro") - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return openQmakeProject(proFile) diff --git a/tests/system/suite_editors/tst_select_all/test.py b/tests/system/suite_editors/tst_select_all/test.py index 1c0a4b309a..9b488e0a6b 100644 --- a/tests/system/suite_editors/tst_select_all/test.py +++ b/tests/system/suite_editors/tst_select_all/test.py @@ -35,7 +35,7 @@ def main(): if not neededFilePresent(currentFile): return - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return for currentFile in files: diff --git a/tests/system/suite_general/tst_build_speedcrunch/test.py b/tests/system/suite_general/tst_build_speedcrunch/test.py index 1d7eda9088..32a132ad63 100644 --- a/tests/system/suite_general/tst_build_speedcrunch/test.py +++ b/tests/system/suite_general/tst_build_speedcrunch/test.py @@ -38,7 +38,7 @@ def buildConfigFromFancyToolButton(fancyToolButton): def main(): if not neededFilePresent(SpeedCrunchPath): return - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return openQmakeProject(SpeedCrunchPath, [Targets.DESKTOP_4_8_7_DEFAULT]) diff --git a/tests/system/suite_general/tst_cmake_speedcrunch/test.py b/tests/system/suite_general/tst_cmake_speedcrunch/test.py index fdfbd1f065..afc196abb8 100644 --- a/tests/system/suite_general/tst_cmake_speedcrunch/test.py +++ b/tests/system/suite_general/tst_cmake_speedcrunch/test.py @@ -52,7 +52,7 @@ def main(): if not neededFilePresent(SpeedCrunchPath): return - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return result = openCmakeProject(SpeedCrunchPath, BuildPath) diff --git a/tests/system/suite_general/tst_create_proj_wizard/test.py b/tests/system/suite_general/tst_create_proj_wizard/test.py index cefb8d3844..16834d19b8 100644 --- a/tests/system/suite_general/tst_create_proj_wizard/test.py +++ b/tests/system/suite_general/tst_create_proj_wizard/test.py @@ -33,7 +33,7 @@ def main(): else: test.warning("Could not find cmake in PATH - several tests won't run without.") - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return kits = getConfiguredKits() diff --git a/tests/system/suite_general/tst_custom_wizard_check/test.py b/tests/system/suite_general/tst_custom_wizard_check/test.py index 49e39d1554..32a6443103 100644 --- a/tests/system/suite_general/tst_custom_wizard_check/test.py +++ b/tests/system/suite_general/tst_custom_wizard_check/test.py @@ -26,7 +26,7 @@ source("../../shared/qtcreator.py") def main(): - startApplication("qtcreator" + SettingsPath + " -customwizard-verbose") + startQC(["-customwizard-verbose"]) if not startedWithoutPluginError(): return diff --git a/tests/system/suite_general/tst_default_settings/test.py b/tests/system/suite_general/tst_default_settings/test.py index 08b8cc2253..92f5898e20 100644 --- a/tests/system/suite_general/tst_default_settings/test.py +++ b/tests/system/suite_general/tst_default_settings/test.py @@ -31,8 +31,7 @@ warningOrError = re.compile('<p><b>((Error|Warning).*?)</p>') def main(): emptySettings = tempDir() __createMinimumIni__(emptySettings) - SettingsPath = ' -settingspath "%s"' % emptySettings - startApplication("qtcreator" + SettingsPath) + startQC(['-settingspath', '"%s"' % emptySettings], False) if not startedWithoutPluginError(): return invokeMenuItem("Tools", "Options...") diff --git a/tests/system/suite_general/tst_installed_languages/test.py b/tests/system/suite_general/tst_installed_languages/test.py index 3ec32bf349..4685ef2083 100644 --- a/tests/system/suite_general/tst_installed_languages/test.py +++ b/tests/system/suite_general/tst_installed_languages/test.py @@ -27,8 +27,7 @@ source("../../shared/qtcreator.py") def main(): for lang in testData.dataset("languages.tsv"): - overrideStartApplication() - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return invokeMenuItem("Tools", "Options...") @@ -47,8 +46,7 @@ def main(): invokeMenuItem("File", "Exit") waitForCleanShutdown() snooze(4) # wait for complete unloading of Creator - overrideStartApplication() - startApplication("qtcreator" + SettingsPath) + startQC() try: # Use Locator for menu items which wouldn't work on macOS exitCommand = testData.field(lang, "Exit") diff --git a/tests/system/suite_general/tst_new_class/test.py b/tests/system/suite_general/tst_new_class/test.py index 3d3b8d6ec9..5c2d9eb28b 100644 --- a/tests/system/suite_general/tst_new_class/test.py +++ b/tests/system/suite_general/tst_new_class/test.py @@ -31,7 +31,7 @@ def main(): sourceFileName = newClassName.lower() + ".cpp" basePath = tempDir() notOverwrittenComment = "// If you can read this, the file was not overwritten." - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return addCPlusPlusFile(newClassName, "C++ Class", None, newBasePath=basePath, diff --git a/tests/system/suite_general/tst_opencreator_qbs/test.py b/tests/system/suite_general/tst_opencreator_qbs/test.py index 3b7a86a42b..cf663f2c66 100644 --- a/tests/system/suite_general/tst_opencreator_qbs/test.py +++ b/tests/system/suite_general/tst_opencreator_qbs/test.py @@ -30,7 +30,7 @@ def main(): if not neededFilePresent(pathCreator): return - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return openQbsProject(pathCreator) diff --git a/tests/system/suite_general/tst_openqt_creator/test.py b/tests/system/suite_general/tst_openqt_creator/test.py index 5f7b0f3b01..d615d7d85f 100644 --- a/tests/system/suite_general/tst_openqt_creator/test.py +++ b/tests/system/suite_general/tst_openqt_creator/test.py @@ -31,7 +31,7 @@ def main(): if not neededFilePresent(pathCreator) or not neededFilePresent(pathSpeedcrunch): return - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return diff --git a/tests/system/suite_general/tst_remove_kits/test.py b/tests/system/suite_general/tst_remove_kits/test.py index b5b5148741..d48930ba35 100644 --- a/tests/system/suite_general/tst_remove_kits/test.py +++ b/tests/system/suite_general/tst_remove_kits/test.py @@ -52,7 +52,7 @@ def __removeKit__(kit, kitName): clickButton(waitForObject(":Remove_QPushButton")) def main(): - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return createProject_Qt_Console(tempDir(), "SquishProject") diff --git a/tests/system/suite_general/tst_rename_file/test.py b/tests/system/suite_general/tst_rename_file/test.py index cf47ce8d5b..ed13ee9a8e 100644 --- a/tests/system/suite_general/tst_rename_file/test.py +++ b/tests/system/suite_general/tst_rename_file/test.py @@ -36,7 +36,7 @@ def main(): # copy example project to temp directory templateDir = prepareTemplate(sourceExample) - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return usedProFile = os.path.join(templateDir, proFile) diff --git a/tests/system/suite_general/tst_save_before_build/test.py b/tests/system/suite_general/tst_save_before_build/test.py index 9d63e90b00..65e95dea8f 100644 --- a/tests/system/suite_general/tst_save_before_build/test.py +++ b/tests/system/suite_general/tst_save_before_build/test.py @@ -38,7 +38,7 @@ def ensureSaveBeforeBuildChecked(shouldBeChecked): clickButton(waitForObject(":Options.OK_QPushButton")) def main(): - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return ensureSaveBeforeBuildChecked(False) diff --git a/tests/system/suite_general/tst_session_handling/test.py b/tests/system/suite_general/tst_session_handling/test.py index bbce227979..a6751de0dd 100644 --- a/tests/system/suite_general/tst_session_handling/test.py +++ b/tests/system/suite_general/tst_session_handling/test.py @@ -30,7 +30,7 @@ def main(): if not projects: return sessionName = "SampleSession" - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return createAndSwitchToSession(sessionName) diff --git a/tests/system/suite_general/tst_tasks_handling/test.py b/tests/system/suite_general/tst_tasks_handling/test.py index 6870cceead..d7acc4c940 100644 --- a/tests/system/suite_general/tst_tasks_handling/test.py +++ b/tests/system/suite_general/tst_tasks_handling/test.py @@ -92,7 +92,7 @@ def getBuildIssuesTypeCounts(model): def main(): tasksFile, issueTypes = generateMockTasksFile() expectedNo = sum(issueTypes) - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return ensureChecked(":Qt Creator_Issues_Core::Internal::OutputPaneToggleButton") diff --git a/tests/system/suite_qtquick/tst_qml_outline/test.py b/tests/system/suite_qtquick/tst_qml_outline/test.py index 7b806afc28..b55cfaf367 100644 --- a/tests/system/suite_qtquick/tst_qml_outline/test.py +++ b/tests/system/suite_qtquick/tst_qml_outline/test.py @@ -36,7 +36,7 @@ def main(): if not neededFilePresent(os.path.join(sourceExample, proFile)): return templateDir = prepareTemplate(sourceExample) - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return openQmakeProject(os.path.join(templateDir, proFile), [Targets.DESKTOP_5_6_1_DEFAULT]) diff --git a/tests/system/suite_qtquick/tst_qtquick_creation/test.py b/tests/system/suite_qtquick/tst_qtquick_creation/test.py index 70b2497edd..704d6e233b 100644 --- a/tests/system/suite_qtquick/tst_qtquick_creation/test.py +++ b/tests/system/suite_qtquick/tst_qtquick_creation/test.py @@ -26,7 +26,7 @@ source("../../shared/qtcreator.py") def main(): - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return diff --git a/tests/system/suite_qtquick/tst_qtquick_creation3/test.py b/tests/system/suite_qtquick/tst_qtquick_creation3/test.py index 8ae189d5ed..e3171153c7 100644 --- a/tests/system/suite_qtquick/tst_qtquick_creation3/test.py +++ b/tests/system/suite_qtquick/tst_qtquick_creation3/test.py @@ -26,7 +26,7 @@ source("../../shared/qtcreator.py") def main(): - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return available = ["5.6"] diff --git a/tests/system/suite_qtquick/tst_qtquick_creation4/test.py b/tests/system/suite_qtquick/tst_qtquick_creation4/test.py index a1bda108ec..58ef85e333 100644 --- a/tests/system/suite_qtquick/tst_qtquick_creation4/test.py +++ b/tests/system/suite_qtquick/tst_qtquick_creation4/test.py @@ -26,7 +26,7 @@ source("../../shared/qtcreator.py") def main(): - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return for target in [Targets.DESKTOP_5_6_1_DEFAULT, Targets.DESKTOP_5_10_1_DEFAULT]: diff --git a/tests/system/suite_tools/tst_codepasting/test.py b/tests/system/suite_tools/tst_codepasting/test.py index b91ce2e558..7f3b1760c7 100644 --- a/tests/system/suite_tools/tst_codepasting/test.py +++ b/tests/system/suite_tools/tst_codepasting/test.py @@ -172,7 +172,7 @@ def fetchSnippet(protocol, description, pasteId, skippedPasting): return pasteId def main(): - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return protocolsToTest = [NAME_KDE, NAME_PBCA, NAME_PBCOM] diff --git a/tests/system/suite_tools/tst_designer_autocomplete/test.py b/tests/system/suite_tools/tst_designer_autocomplete/test.py index edb03c5f33..0b97efec6a 100644 --- a/tests/system/suite_tools/tst_designer_autocomplete/test.py +++ b/tests/system/suite_tools/tst_designer_autocomplete/test.py @@ -26,7 +26,7 @@ source("../../shared/qtcreator.py") def main(): - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return createProject_Qt_GUI(tempDir(), "DesignerTestApp") diff --git a/tests/system/suite_tools/tst_designer_edit/test.py b/tests/system/suite_tools/tst_designer_edit/test.py index 4320769caa..3a9a4a0d5a 100644 --- a/tests/system/suite_tools/tst_designer_edit/test.py +++ b/tests/system/suite_tools/tst_designer_edit/test.py @@ -186,7 +186,7 @@ def verifyPreview(menuItems, comboItems): sendEvent("QCloseEvent", waitForObject(prev)) def main(): - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return createProject_Qt_GUI(tempDir(), "DesignerTestApp", False) diff --git a/tests/system/suite_tools/tst_designer_goto_slot/test.py b/tests/system/suite_tools/tst_designer_goto_slot/test.py index 18aa5730b1..eadea648ae 100644 --- a/tests/system/suite_tools/tst_designer_goto_slot/test.py +++ b/tests/system/suite_tools/tst_designer_goto_slot/test.py @@ -26,7 +26,7 @@ source("../../shared/qtcreator.py") def main(): - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return createProject_Qt_GUI(tempDir(), "DesignerTestApp") diff --git a/tests/system/suite_tools/tst_git_clone/test.py b/tests/system/suite_tools/tst_git_clone/test.py index 6421456e60..dbafe77690 100644 --- a/tests/system/suite_tools/tst_git_clone/test.py +++ b/tests/system/suite_tools/tst_git_clone/test.py @@ -81,7 +81,7 @@ def verifyFiles(targetDir): "Verify the existence of %s" % file) def main(): - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return for button in ["Cancel immediately", diff --git a/tests/system/suite_tools/tst_git_first_commit/test.py b/tests/system/suite_tools/tst_git_first_commit/test.py index c0fb3b9993..8a83dfa9cb 100644 --- a/tests/system/suite_tools/tst_git_first_commit/test.py +++ b/tests/system/suite_tools/tst_git_first_commit/test.py @@ -30,7 +30,7 @@ def main(): if not neededFilePresent(pathReadme): return - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return diff --git a/tests/system/suite_tools/tst_git_local/test.py b/tests/system/suite_tools/tst_git_local/test.py index 4998c393e0..72943b3eb2 100644 --- a/tests/system/suite_tools/tst_git_local/test.py +++ b/tests/system/suite_tools/tst_git_local/test.py @@ -161,7 +161,7 @@ def addEmptyFileOutsideProject(filename): __createProjectHandleLastPage__([filename], "Git", "<None>") def main(): - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return createProject_Qt_GUI(srcPath, projectName, addToVersionControl = "Git") diff --git a/tests/system/suite_tools/tst_sort/test.py b/tests/system/suite_tools/tst_sort/test.py index 302815947b..01403fdd39 100644 --- a/tests/system/suite_tools/tst_sort/test.py +++ b/tests/system/suite_tools/tst_sort/test.py @@ -26,7 +26,7 @@ source("../../shared/qtcreator.py") def main(): - startApplication("qtcreator" + SettingsPath) + startQC() if not startedWithoutPluginError(): return invokeMenuItem("File", "Open File or Project...") |