Commit Graph

24 Commits

Author SHA1 Message Date
Samuli Piippo
8c8ec98428 ptest: include possible test plugins and qml modules
Some of the Qt modules have separate test plugins and qml modules
that are used in the auto tests.

Pick-to: 6.10 6.9 6.8
Fixes: QTBUG-138066
Change-Id: I00c41396b59f1b380696bbab3489bd93b4a65cc5
Reviewed-by: Ari Parkkila <ari.parkkila@qt.io>
2025-08-18 11:09:51 +00:00
Samuli Piippo
35f53aa1a6 ptest: use the prefix path
QT_ADDITIONAL_PACKAGES_PREFIX_PATH can use the prefix path instead of
the cmake path when configuring the path to the installed module.
Change it so that qmltestrunner can be found correctly after
qtbase change Icfe972a7ab1d0c99518383eab1c885e490cdb4d6.

Change-Id: I777ae8f05d8b666ea18f67db8ed7f47db9218799
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2025-06-02 06:47:19 +00:00
Samuli Piippo
bb96abfc03 Revert "ptest: Enable rpath to load libraries from relative paths"
This reverts commit ecd6b8a0e3.
Using rpaths introduced a lof of buildpaths QA errors for ptest
packages. Revert the commit until better solution for the few test
cases can be found that need the rpath.

Task-number: QTBUG-105913
Change-Id: I5479629818e10c5f00841c371548bb697899e8dc
Reviewed-by: Ari Parkkila <ari.parkkila@qt.io>
2024-10-18 12:47:58 +00:00
Ari Parkkila
ecd6b8a0e3 ptest: Enable rpath to load libraries from relative paths
Task-number: QTBUG-118680
Change-Id: I27dd5eb355326bbd46a0270e7bf51b9819550fa6
Reviewed-by:  Alexey Edelev <alexey.edelev@qt.io>
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Jari Helaakoski <jari.helaakoski@qt.io>
2024-08-15 09:34:32 +03:00
Samuli Piippo
4182082028 ptest: use builtin test data
Builtin testdata packages all test data files into resources. This is
used on mobile platforms by default. Enable it for the ptest builds.
We can then remove copying of the source files for the tests.

Change-Id: I5e27b3a3a43ed2993eb5570628f023da3f1ed4d5
Reviewed-by: Ari Parkkila <ari.parkkila@qt.io>
Reviewed-by: Alex Bu <alex.bu@qt.io>
2024-06-24 08:37:35 +00:00
Ari Parkkila
df5ae777a4 ptests: Install external resource files
Install .rcc files to support testing of loading resources at runtime.

Task-number: QTBUG-118680
Change-Id: I9963c2cdc5c51165b7656e01237f09e499a838fc
Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
2024-05-28 10:13:25 +03:00
Samuli Piippo
f50783d0d3 ptest: include only needed files
Instead of removing unwanted build file, install only the required
files (executables and qmldir files).

Task-number: QTBUG-105913
Change-Id: Ifc4e2b8b290ba692f4a161e05df13eb23d68eb2a
Reviewed-by: Ari Parkkila <ari.parkkila@qt.io>
2024-05-02 10:52:06 +00:00
Samuli Piippo
e55637648a ptest: disable examples build
After qtbase change 62905163bf887c2c2c9ba7edcd64c96d237a6e95, we need
to disable examples for the ptest build.

Change-Id: Ib6787b6e0f1ab17d3fa93ec7c4f98d92053f1ff2
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2024-03-21 06:49:13 +00:00
Samuli Piippo
c0b9c32fbc ptest: skip non-existing tests
ctest might list tests that don't have executable, such as
QMLTESTs, that are run with qmltestrunner. Skip these tests.

Pick-to: 6.7 6.6
Fixes: WEBOSCI-62
Change-Id: If8e3ce657d86469b8a83a05146e6698b8c5452d3
Reviewed-by: Alex Bu <alex.bu@qt.io>
2024-01-29 12:49:33 +00:00
Samuli Piippo
5e20524950 ptest: better handling for test list
Use ctest to find all tests to run as not all of them start with
a tst_ prefix. This is done by parsing the json output of ctest.
Add all test sources to the package as there are data files in
some tests that are needed.

Remove qmake support, since it's not supported when building
Qt module.

QtDeviceUtilities had includes in wrong order, so ptest runner was
never added to the package.

Task-number: QTBUG-118680
Pick-to: 6.7 6.6
Change-Id: I6397cb1fd331941a3425bf627676b6387ab8bb8d
Reviewed-by: Ari Parkkila <ari.parkkila@qt.io>
2023-12-21 08:05:48 +00:00
Samuli Piippo
097cfd9d54 ptest: better ptest support
Make run-ptest script correctly log passed and failed tests.
Set env variables to make more tests pass correctly.

Pick-to: 6.6 6.5
Change-Id: I3c23a0a093b396df6b88aedc51a15a871f1ba9e9
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2023-11-17 09:05:20 +00:00
Samuli Piippo
097d8a347e ptest: fix test build with latest qml tools
Qml tools are now using --bare option, which limits where the tools
tries to find the qml modules. For the test builds, we again need to
use QT_ADDITIONAL_PACKAGES_PREFIX_PATH to tell the tools where to
find qml files for the Qt module we are currently building.

Task-number: QTBUG-106365
Change-Id: I6dfcd32f405475de0f58448cbaa7a19e26cbcfe8
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
(cherry picked from commit 63eeb3b83e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2022-09-13 16:29:26 +00:00
Samuli Piippo
497624e967 ptest: remove references to destination directory
Tests are build against the destination directory where qt module was
just installed. This causes extra files to be taken into source package
and adds references to the TMPDIR, which produces QA warnings from
buildpaths QA test. Use DEBUG_PREFIX_MAP to get rid of those paths.

Pick-to: 6.4 6.3 6.2
Task-number: QTBUG-105913
Change-Id: I01ed9261004410db307f2cd809a181377b734c9e
Reviewed-by: Ari Parkkila <ari.parkkila@qt.io>
2022-09-01 05:16:14 +00:00
Samuli Piippo
b6a93fbdb6 ptest: fix build issue with qtbase tests
ptest build had a subtle problem with qtbase where it was using
Qt6BuildInternals package from native sysroot instead of the target
install path. This could add compiler flags that were not supported
for the target architecture:
  cc1plus: error: '-fcf-protection=full' is not supported for this target

QT_ADDITIONAL_PACKAGES_PREFIX_PATH is not used in qtbase/CMakeLists.txt:
  find_package(Qt6 REQUIRED COMPONENTS BuildInternals CMAKE_FIND_ROOT_PATH_BOTH)
so the current approach for using Qt from the install path was not working.

Change the ptest build from using QT_ADDITIONAL_PACKAGES_PREFIX_PATHs
to using separate cmake toolchain file that prepends the install path
to CMAKE_FIND_ROOT_PATH, which makes CMake find the target Qt packages
correctly.

Pick-to: 6.4 6.3 6.2
Change-Id: Idc99a26577886208b85bafe811f61538bb38d5bc
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2022-06-10 04:01:37 +00:00
Samuli Piippo
faed0e8947 ptest: handle names with spaces
Correctly remove debug file also when directory names have spaces.

Pick-to: 6.4 6.3 6.2
Change-Id: Ia1d9efdd72d8f37417f2fd3f3f6d4a2736283ac9
Reviewed-by: Pasi Petäjäjärvi <pasi.petajajarvi@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-06-07 22:02:55 +00:00
Samuli Piippo
d1ffa135a7 ptest: fix packaging of test data
Use correct path for the test sources and data.

Pick-to: 6.3
Change-Id: I90f14130dce7f3b5ef3ae45dbdd60540c795ba9e
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2022-03-06 11:11:54 +00:00
Samuli Piippo
a730a1f029 ptest: allow ptest to be disabled for all Qt modules
For static Qt builds, it's useful to allow disabling ptest for all
Qt modules without removing ptest from DISTRO_FEATURES, since that
would cause rebuild of most of the system components.

Pick-to: 6.3 6.2
Change-Id: I32aa202ce8e4a1260e287b0625495ef828536511
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2022-02-04 05:33:30 +00:00
Samuli Piippo
b75a4f9dfb ptest: make sure sources exist
QtDeclarative is building doc snippets as part of the tests and
the sources for those are not in expected location. Test the
source directory before copying them.

Pick-to: 6.3
Change-Id: Ia3fd214dfc648d221a7b8bb6ec24e3cd3f698049
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2022-01-27 08:31:13 +02:00
Samuli Piippo
626697c8bd ptest: don't package debug files from tests
Debug files from tests were packaged along with everything else causing
toolchain to have over 3Gb of debug files of little use. Since the
packaging of the debug files is done dynamically, we'll need to remove them
using an additional function that run during the packaging.

Pick-to: 6.2
Task-number: QTBUG-96583
Change-Id: I3695cdd21ba9b9443770c671e50bbf230a58cfd6
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2021-09-22 09:49:11 +03:00
Pasi Petäjäjärvi
5a34cf9f49 qtbase: Add python binary available for ptest
*-native recipes using python fails without this.

Pick-to: 6.2
Change-Id: Ieb6b45f97ed01c6984522c687c411ff09680b803
Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
2021-09-17 09:53:12 +03:00
Samuli Piippo
7e83f2fc76 Convert to new override syntax
This is the result of automated script (0.9.1) conversion:

oe-core/scripts/contrib/convert-overrides.py .

converting the metadata to use ":" as the override character instead of "_".

Task-number: QTBUG-95705
Change-Id: Ieb57084e2cea47eb3407960ebfce404cee1ddc36
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2021-08-24 14:37:21 +03:00
Samuli Piippo
4c5510f0d6 qt6: update submodules
Latest from dev branch.
Disable rpaths from ptest to fix QA Issue: package contains bad RPATH.

Change-Id: I3f29de8a9200657d9ac2eb87d4288fde09b49469
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2021-06-29 15:41:23 +00:00
Alexey Edelev
a4fa1a93d8 Add recipe-sysroot path to the standalone test build
Module dependency lookup mechanism requires all Qt dependencies
acessible through the paths specified in PATHS parameter of the
find_dependency call. Since cross-repo dependencies are available
only in recipe-sysroot, it's necessary to add it explicitly
to the QT_ADDITIONAL_PACKAGES_PREFIX_PATH cache variable.

Change-Id: I506456bc715943ae7ba2ebe61e1a38936bb93a31
Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
2021-06-10 14:33:07 +02:00
Samuli Piippo
7ec2742246 Enable ptest support for Qt modules
Build tests for ptest in Qt modules. The default build using
PACKAGECONFIG[tests] doesn't work as the installation of tests is
not working correctly. Instead build the tests separately after
the module has been built and installed.

The tests have dependencies to the data and source files which
need to be packaged with the test binaries.

Change-Id: Ibae55a29135267ce96949aa0c15ad7e236ef2512
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2021-05-12 08:03:07 +03:00