summaryrefslogtreecommitdiffstats
path: root/util/testrunner/qt-testrunner.py
diff options
context:
space:
mode:
authorDimitrios Apostolou <[email protected]>2024-09-03 19:06:20 +0200
committerDimitrios Apostolou <[email protected]>2024-09-19 15:17:22 +0200
commit0f35b55dbbb7d3cddd408a6110886f143b5f7abf (patch)
tree4f610c369e6f192a7a17245e519325c6765ad4cb /util/testrunner/qt-testrunner.py
parent2253c48805226f6d8d336545ed5a392a77a27b19 (diff)
Inform qt-testrunner about coin_vxworks_qemu_runner.sh
Since we now have quite a few "special" test wrappers, I took the opportunity to refactor the code and add a couple of testcases too. Change-Id: I20e1214351d71c1474be32f03d4218ae6bdd2277 Reviewed-by: Axel Spoerl <[email protected]> Reviewed-by: Toni Saario <[email protected]>
Diffstat (limited to 'util/testrunner/qt-testrunner.py')
-rwxr-xr-xutil/testrunner/qt-testrunner.py16
1 files changed, 10 insertions, 6 deletions
diff --git a/util/testrunner/qt-testrunner.py b/util/testrunner/qt-testrunner.py
index 2305e4b4fba..fa90af89215 100755
--- a/util/testrunner/qt-testrunner.py
+++ b/util/testrunner/qt-testrunner.py
@@ -87,6 +87,13 @@ NON_XML_GENERATING_TESTS = {
"tst_QDoc", # Some of QDoc's tests are using an external test framework (Catch) that does not support -o argument
"tst_QDoc_Catch_Generators", # Some of QDoc's tests are using an external test framework (Catch) that does not support -o argument
}
+# These are scripts that are used to wrap test execution for special platforms.
+# They need special handling (most times just skipping the wrapper name in argv[]).
+TEST_RUNNER_WRAPPERS = {
+ "coin_qnx_qemu_runner.sh",
+ "coin_vxworks_qemu_runner.sh",
+ "androidtestrunner", # extra special handling needed, see code below.
+}
def parse_args():
@@ -144,12 +151,6 @@ Default flags: --max-repeats 5 --passes-needed 1
if args.test_basename.endswith(".exe"):
args.test_basename = args.test_basename[:-4]
- # QNX test wrapper just needs to be skipped to figure out test_basename
- if args.test_basename == "coin_qnx_qemu_runner.sh":
- args.test_basename = os.path.basename(args.testargs[1])
- L.info("Detected coin_qnx_qemu_runner, test will be handled specially. Detected test basename: %s",
- args.test_basename)
-
# On Android emulated platforms, "androidtestrunner" is invoked by CMake
# to wrap the tests. We have to append the test arguments to it after
# "--". Besides that we have to detect the basename to avoid saving the
@@ -167,6 +168,9 @@ Default flags: --max-repeats 5 --passes-needed 1
break
L.info("Detected androidtestrunner, test will be handled specially. Detected test basename: %s",
args.test_basename)
+ # Test wrapper just needs to be skipped to figure out test_basename.
+ elif args.test_basename in TEST_RUNNER_WRAPPERS:
+ args.test_basename = os.path.basename(args.testargs[1])
if args.test_basename in NON_XML_GENERATING_TESTS:
L.info("Detected special test not able to generate XML log! Will not parse it and will not repeat individual testcases")