aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/blackbox/tst_blackboxapple.cpp
Commit message (Collapse)AuthorAgeFilesLines
* codesign: do not sign intermediate products when multiplexingIvan Komissarov2021-03-301-5/+18
| | | | | | | We should only sign the resulting binary during the lipo step. Change-Id: If4d508bcdf347bf2fc68d345ed8d5913a7457f8d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Implement codesign moduleJake Petroules2021-02-181-0/+99
| | | | | | | | | | | | | | | This moves code signing functionality into a dedicated module, and also implements automatic provisioning for Apple platforms, which automatically selects appropriate signing identities and provisioning profiles based on the product being built. This also results in a significant performance improvement since all code signing setup information is retrieved in process instead of forking off the openssl and security command line tools. Task-number: QBS-899 Change-Id: I60d0aeaeb2d1004929505bcb1e0bc77512fe77bc Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Merge branch '1.18'Ivan Komissarov2020-12-181-0/+30
|\ | | | | | | Change-Id: I37c359289dcd957fbc964a35fab381a047f7d04a
| * Add TestBlackboxApple::appiconset testIvan Komissarov2020-12-141-0/+30
| | | | | | | | | | | | | | | | | | This test verifies the possibility to use "*.appiconset" assets for application icons Task-number: QBS-1627 Change-Id: I2480dcb76d046d91333295926db40cdd6d4c32bd Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | xcode: brings back arm64 mac in aggregateDependencyLinking()Ivan Komissarov2020-12-071-1/+1
|/ | | | | | | Xcode 12.2 supports building arm64 mac binaries (again) Change-Id: Iacdeda5d0b933781694cab0e38f720ee2ffe3461 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* GitHub actions: fix macOS buildIvan Komissarov2020-10-291-2/+1
| | | | | | | | Default Xcode was switched to 12.0 and we need to use Qbs 1.17 which supports it Change-Id: I4dfb0da7e1bdf99dd1fafe952395465dc8cdb267 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix qbs.buildVariant in appleMultiConfig() testIvan Komissarov2020-10-261-5/+5
| | | | | | | Should be "profiling", not "profile" Change-Id: I79f1607a4a1880a67bb49b08dfabbe0a5715aaa7 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix usage of @VAR@ in info plist filesIvan Komissarov2020-10-081-0/+32
| | | | | | | Fixes: QBS-1601 Change-Id: Iead18bf5fd25f965cf9f9748469f2469488eabc8 Reviewed-by: Thorbjørn Lindeijer <bjorn@lindeijer.nl> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Initial support for GitHub ActionsIvan Komissarov2020-09-011-0/+2
| | | | | | | | | | This commit adds jobs similar to what we have in Travis. Some tests are disabled when running on GitHub since they do not pass for various reasons. Note that those tests are usually skipped on Travis due to missing dependencies. Change-Id: Icec96dc22e2939d12568d2de1f1a4537c35977ad Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Make TestBlackboxApple::aggregateDependencyLinking smarterIvan Komissarov2020-08-071-6/+33
| | | | | | | | Now it covers old macs, ios and new arm64 macs Task-number: QBS-1456 Change-Id: Icc7d7ca040266a85947c29f3b5d8f191c07cfffe Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Switch to Qt 5.15.0 and drop CI support for MinGW on LinuxRichard Weickelt2020-07-201-2/+3
| | | | | | | | | | | Cross-builds with MinGW on Linux are dropped mainly because of build issues and because MinGW support bloats the resulting Docker image. We have CI jobs running on Windows with MSVC and Clang-cl which should be sufficient. Change-Id: Iac4e0eaf1270844836697bebf52f9c056457caaf Reviewed-by: Richard Weickelt <richard@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix Qt 5.15 deprecation warningsChristian Kandeler2020-06-161-2/+5
| | | | | Change-Id: I1d6968de823c43e42ca53eb68972ba5e69dc29ed Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Fix or skip tests to be able to run with the iOS profileIvan Komissarov2020-05-221-103/+156
| | | | | | | | | | | | This skips tests that are not possible to run without the device and fixes other tests for the iOS profile. Also, adds Travis job that runs tests using iOS profile. This is the squashed merge commit of the wip/ci-ios branch. Change-Id: Ia0c1fc05fdb8c6e269f5e66f979f2ae19465433c Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Merge branch '1.16' into masterRichard Weickelt2020-04-151-11/+11
|\ | | | | | | Change-Id: Ie3f341fe18e2ffaf676721748279c6b027590727
| * Darwin: Adapt to Xcode 11.4Christian Kandeler2020-04-061-11/+11
| | | | | | | | | | | | | | | | | | | | | | | | The "Version" entry in SDKSettings.plist has three digits now. Also adapt the deploymentData autotest to take into account that we no longer pass the "version_min" options. Fixes: QBS-1543 Change-Id: Ibc1bcfd44583721c4bed1db812eca892ee316eeb Reviewed-by: Leon Buckel <leon.buckel@clausmark.com> Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Fix aggregateDependencyLinking() with XCode 9.4Ivan Komissarov2020-04-151-2/+5
|/ | | | | | | | | | Test failed because of the warning about macOS version mismatch which leaded to additional logging in CommandLineFrontend::handleProcessResultReport() Fixes: QBS-1456 Change-Id: I83dd0eeebd248c0a5ad38b65e29b96358f455404 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Test for the correct value for the NSPrincipalClassIvan Komissarov2020-01-201-1/+1
| | | | | | | Qbs sets this value unconditionally for macOS platform, so check it Change-Id: I98c2b3f8a9ac6978411eb51a17f1104118faebe2 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Add checks for some types in infoPlistIvan Komissarov2020-01-201-0/+24
| | | | | | | | | | Checking the exact values is hard because they depend on the targetPlatfom/architecture, but we can check that types are correct if those values are present. Task-number: QBS-1447 Change-Id: I4407421919ad74719ce089d059cbe36764a565d8 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Add overrideInfoPlist testIvan Komissarov2020-01-151-26/+84
| | | | | | | | This test checks that properties can be overridden in a .qbs file Task-number: QBS-1447 Change-Id: Ib39c7c11f26357bb4074eb9ba7cb2730f25c9441 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix TestBlackboxApple::infoPlist for tvos/ios/watchos platformsIvan Komissarov2019-06-261-5/+32
| | | | | | | | | | | | | | | On non-desktop OSes, Info.plist is located in the other folder: infoplist.app/Info.plist instead of infoplist.app/Contents/Info.plist Plus, it uses binary format by default, so convert resulting file to JSON to simplify checking its contents Plus, some properties that are present on macOS are not present on ios/others. Check only common subset plus macOS-specific properties Change-Id: Ic709f6b79a5ecc89c3866ca69ca4004341dfad9f Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix TestBlackboxApple::xcode for tvos/ios/watchos platformsIvan Komissarov2019-06-261-5/+17
| | | | | | Change-Id: Ieed4b81a83e8b8a5c8c061f985587aded3e13ec3 Reviewed-by: Qbs CI Bot <travis-bot@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix calls to non-const begin()/end() in range-for loopsIvan Komissarov2019-03-061-1/+2
| | | | | | | | This fixes -Wclazy-range-loop Change-Id: I08a435b700017cdbe27fbfdbda6e26840d9a3568 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* Return initializer list where it is possibleDenis Shienkov2019-02-261-1/+1
| | | | | | | | | This fixes this clang-tidy warning: warning: avoid repeating the return type from the declaration; use a braced initializer list instead [modernize-return-braced-init-list] Change-Id: I421e1e47462fe0e97788672684d47943af7df850 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Merge 1.12 into masterChristian Kandeler2018-10-121-8/+14
|\ | | | | | | Change-Id: I96c735aeda89e02f1fa9107ecfc10ebf4b554dbc
| * Fix autotests for Xcode 10Christian Kandeler2018-10-051-8/+14
| | | | | | | | | | Change-Id: I0d218f415eedbfc75c2cf10877646f6831f38f89 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* | Merge 1.12 into masterChristian Kandeler2018-06-221-0/+14
|\| | | | | | | Change-Id: I3b5f14cf38452aaa740ac66cffa1e740f7349823
| * Don't link to multiplexed libraries when depending on the aggregateAlexandru Croitor2018-06-201-0/+14
| | | | | | | | | | | | | | | | | | | | ... library, this can lead to warnings or linker errors. Most easily seen on macOS when multiplexing across multiple architectures, and an app ends up linking against multiple multiplexed variants of a dependent product library. Change-Id: I4ea4b419099a1010f7b8c32ee11079da93f1d236 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Simplify installation of applications and librariesChristian Kandeler2018-06-011-3/+3
|/ | | | | | | | | | | | | | | | Add "install" and "installDir" convenience properties to our Application, DynamicLibrary and StaticLibrary items, so users are no longer required to write groups with file tag filters for the normal installation case. The installDir property has a suitable default value for the respective target platform, as does qbs.installPrefix. [ChangeLog] The Application, DynamicLibrary and StaticLibrary items now have properties for more convenient installation of target binaries. Task-number: QBS-229 Change-Id: I9cfa4c02a7c555b0af637257da63967cd62cc119 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Make Version a public classJake Petroules2017-12-011-15/+15
| | | | | | | It's already exposed in public API; i.e. via qtprofilesetup headers. Change-Id: I56950ce3163e6c5bd2c3fd08cc885b35723be5a7 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Add qbs.targetPlatform and qbs.hostPlatform propertiesJake Petroules2017-11-221-9/+9
| | | | | | | | | | | | | | | | | This allows users to set the target platform from within project files, since it is a scalar value. The values of qbs.targetOS and qbs.hostOS are now derived from these new scalar properties. [ChangeLog] Added qbs.targetPlatform and qbs.hostPlatform properties which are scalar versions of qbs.targetOS and qbs.hostOS. qbs.targetPlatform is a "write-only" property that can be used to set the OS/platform that is being targeted, while qbs.targetOS and qbs.hostOS should continue to be used to *read* the OS/platform that is being targeted. qbs.targetOS is also now read-only. Task-number: QBS-1070 Change-Id: Id3fd206a5b2ebee2d626f3e5ab02ecd1dc90d90a Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* STL compatibility: use push_back() instead of append()Jake Petroules2017-11-221-2/+2
| | | | | | | | | | ...or operator<< if the argument was itself a list, or brace init where appropriate. This is a simple find and replace with manual sanity check. Change-Id: I94b79cbf3752192dd258001bf1dfcd46f58ca352 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix assetcatalog test with newer versions of macOSJake Petroules2017-11-131-5/+16
| | | | | | | | | The default deployment target handling has since changed in a way such that we cannot assume the 'default' target is the current host version. Therefore, make the test explicit about the required deployment target. Change-Id: I2547c6051def619dba8b9e6f18b26942fc6707cd Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Introduce property cpp.variantSuffixChristian Kandeler2017-09-011-2/+12
| | | | | | | | | | | | This property existed already, but was only used for Darwin. It is now fully functional and has proper platform-specific default values. [ChangeLog] Debug variants of libraries now get a name suffix on Darwin and Windows when multiplexing over qbs.buildVariants. Overriding is possible via cpp.variantSuffix. Change-Id: I5763f9641ead4f6335ab1f1800b9929bf84279e3 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Fix autotest failuresChristian Kandeler2017-08-311-3/+1
| | | | | | | Should have been part of 8efc0f02e3. Change-Id: I4f6f8e7e8c996a72a94dd77f6226db99c7b8f1c1 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Fix Xcode and Android probesJake Petroules2017-06-201-1/+1
| | | | | | | | The second parameter to relativeProductBuildDir is the multiplex configuration ID now, not the profile... so don't pass the profile name. Change-Id: I9cbf020a95e36be10c70a7ea6f23fcaa33ffe981 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Adapt autotest for modules prefixJake Petroules2017-06-131-1/+1
| | | | | Change-Id: Ie7b353c4aa6f75b5e794e8205e210b3a4c348352 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Add support for building macOS disk imagesJake Petroules2017-06-121-0/+6
| | | | | | | | | | | | | | | | This allows users to build drag 'n' drop installers with custom backgrounds, volume icons, and icon layouts. Unlike other solutions, disk images with these features can be built without any reliance on AppleScript, Finder, or a graphical login session, making it (mostly) reproducible and CI-friendly. .DS_Store files and their contained alias and bookmark records (which control the mounted disk image's appearance in the Finder) are written on-demand based on qbs properties defined in the project file, as well as the Carbon LPic, TEXT, styl, and RTF resources used for embedding a license agreement prompt. Task-number: QBS-416 Change-Id: I95431e21becc3bea075a1468d5271a41c38bbd04 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Autotests: Fix TestBlackboxApple::assetCatalog()Christian Kandeler2017-06-121-1/+1
| | | | | Change-Id: I43546ce7458ce2e9dcbc5b2f932bb418bf4dd229 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Fix xcode autotestChristian Kandeler2017-06-121-1/+1
| | | | | | | The "modules" prefix was missing in the command-line override. Change-Id: I9a370128467c7341f07a6fa8415451dc851fc5e7 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Autotests: Improve the QbsRunParameters classChristian Kandeler2017-06-121-3/+2
| | | | | | | | Add dedicated properties for profile and settings path, rather than test functions having to meddle with the arguments list themselves. Change-Id: Icf58e31174ad15f42aee2eabd8578c20b7d517fa Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Refactor asset catalogs test for greater performance and coverageJake Petroules2017-06-091-19/+36
| | | | | | | | | | | | | | | | | | | | | | This splits out assetCatalogsEmpty and assetCatalogsMultiple from the main assetCatalog test. They are not affected by the data axis of the main test, so this improves performance by not running each of them twice for no reason. It also increases coverage by running them on OSes < macOS 10.9 (which we still test with) as long as Xcode 5 is present. Further, the main assetCatalog test no longer has a hard requirement on macOS 10.9 either, and instead conditionally enables testing of asset catalogs based on the Xcode version (>= 5). This increases test coverage of XIB compilation with older Xcodes and OSes. The MainMenu.xib has been recreated in an old version of Xcode (4.6.3) so it is more broadly usable as a test artifact with older configurations. Tested on macOS 10.12.5 with Xcode 8.3.2, macOS 10.7.5 with Xcode 4.6.3, and macOS 10.8.5 with Xcode 5.1.1. Change-Id: Ifc5d1b0462fd94aa5f1d55727bc74af73e8b9272 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Let the bundleStructure and deploymentTarget tests pass with Xcode < 5Jake Petroules2017-06-091-7/+10
| | | | | Change-Id: I6efd42e99e85a4475e228bee0c16e562d65745e3 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Find Xcode module properties using the standard mechanismJake Petroules2017-06-091-22/+23
| | | | | | | This is compatible with older versions of Xcode. Change-Id: I7828e7aa44ab7d29a62255bb0e3e891a97202f5e Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Migrate tests of Apple platforms/tools into new tst_blackboxapple targetJake Petroules2017-05-301-0/+729
This new test suite collects all the tests which test qbs' support for Apple platforms, Xcode, and related tools. Change-Id: I835e2d5bee46f1b4bb281c02b5b4ef814f196d7c Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>