Qt Creator ManualTests ProjectsAndCode: Difference between revisions
No edit summary |
(Update settings menu) |
||
(34 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
[[Category:Tools::QtCreator::QualityAssurance]] | |||
{| class=" | {| class="wikitable" | ||
| | |+ Project Management | ||
! | ! Test | ||
! Result | ! Result | ||
! Annotation | ! Annotation | ||
| | |+ | ||
| | |Open a couple of Tutorials from the Welcome page and validate that they show up correctly. | ||
| | | | ||
| | | | ||
Check parsing of qbs projects: | |+ | ||
|Check parsing of qbs projects: | |||
# Prepare sources of Qt Creator (see below) | # Prepare sources of Qt Creator ([[Qt Creator ManualTests ProjectsAndCode#Preparing sources of Qt and Qt Creator|see below]]) | ||
# In | # In "Help" -> "About Plugins…", verify that QbsProjectManager is enabled. | ||
# Select | # Select "File"-> "Open File or Project…" from Creator's menu and open qtcreator.qbs from Qt Creator's sources. | ||
# Select a suitable kit and click "Configure Project". | |||
# Wait until parsing finished. | # Wait until parsing finished. | ||
# Check that the project is completely indexed, e.g. by searching for some of [ | # Check that the project is completely indexed, e.g. by searching for some of [https://doc.qt.io/qt-5/classes.html Qt's Classes] using the [https://doc.qt.io/qtcreator/creator-editor-locator.html Locator]. | ||
| | | | ||
| | | | ||
Adding a build configuration: | |+ | ||
| Adding a build configuration: | |||
# Open a project. | # Open a project. | ||
# Go to | # Go to "Projects" mode. | ||
# [ | # [https://doc.qt.io/qtcreator/creator-build-settings.html Add a new build configuration]. | ||
# The project can be built successfully with this build configuration. | # The project can be built successfully with this build configuration. | ||
| | | | ||
| | | | ||
| | |+ | ||
| | | Adding a run configuration: | ||
Adding a run configuration: | |||
# Open a project. | # Open a project. | ||
# Go to | # Go to "Projects" mode. | ||
# [ | # [https://doc.qt.io/qtcreator/creator-run-settings.html Add a new run configuration]. | ||
# The project can be run successfully with this run configuration. | # The project can be run successfully with this run configuration. | ||
| | | | ||
| | | | ||
| | |+ | ||
| Importing build of known kit: | |||
# Build a project in Qt Creator. | |||
# Close the project. | |||
# Delete the file *.user from the project's directory. | |||
# Open the project in Creator again. | |||
# Import the build from step 1. | |||
Validate that Creator uses the same kit as in step 1. A new kit must not be created. | |||
| | | | ||
Opening a project from Welcome screen: | | | ||
|+ | |||
| Importing build of unknown kit: | |||
# Build a project in Qt Creator. | |||
# Close Creator. | |||
# Delete the file *.user from the project's directory. | |||
# Start Creator with empty settings, e.g. using the command line switch "-tcs". Do not have a Qt version in your PATH variable. | |||
# Open the same project again. | |||
# Import the build from step 1.<br/>Validate that Creator creates a new kit with the Qt version and toolchain used in step 1. It contains an appropriate debugger and can be used for building, running, debugging. | |||
| | |||
| | |||
|+ | |||
| Removing kits: | |||
# Have a couple of kits set up in Creator. | |||
# Open a project and configure it with some kits. | |||
# Go to "Edit" -> "Preferences..." -> "Kits" -> "Kits". | |||
# Remove a kit. | |||
# Click "Apply". | |||
# Remove another kit. | |||
# Click "OK" | |||
Validate that the project is still usable with the remaining kits and nothing undesired happens in the process. | |||
| | |||
| | |||
|+ | |||
| Opening a project from Welcome screen: | |||
# Close all open projects. | # Close all open projects. | ||
# Go to | # Go to "Welcome" mode. | ||
# Open a previously opened project by clicking its name in the Welcome screen. | # Open a previously opened project by clicking its name in the Welcome screen. | ||
| automated | | automated | ||
| | | | ||
| | |+ | ||
| | | CMake project management: | ||
CMake project management: | # Have [http://www.cmake.org CMake] installed. | ||
# Checkout SpeedCrunch's source repository from https://bitbucket.org/heldercorreia/speedcrunch.git . | |||
# Have [http://www.cmake.org CMake] | # Have a Kit using Qt 5.2 or later configured in Creator. | ||
# | # Select "File" -> "Open File or Project…" from Creator's menu and open src/CMakeLists.txt. | ||
# Select a Kit and click "Configure Project". | |||
# | |||
# Select | |||
# | |||
# Wait until parsing finished. | # Wait until parsing finished. | ||
# Check that the project is completely indexed, e.g. by expanding items of the tree structure in the | # Check that the project is completely indexed, e.g. by expanding items of the tree structure in the "Class View". | ||
| semi-automated | | semi-automated | ||
| | | | ||
| | |+ | ||
| Creator can build and run the project from the previous test. | | Creator can build and run the project from the previous test. | ||
| automated | | automated | ||
| | | | ||
| | |+ | ||
| | | External changes: | ||
External changes: | |||
# Open a file in Creator. | # Open a file in Creator. | ||
# Edit this file outside Creator, e.g. using some text editor. | # Edit this file outside Creator, e.g. using some text editor. | ||
Line 84: | Line 97: | ||
| automated | | automated | ||
| | | | ||
| | |+ | ||
| | | Deleted files: | ||
Deleted files: | |||
# Open a file in Creator. | # Open a file in Creator. | ||
# Delete this file outside Creator, e.g. using some file manager. | # Delete this file outside Creator, e.g. using some file manager. | ||
Line 93: | Line 104: | ||
| automated | | automated | ||
| | | | ||
| | |+ | ||
| | | Windows: Foreign character sets: | ||
Windows: Foreign character sets: | # Add a user whose name contains non-latin characters (Віталій , ناصر , 右京) using Windows Control Panel. | ||
# Add a user whose name contains non-latin characters ( Віталій , ناصر , 右京 ) using Windows Control Panel. | |||
# Login to this user account and run Creator. | # Login to this user account and run Creator. | ||
# Create a session and activate this session. No warnings or error messages should appear. | # Create a session and activate this session. No warnings or error messages should appear. | ||
| | | | ||
| | | | ||
| | |+ | ||
| Try to make Creator crash, be evil | | Try to make Creator crash, be evil. ;-) | ||
| | | | ||
| | |} | ||
| | |||
{| class="wikitable" | |||
|+ C++ Support | |||
! Test | |||
When running the following tests, please make sure that the ClangCodeModel plugin is enabled, which is the default. | |||
! Result | ! Result | ||
! Annotation | ! Annotation | ||
| | |+ | ||
| Open the project tests/manual/cplusplus-tools/cplusplus-tools.pro from | |colspan="3"| Open the project tests/manual/cplusplus-tools/cplusplus-tools.pro from Creator's sources and perform the following tasks: | ||
| | |+ | ||
| | | Variable declarations: | ||
Variable declarations: | |||
# Move the cursor to the usage of a variable. | # Move the cursor to the usage of a variable. | ||
# Press F2 or select from the menu: Tools - | # Press F2 or select from the menu: Tools-> C++ -> Follow Symbol under Cursor | ||
Creator will show you the declaration of the variable. | |||
| automated | | automated | ||
| | | | ||
| | |+ | ||
| | | Function definitions: | ||
Function definitions: | |||
# Move the cursor to a function call. | # Move the cursor to a function call. | ||
# Press F2 or select from the menu: Tools - | # Press F2 or select from the menu: Tools-> C++ -> Follow Symbol under Cursor | ||
Creator will show you the definition of the function. | |||
| automated | | automated | ||
| | | | ||
| | |+ | ||
| | | Definition/declaration: | ||
Definition/declaration: | |||
# Move the cursor to a function declaration | # Move the cursor to a function declaration | ||
# Press Shift+F2 or select from menu: Tools - | # Press Shift+F2 or select from menu: Tools-> C++ -> Switch Between Method Declaration/Definition | ||
# Press Shift+F2 or select from menu: Tools - | Creator should show the definition of this function | ||
# Press Shift+F2 or select from menu: Tools-> C++ -> Switch Between Method Declaration/Definition again | |||
Creator should show the declaration of the function again. | |||
| automated | | automated | ||
| | | | ||
| | |+ | ||
| | | Switching between sources and headers: | ||
Switching between sources and headers: | |||
# Open a source or header file of a source/header couple (same base name) | # Open a source or header file of a source/header couple (same base name) | ||
# Press F4 or select from menu: Tools - | # Press F4 or select from menu: Tools-> C++ -> Switch Header/Source | ||
Creator should show the respective other file (header/source). | |||
| | | | ||
Finding usages: | |+ | ||
| Finding usages: | |||
# Open a header or source file | # Open a header or source file | ||
# Move cursor to the usage of a variable or function call | # Move cursor to the usage of a variable or function call | ||
# Press Ctrl+Shift+U or select from menu: Tools - | # Press Ctrl+Shift+U or select from menu: Tools-> C++ -> Find References to Symbol Under Cursor | ||
A search result view should appear at the bottom indicating files containing usages of this variable or function. | |||
When expanding the tree view-like structures, the respective lines can be seen. Double clicking on them should direct you to this file and line | |||
| | | | ||
| | | | ||
| | |+ | ||
| | | Renaming usages: | ||
Renaming usages: | |||
# Move cursor to a variable or function call | # Move cursor to a variable or function call | ||
# Press Ctrl+Shift+R or select from menu Tools - | # Press Ctrl+Shift+R or select from menu Tools-> C++ -> Rename Symbol Under Cursor | ||
You should be able to enter another name changing every occurrence of this variable or function.<br/> | |||
'''Note''': When changing variable "a" to "b", other variables like "a1" must not be changed! | |||
| automated | | automated | ||
| | | | ||
| | |+ | ||
| When entering the first few letters of a variable or function (or: includes, keywords, function arguments, snippets, etc), Creator should automatically show possible completions. You might have to hit Ctrl+Space. | | When entering the first few letters of a variable or function (or: includes, keywords, function arguments, snippets, etc), Creator should automatically show possible completions. You might have to hit Ctrl+Space. | ||
| | | | ||
| | | | ||
|- | |+ | ||
| Configure Qt documentation in "Edit" -> "Preferences..." -> "Help" -> "Documentation". | |||
After this, when hovering the mouse over some variable or function call, a tooltip should appear telling you the type of this element. | |||
In case it's a Qt object (like QString, QWidget, …), you should see a picture of the F1 button in the top right corner of the tooltip, indicating that you can easily switch to the Qt documentation of this class or method by pressing F1. Pressing F1 will open the related page. | |||
| | | | ||
| | | | ||
| | |+ | ||
| Try code folding. Fold and unfold classes and functions. Does everything work as expected? | | Try code folding. Fold and unfold classes and functions. Does everything work as expected? | ||
| | |||
| | |||
|+ | |||
| Try triggering Quick Fixes at different code lines by pressing Alt+Enter. Does Creator offer Quick Fixes and does it change the code correctly when you use one of them? | |||
| | | | ||
| | | | ||
Line 180: | Line 192: | ||
==Preparing sources of Qt and Qt Creator== | ==Preparing sources of Qt and Qt Creator== | ||
This can be used for all following tests after it was done once.<br /> Simply download sources of Qt ([ | This can be used for all following tests after it was done once.<br /> | ||
Simply download sources of Qt ([https://download.qt.io/official_releases/qt/5.12/5.12.1/single/qt-everywhere-src-5.12.1.tar.xz tar.xz]/[https://download.qt.io/official_releases/qt/5.12/5.12.1/single/qt-everywhere-src-5.12.1.zip zip]) and Qt Creator ([http://download.qt.io/official_releases/qtcreator/4.9/4.9.0/qt-creator-opensource-src-4.9.0.tar.gz tar.gz]/[https://download.qt.io/official_releases/qtcreator/4.9/4.9.0/qt-creator-opensource-src-4.9.0.zip zip]) and extract them. You have to build Qt outside of qtcreator. Otherwise qtcreator won’t be able to parse the Qt sources. | |||
Latest revision as of 13:45, 21 June 2022
Test | Result | Annotation |
---|---|---|
Open a couple of Tutorials from the Welcome page and validate that they show up correctly. | ||
Check parsing of qbs projects:
|
||
Adding a build configuration:
|
||
Adding a run configuration:
|
||
Importing build of known kit:
Validate that Creator uses the same kit as in step 1. A new kit must not be created. |
||
Importing build of unknown kit:
|
||
Removing kits:
Validate that the project is still usable with the remaining kits and nothing undesired happens in the process. |
||
Opening a project from Welcome screen:
|
automated | |
CMake project management:
|
semi-automated | |
Creator can build and run the project from the previous test. | automated | |
External changes:
|
automated | |
Deleted files:
|
automated | |
Windows: Foreign character sets:
|
||
Try to make Creator crash, be evil. ;-) |
Test
When running the following tests, please make sure that the ClangCodeModel plugin is enabled, which is the default. |
Result | Annotation |
---|---|---|
Open the project tests/manual/cplusplus-tools/cplusplus-tools.pro from Creator's sources and perform the following tasks: | ||
Variable declarations:
Creator will show you the declaration of the variable. |
automated | |
Function definitions:
Creator will show you the definition of the function. |
automated | |
Definition/declaration:
Creator should show the definition of this function
Creator should show the declaration of the function again. |
automated | |
Switching between sources and headers:
Creator should show the respective other file (header/source). |
||
Finding usages:
A search result view should appear at the bottom indicating files containing usages of this variable or function. When expanding the tree view-like structures, the respective lines can be seen. Double clicking on them should direct you to this file and line |
||
Renaming usages:
You should be able to enter another name changing every occurrence of this variable or function. |
automated | |
When entering the first few letters of a variable or function (or: includes, keywords, function arguments, snippets, etc), Creator should automatically show possible completions. You might have to hit Ctrl+Space. | ||
Configure Qt documentation in "Edit" -> "Preferences..." -> "Help" -> "Documentation".
After this, when hovering the mouse over some variable or function call, a tooltip should appear telling you the type of this element. In case it's a Qt object (like QString, QWidget, …), you should see a picture of the F1 button in the top right corner of the tooltip, indicating that you can easily switch to the Qt documentation of this class or method by pressing F1. Pressing F1 will open the related page. |
||
Try code folding. Fold and unfold classes and functions. Does everything work as expected? | ||
Try triggering Quick Fixes at different code lines by pressing Alt+Enter. Does Creator offer Quick Fixes and does it change the code correctly when you use one of them? |
Preparing sources of Qt and Qt Creator
This can be used for all following tests after it was done once.
Simply download sources of Qt (tar.xz/zip) and Qt Creator (tar.gz/zip) and extract them. You have to build Qt outside of qtcreator. Otherwise qtcreator won’t be able to parse the Qt sources.