Skip to content

Commit

Permalink
CTest should write a JUnit XML test summary
Browse files Browse the repository at this point in the history
This feature is to be used when testing Qt in Coin (our continuous
integration platform). The command line option --output-junit is
supported in CMake 3.21 or greater. However we have one particular
configuration that tests with CMake 3.16, so we exclude that one.

We have already configured the individual tests to print detailed
results in their own XML files, using QTest's functionality. But then,
when a qt test process crashes, it leaves behind a half-baked XML
file, or no file at all.

CTest on the contrary knows nothing about the internals of a Qt test,
and only cares about the process exit code. Even if a test crashes, it
catches that and reports it as a failure.

We enable this functionality here to use in addition to what QTest's
XML files provide, in order to collect more complete information on
test results.

Pick-to: 6.6 6.5
Task-number: QTQAINFRA-5146
Change-Id: I226203f93413689f5767a4d01ea1852b453ebf31
Reviewed-by: Alexandru Croitor <[email protected]>
Reviewed-by: Toni Saario <[email protected]>
  • Loading branch information
jimis committed Nov 8, 2023
1 parent 3159b33 commit 19aa21b
Showing 1 changed file with 10 additions and 0 deletions.
10 changes: 10 additions & 0 deletions coin/instructions/cmake_run_ctest_enforce_exit_code.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,16 @@ 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
Expand Down

0 comments on commit 19aa21b

Please sign in to comment.