testlib selftest: Don't pass TESTARGS to Catch2

It doesn't understand the arguments we usually pass to testlib.

Change-Id: Iea83d1d8c31a510b2bc442cbfc810eac631322e7
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
bb10
Tor Arne Vestbø 2020-07-23 09:53:18 +02:00
parent f16ab166bc
commit e85c531c51
4 changed files with 9 additions and 4 deletions

View File

@ -4134,7 +4134,7 @@ endfunction()
# This function creates a CMake test target with the specified name for use with CTest.
function(qt_add_test name)
qt_parse_all_arguments(arg "qt_add_test"
"RUN_SERIAL;EXCEPTIONS;GUI;QMLTEST"
"RUN_SERIAL;EXCEPTIONS;GUI;QMLTEST;CATCH"
"OUTPUT_DIRECTORY;WORKING_DIRECTORY;TIMEOUT;VERSION"
"QML_IMPORTPATH;TESTDATA;${__default_private_args};${__default_public_args}" ${ARGN}
)
@ -4236,7 +4236,11 @@ function(qt_add_test name)
set(test_executable "${name}")
endif()
add_test(NAME "${name}" COMMAND ${test_executable} ${extra_test_args} -o ${name}.xml,xml -o -,txt WORKING_DIRECTORY "${test_working_dir}")
if (NOT arg_CATCH)
list(APPEND test_outputs "-o" "${name}.xml,xml" "-o" "-,txt")
endif()
add_test(NAME "${name}" COMMAND ${test_executable} ${extra_test_args} ${test_outputs} WORKING_DIRECTORY "${test_working_dir}")
endif()
set_tests_properties("${name}" PROPERTIES RUN_SERIAL "${arg_RUN_SERIAL}" LABELS "${label}")
if (arg_TIMEOUT)

View File

@ -83,7 +83,7 @@ unix {
}
# Allow for custom arguments to tests
$${type}.commands += $(TESTARGS)
!catch: $${type}.commands += $(TESTARGS)
!isEmpty(TESTRUN_CWD):!contains(TESTRUN_CWD, ^\\./?): \
$${type}.commands = $$QMAKE_CD $$shell_path($$TESTRUN_CWD) && $$eval($${type}.commands)

View File

@ -8,6 +8,7 @@ include(../../../../src/testlib/selfcover.cmake)
qt_add_test(tst_selftests
OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/"
EXCEPTIONS
CATCH
SOURCES
../../../shared/emulationdetector.h
tst_selftests.cpp

View File

@ -1,4 +1,4 @@
CONFIG += testcase
CONFIG += testcase catch
SOURCES += tst_selftests.cpp catch.cpp
QT = core testlib-private