cbd33cb557
This ensures that a command such as $ ninja tst_qlocale && ninja tst_qlocale_check will automagically build the syslocaleapp program that the test runs from a subtest. Similar for testlib's selftests and tst_QProcess. As a drive-by, pruned some legacy comments from when CMakeLists.txt files were generated from .pro files. Change-Id: I67691a8175aaef124d4104cf1898193993408bdf Reviewed-by: Alexey Edelev <alexey.edelev@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
130 lines
2.6 KiB
CMake
130 lines
2.6 KiB
CMake
# The whole file is written manually.
|
|
|
|
include(../../../../src/testlib/selfcover.cmake)
|
|
|
|
# ------------- Test runner -------------
|
|
|
|
qt_internal_add_test(tst_selftests
|
|
OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/"
|
|
EXCEPTIONS
|
|
CATCH
|
|
SOURCES
|
|
tst_selftests.cpp
|
|
catch.cpp
|
|
PUBLIC_LIBRARIES
|
|
Qt::TestPrivate
|
|
# These lines need to be commented out as they need to be enabled
|
|
# COMPILE_OPTIONS
|
|
# conditionally
|
|
# --cs-exclude-file-abs-wildcard=${QT_SOURCE_TREE}/*
|
|
# --cs-include-file-abs-wildcard=*/src/testlib/*
|
|
# --cs-mcc
|
|
# --cs-mcdc
|
|
# LINK_OPTIONS
|
|
# "$$COVERAGE_OPTIONS"
|
|
)
|
|
|
|
file(GLOB resource_glob_0 RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "expected_*")
|
|
foreach(file IN LISTS resource_glob_0)
|
|
set_source_files_properties("${CMAKE_CURRENT_SOURCE_DIR}/${file}" PROPERTIES QT_RESOURCE_ALIAS "${file}")
|
|
endforeach()
|
|
|
|
# Resources:
|
|
set(qmake_expected_files_resource_files
|
|
${resource_glob_0}
|
|
)
|
|
|
|
qt_internal_add_resource(tst_selftests "qmake_expected_files"
|
|
PREFIX
|
|
"/"
|
|
BASE
|
|
"${CMAKE_CURRENT_SOURCE_DIR}"
|
|
FILES
|
|
${qmake_expected_files_resource_files}
|
|
)
|
|
|
|
qt_internal_apply_testlib_coverage_options(tst_selftests)
|
|
|
|
# ------------- Sub tests -------------
|
|
|
|
set(subprograms
|
|
assert
|
|
badxml
|
|
benchlibcallgrind
|
|
benchlibcounting
|
|
benchlibeventcounter
|
|
benchliboptions
|
|
benchlibtickcounter
|
|
benchlibwalltime
|
|
blacklisted
|
|
cmptest
|
|
commandlinedata
|
|
counting
|
|
crashes
|
|
datatable
|
|
datetime
|
|
deleteLater
|
|
deleteLater_noApp
|
|
differentexec
|
|
exceptionthrow
|
|
expectfail
|
|
failcleanup
|
|
faildatatype
|
|
failfetchtype
|
|
failinit
|
|
failinitdata
|
|
fetchbogus
|
|
findtestdata
|
|
float
|
|
globaldata
|
|
junit
|
|
longstring
|
|
maxwarnings
|
|
multiexec
|
|
pass
|
|
pairdiagnostics
|
|
printdatatags
|
|
printdatatagswithglobaltags
|
|
qexecstringlist
|
|
silent
|
|
signaldumper
|
|
singleskip
|
|
skip
|
|
skipcleanup
|
|
skipinit
|
|
skipinitdata
|
|
sleep
|
|
strcmp
|
|
subtest
|
|
testlib
|
|
tuplediagnostics
|
|
verbose1
|
|
verbose2
|
|
verifyexceptionthrown
|
|
warnings
|
|
watchdog
|
|
)
|
|
|
|
if(TARGET Qt::Gui)
|
|
list(APPEND subprograms
|
|
keyboard
|
|
mouse
|
|
)
|
|
endif()
|
|
|
|
# Ensure uniform location info between release and debug builds
|
|
add_definitions(-DQT_MESSAGELOGCONTEXT)
|
|
|
|
foreach(subprogram IN LISTS subprograms)
|
|
add_subdirectory(${subprogram})
|
|
if(QT_FEATURE_process)
|
|
add_dependencies(tst_selftests ${subprogram})
|
|
endif()
|
|
endforeach()
|
|
|
|
list(JOIN subprograms " " subprograms)
|
|
qt_internal_extend_target(tst_selftests
|
|
DEFINES
|
|
$<$<COMPILE_LANGUAGE:CXX>:SUBPROGRAMS=${subprograms}>
|
|
)
|