diff options
Diffstat (limited to 'coin/instructions/cmake_run_ctest_enforce_exit_code.yaml')
-rw-r--r-- | coin/instructions/cmake_run_ctest_enforce_exit_code.yaml | 78 |
1 files changed, 70 insertions, 8 deletions
diff --git a/coin/instructions/cmake_run_ctest_enforce_exit_code.yaml b/coin/instructions/cmake_run_ctest_enforce_exit_code.yaml index c2560be37e..a7039b5015 100644 --- a/coin/instructions/cmake_run_ctest_enforce_exit_code.yaml +++ b/coin/instructions/cmake_run_ctest_enforce_exit_code.yaml @@ -10,18 +10,33 @@ instructions: equals_value: Windows - type: EnvironmentVariable variableName: TESTRUNNER - variableValue: "{{.InstallDir}}/libexec/qt-testrunner.py --" + variableValue: "{{.Env.LIBEXEC_INSTALL_DIR}}qt-testrunner.py --" + # Running wasm tests with the coin testrunner is not yet implemented disable_if: condition: property - property: host.os - equals_value: Windows - - type: EnvironmentVariable + property: target.osVersion + in_values: [WebAssembly] + - type: AppendToEnvironmentVariable variableName: TESTRUNNER - variableValue: "{{.InstallDir}}\\bin\\qt-testrunner.py --" + variableValue: " {{.SourceDir}}/coin_qnx_qemu_runner.sh" enable_if: condition: property - property: host.os - equals_value: Windows + property: target.osVersion + in_values: [QNX_710] + - type: Group + enable_if: + condition: property + property: features + contains_value: UseAddressSanitizer + instructions: + - type: EnvironmentVariable + variableName: ASAN_OPTIONS + variableValue: "malloc_context_size=100:detect_leaks=0" + - type: EnvironmentVariable + # Override qt-testrunner as we don't want to gather test statistics + # because many tests FAIL when built with ASAN. + variableName: TESTRUNNER + variableValue: "{{.Env.LIBEXEC_INSTALL_DIR}}sanitizer-testrunner.py" - type: EnvironmentVariable variableName: COIN_CTEST_RESULTSDIR variableValue: "{{.AgentWorkingDir}}\\testresults" @@ -36,9 +51,24 @@ instructions: condition: property property: host.os equals_value: Windows + + # Keep the testrun quiet for ASAN testruns, since there are FAILs happening all over the place... - type: EnvironmentVariable variableName: CTEST_ARGS variableValue: "-V" + disable_if: + condition: property + property: features + contains_value: UseAddressSanitizer + # ...and only print the output from a failing test, i.e. test with ASAN errors. + - type: EnvironmentVariable + variableName: CTEST_OUTPUT_ON_FAILURE + variableValue: "1" + enable_if: + condition: property + property: features + contains_value: UseAddressSanitizer + - type: AppendToEnvironmentVariable variableName: CTEST_ARGS variableValue: " --stop-on-failure" @@ -46,17 +76,49 @@ instructions: condition: property property: features contains_value: AbortTestingOnFirstFailure + + # Enable CTest's JUnit XML summary only for recent versions + - type: AppendToEnvironmentVariable + variableName: CTEST_ARGS + variableValue: " --output-junit {{.Env.COIN_CTEST_RESULTSDIR}}{{.Env.CI_PATH_SEP}}test_summary.ctest_junit_xml" + enable_if: + condition: runtime + env_var: CMAKE_MIN_SUPPORTED_BIN_PATH + equals_value: null + + - !include "{{qt/qtbase}}/coin_module_test_android_start_emulator.yaml" + + - type: EnvironmentVariable + variableName: COIN_CROSS_PLATFORM_VERSION_TEST + variableValue: "TRUE" + enable_if: + condition: and + conditions: + - condition: property + property: platformDependency + not_equals_value: null + - condition: property + property: platformDependency.target.osVersion + not_equals_property: target.osVersion + - condition: property + property: features + contains_value: TestOnly + - type: ExecuteCommand command: "{{.Env.TESTS_ENV_PREFIX}} ctest {{.Env.CTEST_ARGS}}" executeCommandArgumentSplitingBehavior: SplitAfterVariableSubstitution ignoreExitCode: false maxTimeInSeconds: 10800 - maxTimeBetweenOutput: 900 + maxTimeBetweenOutput: "{{.Env.COIN_COMMAND_OUTPUT_TIMEOUT}}" userMessageOnFailure: > Failed to run tests. - type: Group instructions: + # Qttestrunner does not work with bic tests. + - type: EnvironmentVariable + variableName: TESTRUNNER + variableValue: "" - type: EnvironmentVariable variableName: QT_MODULE_TO_TEST variableValue: "{{.SourceDir}}" |