diff --git a/tests/system/README b/tests/system/README index 9e1a5d4264a..e7775af3a84 100644 --- a/tests/system/README +++ b/tests/system/README @@ -4,29 +4,7 @@ Squish tests inside this folder have several prerequisites to get them running. First - and most important - you have to own a valid Squish license. At least Squish 6.0 is required. -Second - some of the test suites/test cases expect a build of Qt 4.8.7 to be available: -[ this is optional and if Qt4 is not available some Qt5 will be tried to use instead ] - 1. Download the source code from: - * Windows: https://download.qt.io/archive/qt/4.8/4.8.7/qt-everywhere-opensource-src-4.8.7.zip - * Other: https://download.qt.io/archive/qt/4.8/4.8.7/qt-everywhere-opensource-src-4.8.7.tar.gz - 2. Extract the contents of the archive's directory qt-everywhere-opensource-src-4.8.7 to: - * Windows: C:\Qt\Qt4.8.7 - * Other: $HOME/Qt4.8.7 - 3. Apply the changes from patch.txt next to this README. - 4. In the directory you extracted the sources to, configure Qt: - * Windows (MSVC2013 32 bit): - .\configure.exe -opensource -developer-build -confirm-license -debug-and-release -nomake tests -nomake examples -nomake demos -no-webkit -no-phonon - * Linux (gcc < 6): - ./configure -opensource -developer-build -confirm-license -debug-and-release -nomake tests -nomake examples -nomake demos -no-webkit -no-phonon - * macOS: - ./configure -opensource -developer-build -confirm-license -debug-and-release -nomake tests -nomake examples -nomake demos -no-webkit -no-phonon -sdk - 5. Make: - * Windows (do not use jom): - nmake - * Other: - make -j - -Third - some of the test suites/test cases expect Qt versions to be installed in their default +Second - some of the test suites/test cases expect Qt versions to be installed in their default locations. On Linux/macOS this is ~/Qt5.x.1 and on Windows this is C:\Qt\Qt5.x.1. It's easiest to use installations of the official opensource Qt packages. Just install the Qt version for the respective toolchain with the components (if available): @@ -50,7 +28,7 @@ Qt 5.4.1 (gcc) Qt 5.10.1 (MSVC2015, 32 bit) Qt 5.14.1 (MSVC2017, 64 bit) -Fourth - you'll have to provide some additional repositories. +Third - you'll have to provide some additional repositories. These additional repositories are located inside ~/squish-data or C:\Users\\squish-data (depending on the OS you're on). You can also just provide them inside a different folder and specify the folder with the environment variable SYSTEST_SRCPATH. This folder must contain the following: @@ -58,12 +36,12 @@ This folder must contain the following: * a subfolder called 'creator-test-data' * a speedcrunch 0.11 repository (or source copy) inside 'creator-test-data' named 'speedcrunch' -Fifth - you'll have to make sure that some needed tools are available (no matter on which OS you're on). +Fourth - you'll have to make sure that some needed tools are available (no matter on which OS you're on). * cmake 3.14 or newer * wget or curl, capable of HTTPS Normally it should be okay to just install them as usual and add their executables' path(s) to the PATH variable. -Sixth - Qt Creator must be built on a Qt without Qt WebEngine or Qt WebKit. +Fifth - Qt Creator must be built on a Qt without Qt WebEngine or Qt WebKit. On macOS make sure you are using the correct keyboard layout to avoid problems when using keyboard interaction. Tested and known to be working would be 'U.S. International - PC', while pure 'U.S.' had problems. diff --git a/tests/system/settings/mac/QtProject/qtcreator/profiles.xml b/tests/system/settings/mac/QtProject/qtcreator/profiles.xml index cf36fa263fc..51024f82880 100644 --- a/tests/system/settings/mac/QtProject/qtcreator/profiles.xml +++ b/tests/system/settings/mac/QtProject/qtcreator/profiles.xml @@ -4,31 +4,6 @@ Profile.0 - - false - - - {70e26273-2c0b-4534-bbc0-eb6ca670821a} - {7c5a3673-e300-4286-9666-0f86d3e3dc38} - GenericLinuxOsType - - ProjectExplorer.ToolChain.Gcc:{c3f59b87-6997-4bd8-8067-ee04dc536371} - - {461bb8dc-22ff-461f-82fe-ebe8b21b697f} - ProjectExplorer.ToolChain.Gcc:{c3f59b87-6997-4bd8-8067-ee04dc536371} - - - 2 - - :///DESKTOP/// - {f16848fc-b615-43b5-b0cc-16a9f57fb573} - - Embedded Linux - false - - - - Profile.1 false @@ -55,32 +30,7 @@ - Profile.2 - - false - - - {2f514661-b9f7-4f83-8822-a9a9d0699600} - Desktop Device - Desktop - - ProjectExplorer.ToolChain.Gcc:{c3f59b87-6997-4bd8-8067-ee04dc536371} - - {461bb8dc-22ff-461f-82fe-ebe8b21b697f} - ProjectExplorer.ToolChain.Gcc:{c3f59b87-6997-4bd8-8067-ee04dc536371} - - - 2 - - :///DESKTOP/// - {1dcb5509-1670-470d-80a5-8a988f36e4e2} - - Desktop 4.8.7 default - false - - - - Profile.3 + Profile.1 false @@ -108,7 +58,7 @@ Profile.Count - 4 + 2 Profile.Default diff --git a/tests/system/settings/mac/QtProject/qtcreator/qtversion.xml b/tests/system/settings/mac/QtProject/qtcreator/qtversion.xml index 6521f404a1a..340cbe918ea 100644 --- a/tests/system/settings/mac/QtProject/qtcreator/qtversion.xml +++ b/tests/system/settings/mac/QtProject/qtcreator/qtversion.xml @@ -4,16 +4,6 @@ QtVersion.0 - - 2 - Desktop Qt 4.8 for GCC - ~/Qt4.8.7/bin/qmake - Qt4ProjectManager.QtVersion.Desktop - false - - - - QtVersion.1 9 Qt %{Qt:Version} (SQUISH_DEFAULT_COMPILER) @@ -23,7 +13,7 @@ - QtVersion.2 + QtVersion.1 11 Qt %{Qt:Version} (SQUISH_DEFAULT_COMPILER) diff --git a/tests/system/settings/unix/QtProject/qtcreator/profiles.xml b/tests/system/settings/unix/QtProject/qtcreator/profiles.xml index 81f328703d3..54076fa5e1b 100644 --- a/tests/system/settings/unix/QtProject/qtcreator/profiles.xml +++ b/tests/system/settings/unix/QtProject/qtcreator/profiles.xml @@ -4,52 +4,6 @@ Profile.0 - - false - - - {70e26273-2c0b-4534-bbc0-eb6ca670821a} - {7c5a3673-e300-4286-9666-0f86d3e3dc38} - GenericLinuxOsType - - ProjectExplorer.ToolChain.Gcc:{c3f59b87-6997-4bd8-8067-ee04dc536371} - - {7bfd4fd4-e64a-417f-b10f-20602e1719d1} - ProjectExplorer.ToolChain.Gcc:{c3f59b87-6997-4bd8-8067-ee04dc536371} - - - 2 - - :///DESKTOP/// - {f16848fc-b615-43b5-b0cc-16a9f57fb573} - - Embedded Linux - false - - - - Profile.1 - - false - - - {70e26273-2c0b-4534-bbc0-eb6ca670821a} - Desktop Device - Desktop - - ProjectExplorer.ToolChain.Gcc:{c3f59b87-6997-4bd8-8067-ee04dc536371} - - 2 - - :///DESKTOP/// - {1dcb5509-1670-470d-80a5-8a988f36e4e2} - - Desktop 4.8.7 default - false - - - - Profile.2 false @@ -73,7 +27,7 @@ - Profile.3 + Profile.1 false @@ -97,7 +51,7 @@ - Profile.4 + Profile.2 false @@ -126,7 +80,7 @@ Profile.Count - 5 + 3 Profile.Default diff --git a/tests/system/settings/unix/QtProject/qtcreator/qtversion.xml b/tests/system/settings/unix/QtProject/qtcreator/qtversion.xml index cb208914864..829b5c07edb 100644 --- a/tests/system/settings/unix/QtProject/qtcreator/qtversion.xml +++ b/tests/system/settings/unix/QtProject/qtcreator/qtversion.xml @@ -4,16 +4,6 @@ QtVersion.0 - - 2 - Desktop Qt 4.8 for GCC - ~/Qt4.8.7/bin/qmake - Qt4ProjectManager.QtVersion.Desktop - false - - - - QtVersion.1 13 Qt %{Qt:Version} (SQUISH_DEFAULT_COMPILER) @@ -23,7 +13,7 @@ - QtVersion.2 + QtVersion.1 15 Qt %{Qt:Version} (SQUISH_DEFAULT_COMPILER) @@ -33,7 +23,7 @@ - QtVersion.3 + QtVersion.2 17 Qt %{Qt:Version} (SQUISH_DEFAULT_COMPILER) diff --git a/tests/system/settings/windows/QtProject/qtcreator/profiles.xml b/tests/system/settings/windows/QtProject/qtcreator/profiles.xml index fab39649776..56ed350666f 100644 --- a/tests/system/settings/windows/QtProject/qtcreator/profiles.xml +++ b/tests/system/settings/windows/QtProject/qtcreator/profiles.xml @@ -4,34 +4,6 @@ Profile.0 - - false - - - - {1b25f20a-d584-4fb7-85b3-74dd15b82f6f} - Desktop Device - Desktop - - - {7ca0887f-a9a5-4251-aba6-560a15595d20} - - {d35e7a1a-5ab8-4fd6-8a2c-634846c669bb} - {7ca0887f-a9a5-4251-aba6-560a15595d20} - - - 2 - - :///DESKTOP/// - {9b35bbe6-25a7-4cce-ba07-487c795f5265} - - Desktop 4.8.7 default - false - - - - - Profile.1 false @@ -59,7 +31,7 @@ - Profile.2 + Profile.1 false @@ -87,7 +59,7 @@ - Profile.3 + Profile.2 false @@ -116,7 +88,7 @@ Profile.Count - 4 + 3 Profile.Default diff --git a/tests/system/settings/windows/QtProject/qtcreator/qtversion.xml b/tests/system/settings/windows/QtProject/qtcreator/qtversion.xml index 2939316b75f..499c44893f7 100644 --- a/tests/system/settings/windows/QtProject/qtcreator/qtversion.xml +++ b/tests/system/settings/windows/QtProject/qtcreator/qtversion.xml @@ -4,16 +4,6 @@ QtVersion.0 - - 2 - Qt 4.8 for Desktop - MSVC2013 - C:/Qt/Qt4.8.7/bin/qmake.exe - Qt4ProjectManager.QtVersion.Desktop - false - - - - QtVersion.1 22 Qt %{Qt:Version} (mingw491_32) @@ -23,7 +13,7 @@ - QtVersion.2 + QtVersion.1 24 Qt %{Qt:Version} (msvc2017_64) @@ -33,7 +23,7 @@ - QtVersion.3 + QtVersion.2 26 Qt %{Qt:Version} (msvc2015) diff --git a/tests/system/shared/build_utils.py b/tests/system/shared/build_utils.py index a58a1fa93d7..b90561fedf6 100644 --- a/tests/system/shared/build_utils.py +++ b/tests/system/shared/build_utils.py @@ -190,13 +190,12 @@ def verifyBuildConfig(currentTarget, configName, shouldBeDebug=False, enableShad # it will wait here until compilation of the debug libraries has finished. runCMakeButton = ("{type='QPushButton' text='Run CMake' unnamed='1' " "window=':Qt Creator_Core::Internal::MainWindow'}") - if currentTarget not in (Targets.DESKTOP_4_8_7_DEFAULT, Targets.EMBEDDED_LINUX): - qmlDebuggingCombo = findObject(':Qt Creator.QML debugging and profiling:_QComboBox') - if selectFromCombo(qmlDebuggingCombo, 'Enable'): - if buildSystem is None or buildSystem == "CMake": # re-run cmake to apply - clickButton(waitForObject(runCMakeButton)) - elif buildSystem == "qmake": # Don't rebuild now - clickButton(waitForObject(":QML Debugging.No_QPushButton", 5000)) + qmlDebuggingCombo = findObject(':Qt Creator.QML debugging and profiling:_QComboBox') + if selectFromCombo(qmlDebuggingCombo, 'Enable'): + if buildSystem is None or buildSystem == "CMake": # re-run cmake to apply + clickButton(waitForObject(runCMakeButton)) + elif buildSystem == "qmake": # Don't rebuild now + clickButton(waitForObject(":QML Debugging.No_QPushButton", 5000)) try: problemFound = waitForObject("{window=':Qt Creator_Core::Internal::MainWindow' " "type='QLabel' name='problemLabel' visible='1'}", 1000) @@ -205,14 +204,13 @@ def verifyBuildConfig(currentTarget, configName, shouldBeDebug=False, enableShad except: pass else: - if currentTarget not in (Targets.DESKTOP_4_8_7_DEFAULT, Targets.EMBEDDED_LINUX): - qmlDebuggingCombo = findObject(':Qt Creator.QML debugging and profiling:_QComboBox') - if selectFromCombo(qmlDebuggingCombo, "Disable"): - test.log("Qml debugging libraries are available - unchecked qml debugging.") - if buildSystem is None or buildSystem == "CMake": # re-run cmake to apply - clickButton(waitForObject(runCMakeButton)) - elif buildSystem == "qmake": # Don't rebuild now - clickButton(waitForObject(":QML Debugging.No_QPushButton", 5000)) + qmlDebuggingCombo = findObject(':Qt Creator.QML debugging and profiling:_QComboBox') + if selectFromCombo(qmlDebuggingCombo, "Disable"): + test.log("Qml debugging libraries are available - unchecked qml debugging.") + if buildSystem is None or buildSystem == "CMake": # re-run cmake to apply + clickButton(waitForObject(runCMakeButton)) + elif buildSystem == "qmake": # Don't rebuild now + clickButton(waitForObject(":QML Debugging.No_QPushButton", 5000)) clickButton(waitForObject(":scrollArea.Details_Utils::DetailsButton")) switchViewTo(ViewConstants.EDIT) diff --git a/tests/system/shared/classes.py b/tests/system/shared/classes.py index efe60daa701..9ee95e2de48 100644 --- a/tests/system/shared/classes.py +++ b/tests/system/shared/classes.py @@ -30,37 +30,27 @@ except ImportError: # for easier re-usage (because Python hasn't an enum type) class Targets: - ALL_TARGETS = tuple(range(5)) + ALL_TARGETS = tuple(range(3)) - (DESKTOP_4_8_7_DEFAULT, - EMBEDDED_LINUX, - DESKTOP_5_4_1_GCC, + (DESKTOP_5_4_1_GCC, DESKTOP_5_10_1_DEFAULT, DESKTOP_5_14_1_DEFAULT) = ALL_TARGETS __TARGET_NAME_DICT__ = dict(zip(ALL_TARGETS, - ["Desktop 4.8.7 default", - "Embedded Linux", - "Desktop 5.4.1 GCC", + ["Desktop 5.4.1 GCC", "Desktop 5.10.1 default", "Desktop 5.14.1 default"])) @staticmethod def availableTargetClasses(ignoreValidity=False): availableTargets = set(Targets.ALL_TARGETS) - if not qt4Available and not ignoreValidity: - availableTargets.remove(Targets.DESKTOP_4_8_7_DEFAULT) - if not (qt4Available or ignoreValidity) or platform.system() in ('Windows', 'Microsoft'): - availableTargets.remove(Targets.EMBEDDED_LINUX) - elif platform.system() == 'Darwin': + if platform.system() == 'Darwin': availableTargets.remove(Targets.DESKTOP_5_4_1_GCC) return availableTargets @staticmethod def desktopTargetClasses(): - desktopTargets = Targets.availableTargetClasses() - desktopTargets.discard(Targets.EMBEDDED_LINUX) - return desktopTargets + return Targets.availableTargetClasses() @staticmethod def getStringForTarget(target): diff --git a/tests/system/shared/project.py b/tests/system/shared/project.py index 4774bca9a5b..17d0580d016 100644 --- a/tests/system/shared/project.py +++ b/tests/system/shared/project.py @@ -161,11 +161,8 @@ def __createProjectHandleQtQuickSelection__(minimumQtVersion): # param buildSystem is a string holding the build system selected for the project # param checks turns tests in the function on if set to True # param available a list holding the available targets -# withoutQt4 if True Qt4 will get unchecked / not selected while checking the targets -def __selectQtVersionDesktop__(buildSystem, checks, available=None, withoutQt4=False): +def __selectQtVersionDesktop__(buildSystem, checks, available=None): wanted = Targets.desktopTargetClasses() - if withoutQt4: - wanted.discard(Targets.DESKTOP_4_8_7_DEFAULT) checkedTargets = __chooseTargets__(wanted, available) if checks: for target in checkedTargets: @@ -183,9 +180,8 @@ def __selectQtVersionDesktop__(buildSystem, checks, available=None, withoutQt4=F objectMap.realName(detailsWidget))) verifyChecked(cbObject % ("Minimum Size Release", objectMap.realName(detailsWidget))) - elif (buildSystem == "qmake" - and target not in (Targets.DESKTOP_4_8_7_DEFAULT, Targets.EMBEDDED_LINUX)): - verifyChecked(cbObject % ("Profile", objectMap.realName(detailsWidget))) + elif buildSystem == "qmake": + verifyChecked(cbObject % ("Profile", objectMap.realName(detailsWidget))) clickButton(detailsButton) clickButton(waitForObject(":Next_QPushButton")) @@ -207,11 +203,6 @@ def __verifyFileCreation__(path, expectedFiles): def __modifyAvailableTargets__(available, requiredQt, asStrings=False): versionFinder = re.compile("^Desktop (\\d{1}\.\\d{1,2}\.\\d{1,2}).*$") tmp = list(available) # we need a deep copy - if Qt5Path.toVersionTuple(requiredQt) > (4,8,7) and qt4Available: - toBeRemoved = Targets.EMBEDDED_LINUX - if asStrings: - toBeRemoved = Targets.getStringForTarget(toBeRemoved) - available.discard(toBeRemoved) for currentItem in tmp: if asStrings: item = currentItem @@ -260,7 +251,7 @@ def createProject_Qt_GUI(path, projectName, checks=True, addToVersionControl="