aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto
Commit message (Collapse)AuthorAgeFilesLines
* Add module for providing AddressSanitizer supportChristian Kandeler2022-04-112-5/+9
| | | | | Change-Id: Id34e57a59ad21961ee32da1bf93f6a55596d95aa Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Add test to check the SDCC compiler probeDenis Shienkov2022-02-282-0/+30
| | | | | Change-Id: Iaeb8ff81f37e152667aace86156de2c96397d9e3 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* baremetal: Add test to check the Digital Mars compiler probeDenis Shienkov2022-02-282-0/+32
| | | | | Change-Id: If43314a34cbae3b66d6221cb21e6ba32e4aaae38 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* baremetal: Skip `shared-libraries` test for GCC toolchainsDenis Shienkov2022-02-281-2/+0
| | | | | | | | | | | ... because we can't detect the target 'none' platform in case of a bare-metal GCC (this feature is not implemented yet). In other words, the barametal platforms do not support the shared libraries. Change-Id: I8ea62e649474e57ecc363b556e5f901a35c3fa85 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* baremetal: Add test to check toolchain probesDenis Shienkov2022-02-214-0/+58
| | | | | | | | | | | | | | | | Right now we don't have tests that could check the correctness of the properties returned by toolchain probes. For example, such as `architecture`, `targetPlatform`, `endianness` and so forth. The number of returned parameters depends on the type of toolchain. This patch adds a test for the probe for the `watcom` toolchain and can be used as a template for adding the tests for other probes in the future. Change-Id: I5ebda0deb7538f746406f5b0925bdd60fdb4c3fb Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* baremetal: Add simple test for linking with shared librariesDenis Shienkov2022-02-215-0/+81
| | | | | | | | | | | | | | | | As we use the baremetal tests for non-baremetal compilers (for example, for `watcom` and `dmc`), then we need a test for linking the application and the shared library. We cannot use the existing tests for `watcom` and `dmc` toolchains, because these toolchains have specific behavior and also do not fully support the STL. Therefore, the simplest dependency linking test is used here. Also fixed the shared library creation for these toolchains. Change-Id: I0e5d5ede39fa0c9b4bf7db54adc3f161e0aea91c Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* baremetal: Add launch of test application target if possibleDenis Shienkov2022-02-154-1/+29
| | | | | | | | | | | | | | | | | | The idea is to check that the compiled application works correctly by running it and reading its output. This will only work if the host platform and target platform are the same, otherwise the launch is simply skipped. Since we use baremetal tests also to test other platforms (for example, using the OpenWatcom or DigitalMars toolchains), the base application `BareMetalApplication.qbs` is created as a console application. The reason is that for baremetal it is always a console, but for non-baremetal it can also be a GUI which requires a different main function. Change-Id: I520ba411582223950521b4b06c2e01bce49fe089 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Add probe items in module providersRaphael Cotty2022-02-085-1/+47
| | | | | | | | Probes can now be used in the ModuleProvider item. Change-Id: If1bf07269aa7d9c3c9dd8a41ac4bd3d259393a49 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Add Qt 6.3 Android image and update ANDROID_PLATFORMRaphael Cotty2022-02-061-20/+30
| | | | | | | | | | | | | Add docker image focal-android-630 and corresponding github action. Update ANDROID_PLATFORM to "android-30" because Qt AndroidManifest uses property allowNativeHeapPointerTagging (QTBUG-97009) since 6.2.1 which was added in API30. Also update android test because bug QTBUG-97834 was solved in Qt 6.3. Change-Id: Id45701433a779d2c6cb8dfdbfb0676e2daad6f88 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Do not use std::string in HostOsInfoIvan Komissarov2022-02-042-5/+5
| | | | | | | | We are not going away from Qt and converting QString to std::strgin and vice versa does not make any sense. Change-Id: I99c0067a4738566728c503fe39f0d0a945d4e977 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Long live Open Watcom toolchainDenis Shienkov2022-02-041-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds basic support for the Open Watcom toolchain. This patch uses the `owcc` compiler (supplied with the toolchain), which is a wrapper that supports the POSIX standard. Reason is that the native OW compiler and linker has a limitations in the command line arguments (e.g. they have wrong quotes handling and so on). This patch supports both the latest official version v1.9 and also its fork v2.0. Also added the CI autotests for the version v2.0 for the Windows host. These autotests only perform a limited number of tests (only the bare-metal tests) due to the following toolchain limitations: * The toolchain does not have STL support (there seems to be some kind of the partial support in the form of separate legacy STL ports). * The toolchain support something compatible with the C++98 standard. * The toolchain does not support the shared libraries on Linux hosts. These limitations make it impossible or unjustified to reuse most of the available tests (it requires a lot of work). There was also an attempt to set up CI for tests on Linux host, but for some reason the toolchain installer crashes on CI (although it works fine on a local PC with Ubuntu). Change-Id: Iecf76f51f0b09d31a89683f786b9cd7a825f235e Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Add qmlImportPaths property to Qt.android_supportJan Blackquill2022-02-031-1/+1
| | | | | | Change-Id: I3fd73b5053562b139324d3a473184e9c520c2587 Reviewed-by: Raphaƫl Cotty <raphael.cotty@gmail.com> Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Create Host service and update FileInfoRaphael Cotty2022-02-014-1/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to use PathProbe and BinaryProbe in module providers, the qbs properties used in the probes will be replaced by the Host and the FileInfo services. The new Host service implements these host related properties: architecture, os, platform, osVersion, osBuildVersion, osVersionParts, osVersionMajor, osVersionMinor, osVersionPatch, nullDevice The FileInfo service implements these properties: pathSeparator, pathListSeparator Task-number: QBS-1612 Change-Id: Icecde3d82a531a5b143ce150ffd544ee674e6f4d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Use Host and FileInfo serviceRaphael Cotty2022-01-3169-84/+201
| | | | | | | | Replace all the possible use of the qbs module that can be replaced by the Host and FileInfo services. Change-Id: I0d6f820bb2577eacd9081ec2df1eb53adf94d50e Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Fix buildIvan Komissarov2022-01-281-2/+2
| | | | | | | Both branches of the ternary operator have to have the same type. Change-Id: I429509adec209aacadf85bb5f8ea0573d92a4e95 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* tests: Make sure we handle prefix cases where libPath have arch tripletMarius Gripsgard2021-12-311-1/+3
| | | | | | | | | | | | Example for this case is on debian where libPath is equal to /usr/lib/[arch]/ this would then end up with a prefix of /usr/lib, this is wrong as it should be /usr. This also adds an additional check to see if its starts with /lib as this might be a correct path on some systems, so we ignore this case. Change-Id: Idc706892ba70ebb3f212a6938a6285c24e4a75b1 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Convenience products: Make installDebugInformation consistentChristian Kandeler2021-12-133-0/+12
| | | | | | | | | | ... with install by default. If we have an installable product with debug info, it's likely we want to install the debug info as well. Task-number: QTCREATORBUG-26419 Change-Id: I6057bcd1620bcf207b38397b7f6f45be4187e44e Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Ignore weak symbols when re-linking in non-strict modeChristian Kandeler2021-12-066-0/+109
| | | | | | | | Weak symbols can very easily get pulled into binaries. Make sure this does not mess with our re-linking detection logic. Change-Id: I013cc12728528e684d6cd4ba3c61cb56f1f854b4 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Replace missing std::all_of with Internal::all_ofDenis Shienkov2021-12-021-1/+1
| | | | | Change-Id: I11dc7ce71c7ce7f161d75e3fcd2fc34c87e7733e Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Add missing std:: namespace for all functions from <cstdio> libraryDenis Shienkov2021-12-0139-84/+85
| | | | | Change-Id: Ia5c14b86e5e0952dbebf103c5355f49e41158cba Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* 'product' variable points to 'importingProduct" in Export itemsRaphael Cotty2021-11-302-3/+2
| | | | | | | | | | | Following commits c2b7dd88e2f3ac5ebed99301ec8f847ffaedcb87 and eb7adb8d9787dddef89e46f7bf6e594d0b5faf4b, the "product" variable in an Export item now points to the 'importingProduct'. It used to point to the 'exportingProduct'. Fixes: QBS-1576 Change-Id: If122a981f14b54114afce20e72cc568b14681dba Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix descriptions for JS commandsDenis Shienkov2021-11-1535-104/+104
| | | | | | | | | | | * All descriptions start with a small letter. * Trailing dots have been removed from all descriptions. * For all static library rules replaced 'linking' with 'creating' in descriptions. * Added 'ing' ending to all descriptions where it was missing. Change-Id: I2a4cb9dd53980d33628e097efaae53a68573af42 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Merge branch '1.21' into masterIvan Komissarov2021-11-0319-19/+140
|\ | | | | | | Change-Id: I27ad0920ab12443c8e2c744e3509bce28607c3f0
| * Implement providing Qt libs via pkg-configIvan Komissarov2021-11-036-0/+61
| | | | | | | | | | | | Change-Id: I2675968a6e11ffea2e7d44fbfbd1a77018999a4b Reviewed-by: Kai Dohmen <psykai1993@googlemail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Allow protobuf to have runtime from providersIvan Komissarov2021-11-028-8/+47
| | | | | | | | | | Change-Id: I2d951f691c601de9b2d06d1a580b818283eabac5 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * pkgconfig: fix variables in the merged packageIvan Komissarov2021-11-011-0/+5
| | | | | | | | | | Change-Id: Ib143dfc99392ed129ea04d57ed8e378c7d1230a9 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * pkgconfig: Rename vars to variablesIvan Komissarov2021-11-011-4/+4
| | | | | | | | | | Change-Id: Iffc41104f002684525f5a0efe6c44cd326299678 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Do not migrate profiles dir in Settings anymoreIvan Komissarov2021-10-261-3/+3
| | | | | | | | | | | | | | | | | | It was only used by Qt and is not needed because of providers these days. Task-number: QTCREATORBUG-26475 Change-Id: I8bf79bcaa7468c8df3669902ac453d46bbfa46f8 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Print conan output while ConanfileProbe runsKai Dohmen2021-10-264-4/+20
| | | | | | | | | | | | | | | | | | Sometimes installing dependencies with conan takes multiple minutes. To see what conan does and if somehow conan stopped working the conan stdout and stderr will be printed to commandline. Change-Id: I987ef95b38deecd713dc6b46be0e2641025345c6 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | Fix build with Qt 6.2Ivan Komissarov2021-10-262-3/+3
| | | | | | | | | | Change-Id: Id0758d78f0ef251aeca0447ccc612d294c450a5e Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Merge branch '1.21' into masterIvan Komissarov2021-10-2618-28/+306
|\| | | | | | | Change-Id: I3417bbe182c23f8e6a9704b008eb8a5618e4d175
| * Split libDirs and extraPaths variablesIvan Komissarov2021-10-261-1/+1
| | | | | | | | | | | | | | | | | | pkg-config has 2 different variables - PKG_CONFIG_LIBDIR overrides the default search paths and PKG_CONFIG_PATH prepends paths to the default paths or paths set via PKG_CONFIG_LIBDIR. Change-Id: I8f67b7bbae9325b17abb20ec5eb8d037626c8089 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * capnproto: add test with the new providerIvan Komissarov2021-10-252-0/+18
| | | | | | | | | | Change-Id: I4b91047bd688419ca9626d58a304bbeabf9943e7 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * pkgconfig: Implement early dependency mergingIvan Komissarov2021-10-255-16/+95
| | | | | | | | | | | | | | | | | | | | | | | | Due to performance reasons, we have to do the dependency resolution on the qbspkg-config side, like original pkg-config does. Otherwise, it is not possible to use GRPC module as it depends on a bunch of ABSEIL libraries which has a lot of cross-dependencies and QBS cannot handle them (resolving takes > 10 minutes for a simple dependency on GRPC). Change-Id: Ice25f6cea09fe731a511d91891936ba746e5b697 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Android: Add android image for Qt 6.2Raphael Cotty2021-10-252-12/+48
| | | | | | | | | | Change-Id: Ib48209643b755954f0f38c3f1bcfb487e23cf292 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * pkgconfig: Merge packages and broken packagesIvan Komissarov2021-10-191-1/+3
| | | | | | | | | | | | | | | | | | | | This is required for the ongoing patch that merges the dependencies on the pkgconfig level - a valid package may change it's type to broken if it has unsatisfied dependencies. Change-Id: I21e6a214d8524fb95e6b837604ae6b7f32360d4f Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * pkgconfig: fix baseName detectionIvan Komissarov2021-10-143-0/+33
| | | | | | | | | | Change-Id: I83691e0e35cf4bbf9955eb0bad58b5a15bf1779a Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Implement eager pkg-config providerIvan Komissarov2021-10-148-0/+110
| | | | | | | | | | | | | | | | | | | | This implements provider that generates modules based on all .pc files present in system. This allows to get rid of the multi-shot providers such as fallback provider. Fixes: QBS-1614 Change-Id: Icf87ac609bc34bd26e8ed94ae547a7e649835a3a Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Use unique_ptr for managing ScriptEnginesIvan Komissarov2021-10-232-5/+5
|/ | | | | Change-Id: I89f510619196cc01a9e3b0c2273888b12b188928 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix setting stringlist properties in module providersIvan Komissarov2021-10-065-11/+18
| | | | | | | ...when using foo,bar,baz syntax Change-Id: I013a55f02c5d6d4bbbccf809b9524bed3c486df4 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Do not use Application item in Language testsIvan Komissarov2021-10-0610-24/+34
| | | | | | | | | This item has grown over time and now pulls bundle module and xcode module on macOS which is not desired as it make harder to read verbose logs when debugging tests. Change-Id: I7fa4dfaec477b5c6d8d8ec602d10db866c353441 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Drop JDK version 1.6 from testingIvan Komissarov2021-10-041-1/+1
| | | | | Change-Id: Ifa1408183c87a6c4f20a8d1e0f3fee448e91f949 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Add android testing with different ndk versionsRaphael Cotty2021-09-301-1/+1
| | | | | | | | | | | | | New docker images are added to test different android ndks. Those images don't have Qt so only a subset of the tests are run. So far I added 3 images: r23 (LTS), r21e (LTS) and r19c (minimum one). The other android images also have a new ANDROID_NDK_VERSION argument set to the r23. Change-Id: Iaa7c80b9cac1c7888b3297fac13333d22a9ad0bc Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Don't use global includes in dbus testsIvan Komissarov2021-09-273-12/+5
| | | | | | | | Otherwise, we pull in dependency on the GL.h header which is not needed otherwise. Change-Id: I7cca190ca3883f9203403c8cff21f6a0d274171c Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Long live qbs-pkgconfig!Ivan Komissarov2021-09-2325-1/+519
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patchset introduce a static library for parsing .pc files. Code is based on the original pkg-config source code https:// gitlab.freedesktop.org/pkg-config/pkg-config and is written in pure C++ (except for the places where we need access to filesystem as std::filesystem is not available for all platforms - in that case, Qt classes are used) Parsing .pc files manually allows to have more control over dependencies between modules, e.g. to generate a standalone module per one .pc file and merge properties using Qbs itself, not via pkg-config. Library is almost feature-complete and all tests copied from pkg-config pass. Some functionality is omitted (e.g. prefix variables (what is this?) or validating dependencies since Qbs does this as well) Bechmark shows that parsing ~100 files takes about 10-15ms. Running pkg-config on the same set of files takes ~4 seconds: RESULT : TestPkgConfig::benchSystem(): 14 msecs per iteration (total: 57, iterations: 4) Fixes: QBS-1615 Change-Id: I5bfdfa588aa04d9d69fd738dd2beea14174c0242 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Merge branch '1.20' into masterIvan Komissarov2021-09-211-1/+2
|\ | | | | | | Change-Id: Iac2a17ef4bacf25becc7f2082a8a73a21b2f4d76
| * freebsd: fix TestBlackbox::removeDuplicateLibrariesIvan Komissarov2021-09-211-1/+2
| | | | | | | | | | | | | | | | FreeBSD uses the LLVM linker these days, so we need to check that similar as we do on macOS Change-Id: I28b8aa0743173b20caa8932f942b59dd369d686a Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Implement qbsModuleProviders propertyIvan Komissarov2021-09-2015-0/+272
| | | | | | | | | | | | | | | | | | | | It is now possible to specify which providers should be run by providing the list of provider names. The desired providers can be selected on the Project and Product levels. Task-number: QBS-1604 Change-Id: Ib0782df00e3086104345f4b740fc1696d715344c Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | cpp module: Add support for C++23Christian Kandeler2021-08-232-2/+2
| | | | | | | | | | Change-Id: Iccc5c9a10d1934e2170f75d194ed103b45bfac53 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | Merge 1.20 into masterChristian Kandeler2021-08-2044-74/+13
|\| | | | | | | Change-Id: Id78213238c8692d7aaa1a73378704fa9ef4238a9