diff options
author | Alexandru Croitor <alexandru.croitor@qt.io> | 2020-06-25 15:45:50 +0200 |
---|---|---|
committer | Alexandru Croitor <alexandru.croitor@qt.io> | 2020-06-26 22:14:04 +0200 |
commit | a2c772dc58162329a46918950f85e55339939499 (patch) | |
tree | 24f36bc733338d4fbc31698cffb37e691ac79fc5 /coin | |
parent | 9a4391271b527e4489df2ffc44a503797e25b51b (diff) |
CMake: Use build environment prefix.bat when running tests
Tests like tst_qmake need the build environment to be able to build
apps / libraries. This is mostly needed for MSVC.
Set the TESTS_ENV_PREFIX env var to point to the proper prefix.bat
(host or target) and use that when running ctest.
Task-number: QTBUG-85240
Task-number: QTBUG-78449
Task-number: QTBUG-81365
Change-Id: I6fa68714202ac7fc703973fc772e03b84790a043
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Diffstat (limited to 'coin')
-rw-r--r-- | coin/instructions/cmake_regular_test_instructions.yaml | 2 | ||||
-rw-r--r-- | coin/instructions/cmake_setup_running_tests_env_vars.yaml | 30 | ||||
-rw-r--r-- | coin/instructions/coin_module_test_template_v2.yaml | 4 |
3 files changed, 35 insertions, 1 deletions
diff --git a/coin/instructions/cmake_regular_test_instructions.yaml b/coin/instructions/cmake_regular_test_instructions.yaml index 46123dcf96..f22196b2f9 100644 --- a/coin/instructions/cmake_regular_test_instructions.yaml +++ b/coin/instructions/cmake_regular_test_instructions.yaml @@ -12,7 +12,7 @@ instructions: - type: ChangeDirectory directory: "{{.SourceDir}}_standalone_tests" - type: ExecuteCommand - command: "ctest -V --rerun-failed" + command: "{{.Env.TESTS_ENV_PREFIX}} ctest -V --rerun-failed" ignoreExitCode: true maxTimeInSeconds: 7200 maxTimeBetweenOutput: 900 diff --git a/coin/instructions/cmake_setup_running_tests_env_vars.yaml b/coin/instructions/cmake_setup_running_tests_env_vars.yaml new file mode 100644 index 0000000000..f7eead7ce6 --- /dev/null +++ b/coin/instructions/cmake_setup_running_tests_env_vars.yaml @@ -0,0 +1,30 @@ +type: Group +instructions: + - type: Group + instructions: + - type: EnvironmentVariable + variableName: TESTS_ENV_PREFIX + variableValue: "{{.Env.ENV_PREFIX}}" + enable_if: + condition: and + conditions: + - condition: property + property: host.os + equals_property: target.os + - condition: property + property: target.osVersion + not_equals_value: QEMU + - type: Group + instructions: + - type: EnvironmentVariable + variableName: TESTS_ENV_PREFIX + variableValue: "{{.Env.TARGET_ENV_PREFIX}}" + disable_if: + condition: and + conditions: + - condition: property + property: host.os + equals_property: target.os + - condition: property + property: target.osVersion + not_equals_value: QEMU diff --git a/coin/instructions/coin_module_test_template_v2.yaml b/coin/instructions/coin_module_test_template_v2.yaml index f4f65d7d37..786a59e03b 100644 --- a/coin/instructions/coin_module_test_template_v2.yaml +++ b/coin/instructions/coin_module_test_template_v2.yaml @@ -2,6 +2,10 @@ type: Group instructions: - type: Group instructions: + # The build env is needed on MSVC so that tst_qmake can properly build apps / libraries. + - !include "{{qt/qtbase}}/prepare_building_env.yaml" + # The test env vars are needed to pick the proper prefix.bat file. + - !include "{{qt/qtbase}}/cmake_setup_running_tests_env_vars.yaml" - !include "{{qt/qtbase}}/coin_module_test_qemu_env_vars.yaml" - type: Group instructions: |