qt5base-lts/coin/instructions/cmake_setup_running_tests_env_vars.yaml
Tor Arne Vestbø c7ddaa9f58 coin: Generate JUnit result files
The JUnit format is easier to feed to tools that don't support
the native Qt Test XML format.

Pick-to: 6.2
Change-Id: Iad677b98953275fd70765acb039f1fb3d0f44dab
Reviewed-by: Simo Fält <simo.falt@qt.io>
2021-09-11 17:32:04 +02:00

73 lines
2.2 KiB
YAML

type: Group
instructions:
# Informs qtestblacklist.cpp that tests are run in the CI.
# A related QT_BUILD_ENVIRONMENT env var is set during an integration's build phase.
- type: EnvironmentVariable
variableName: QTEST_ENVIRONMENT
variableValue: "ci"
- type: WriteFile
fileContents: |
#!/usr/bin/python3
import subprocess
import calendar
import datetime
import time
import sys
import os
import re
from os.path import expanduser
home = expanduser("~")
file=os.path.basename(sys.argv[1])
timestamp = str(round(time.time() * 1000))
results_path = home + "/work/testresults/"
results_base = results_path + file + "-" + timestamp
testargs = [
"-o", results_base + ".xml,xml",
"-o", results_base + ".junitxml,junitxml",
"-o", "-,txt"
]
if re.search("testlib.selftests.tst_selftests", sys.argv[1]):
testargs = []
exit(subprocess.call([sys.argv[1]] + testargs))
filename: "{{.SourceDir}}/coin_ctest_runner.py"
fileMode: 755
- type: ExecuteCommand
command: "chmod 755 {{.SourceDir}}/coin_ctest_runner.py"
maxTimeInSeconds: 10
maxTimeBetweenOutput: 10
userMessageOnFailure: >
Failed to change file permission.
disable_if:
condition: property
property: host.os
equals_value: Windows
- 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