forked from qt-creator/qt-creator
Tests: Provide some cmake files for manual tests
Add another option to mark a test as manual and use this for some existing. Manual tests will not be added as a ctest, but they can still get executed explicitly. Beside this allow to use a condition when using add_qtc_test(). Change-Id: I03d5397db36c0a2c9ee506a4214ed68fae6ad6e7 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
This commit is contained in:
@@ -763,7 +763,8 @@ function(extend_qtc_executable name)
|
||||
endfunction()
|
||||
|
||||
function(add_qtc_test name)
|
||||
cmake_parse_arguments(_arg "GTEST" "TIMEOUT" "DEFINES;DEPENDS;INCLUDES;SOURCES;EXPLICIT_MOC;SKIP_AUTOMOC;SKIP_PCH" ${ARGN})
|
||||
cmake_parse_arguments(_arg "GTEST;MANUALTEST" "TIMEOUT"
|
||||
"DEFINES;DEPENDS;INCLUDES;SOURCES;EXPLICIT_MOC;SKIP_AUTOMOC;SKIP_PCH;CONDITION" ${ARGN})
|
||||
|
||||
if ($_arg_UNPARSED_ARGUMENTS)
|
||||
message(FATAL_ERROR "add_qtc_test had unparsed arguments!")
|
||||
@@ -771,6 +772,10 @@ function(add_qtc_test name)
|
||||
|
||||
update_cached_list(__QTC_TESTS "${name}")
|
||||
|
||||
if (NOT _arg_CONDITION)
|
||||
set(_arg_CONDITION ON)
|
||||
endif()
|
||||
|
||||
string(TOUPPER "BUILD_TEST_${name}" _build_test_var)
|
||||
set(_build_test_default ${BUILD_TESTS_BY_DEFAULT})
|
||||
if (DEFINED ENV{QTC_${_build_test_var}})
|
||||
@@ -778,7 +783,7 @@ function(add_qtc_test name)
|
||||
endif()
|
||||
set(${_build_test_var} "${_build_test_default}" CACHE BOOL "Build test ${name}.")
|
||||
|
||||
if (NOT ${_build_test_var})
|
||||
if (NOT ${_build_test_var} OR NOT ${_arg_CONDITION})
|
||||
return()
|
||||
endif()
|
||||
|
||||
@@ -820,7 +825,7 @@ function(add_qtc_test name)
|
||||
enable_pch(${name})
|
||||
endif()
|
||||
|
||||
if (NOT _arg_GTEST)
|
||||
if (NOT _arg_GTEST AND NOT _arg_MANUALTEST)
|
||||
add_test(NAME ${name} COMMAND ${name})
|
||||
if (DEFINED _arg_TIMEOUT)
|
||||
set(timeout_option TIMEOUT ${_arg_TIMEOUT})
|
||||
|
||||
@@ -2,19 +2,19 @@
|
||||
# add_subdirectory(clang-format-for-qtc)
|
||||
# add_subdirectory(cplusplus-tools)
|
||||
# add_subdirectory(cppquickfix)
|
||||
# add_subdirectory(debugger)
|
||||
add_subdirectory(debugger)
|
||||
# add_subdirectory(distribution)
|
||||
# add_subdirectory(dockwidgets)
|
||||
# add_subdirectory(fakevim)
|
||||
add_subdirectory(fakevim)
|
||||
# add_subdirectory(features)
|
||||
# add_subdirectory(filesystemview)
|
||||
# add_subdirectory(genericproject)
|
||||
# add_subdirectory(pluginview)
|
||||
# add_subdirectory(process)
|
||||
# add_subdirectory(proparser)
|
||||
add_subdirectory(pluginview)
|
||||
add_subdirectory(process)
|
||||
add_subdirectory(proparser)
|
||||
# add_subdirectory(qml)
|
||||
# add_subdirectory(qt4projectmanager)
|
||||
# add_subdirectory(search)
|
||||
# add_subdirectory(shootout)
|
||||
# add_subdirectory(ssh)
|
||||
add_subdirectory(shootout)
|
||||
add_subdirectory(ssh)
|
||||
add_subdirectory(widgets)
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
add_subdirectory(gui)
|
||||
add_subdirectory(simple)
|
||||
@@ -0,0 +1,18 @@
|
||||
cmake_minimum_required(VERSION 3.16)
|
||||
|
||||
project(manual_test_debugger_gui LANGUAGES CXX)
|
||||
|
||||
set(CMAKE_AUTOUIC ON)
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 11)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets)
|
||||
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets)
|
||||
|
||||
add_executable(manual_test_debugger_gui
|
||||
mainwindow.cpp mainwindow.h mainwindow.ui
|
||||
tst_gui.cpp
|
||||
)
|
||||
target_link_libraries(manual_test_debugger_gui PRIVATE Qt${QT_VERSION_MAJOR}::Widgets)
|
||||
@@ -0,0 +1,71 @@
|
||||
cmake_minimum_required(VERSION 3.16)
|
||||
|
||||
project(simple_test_app LANGUAGES CXX)
|
||||
|
||||
set(CMAKE_AUTOUIC ON)
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 11)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Core Gui Network Widgets)
|
||||
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Core Gui Network Widgets)
|
||||
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Script Webkit WebkitWidgets QUIET)
|
||||
find_package(Boost QUIET)
|
||||
find_package(Eigen2 NO_MODULE QUIET)
|
||||
find_package(Eigen3 NO_MODULE QUIET)
|
||||
|
||||
if (${QT_VERSION_MAJOR} LESS 6)
|
||||
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Xml)
|
||||
else()
|
||||
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Core5Compat)
|
||||
endif()
|
||||
|
||||
add_executable(simple_test_app simple_test_app.cpp)
|
||||
|
||||
add_compile_definitions(simple_test_app "USE_GUILIB")
|
||||
|
||||
if (Qt${QT_VERSION_MAJOR}Script_FOUND)
|
||||
add_compile_definitions(simple_test_app "HAS_SCRIPT")
|
||||
endif()
|
||||
|
||||
if (Boost_FOUND)
|
||||
add_compile_definitions(simple_test_app "HAS_BOOST")
|
||||
target_include_directories(simple_test_app PRIVATE ${Boost_INCLUDE_DIRS})
|
||||
endif()
|
||||
|
||||
if (EIGEN2_FOUND)
|
||||
add_compile_definitions(simple_test_app "HAS_EIGEN2")
|
||||
target_include_directories(simple_test_app PRIVATE ${EIGEN2_INCLUDE_DIR})
|
||||
endif()
|
||||
|
||||
if (EIGEN3_FOUND)
|
||||
add_compile_definitions(simple_test_app "HAS_EIGEN3")
|
||||
target_include_directories(simple_test_app PRIVATE ${EIGEN3_INCLUDE_DIR})
|
||||
endif()
|
||||
|
||||
target_link_libraries(simple_test_app PRIVATE Qt${QT_VERSION_MAJOR}::Core
|
||||
PRIVATE Qt${QT_VERSION_MAJOR}::CorePrivate
|
||||
PRIVATE Qt${QT_VERSION_MAJOR}::Gui
|
||||
PRIVATE Qt${QT_VERSION_MAJOR}::Network
|
||||
PRIVATE Qt${QT_VERSION_MAJOR}::Widgets)
|
||||
if (${QT_VERSION_MAJOR} LESS 6)
|
||||
target_link_libraries(simple_test_app PRIVATE Qt${QT_VERSION_MAJOR}::Xml)
|
||||
if (Qt${QT_VERSION_MAJOR}Script_FOUND)
|
||||
target_link_libraries(simple_test_app PRIVATE Qt${QT_VERSION_MAJOR}::Script)
|
||||
endif()
|
||||
else()
|
||||
target_link_libraries(simple_test_app PRIVATE Qt${QT_VERSION_MAJOR}::Core5Compat)
|
||||
endif()
|
||||
|
||||
if (Qt${QT_VERSION_MAJOR}Webkit_FOUND)
|
||||
target_link_libraries(simple_test_app PRIVATE Qt${QT_VERSION_MAJOR}::Webkit)
|
||||
endif()
|
||||
|
||||
if (Qt${QT_VERSION_MAJOR}WebkitWidgets_FOUND)
|
||||
target_link_libraries(simple_test_app PRIVATE Qt${QT_VERSION_MAJOR}::WebkitWidgets)
|
||||
endif()
|
||||
|
||||
# and the plugin
|
||||
add_library(simple_test_plugin simple_test_plugin.cpp)
|
||||
target_link_libraries(simple_test_plugin PRIVATE Qt${QT_VERSION_MAJOR}::Core)
|
||||
@@ -0,0 +1,15 @@
|
||||
add_qtc_test(tst_manual_fakevim
|
||||
MANUALTEST
|
||||
DEPENDS Utils
|
||||
INCLUDES "${PROJECT_SOURCE_PATH}/src/plugins/fakevim"
|
||||
DEFINES FAKEVIM_STANDALONE
|
||||
SOURCES
|
||||
main.cpp
|
||||
)
|
||||
|
||||
extend_qtc_test(tst_manual_fakevim
|
||||
SOURCES_PREFIX "${PROJECT_SOURCE_DIR}/src/plugins/fakevim/"
|
||||
SOURCES
|
||||
fakevimactions.cpp fakevimactions.h
|
||||
fakevimhandler.cpp fakevimhandler.h
|
||||
)
|
||||
@@ -0,0 +1,10 @@
|
||||
add_qtc_test(tst_manual_pluginview
|
||||
MANUALTEST
|
||||
DEPENDS ExtensionSystem Utils
|
||||
SOURCES
|
||||
plugindialog.cpp plugindialog.h
|
||||
)
|
||||
|
||||
add_subdirectory(plugins/plugin1)
|
||||
add_subdirectory(plugins/plugin2)
|
||||
add_subdirectory(plugins/plugin3)
|
||||
@@ -0,0 +1,14 @@
|
||||
add_library(tst_manual_plugin1 SHARED
|
||||
plugin1.cpp plugin1.h
|
||||
)
|
||||
|
||||
set_target_properties(tst_manual_plugin1 PROPERTIES
|
||||
OUTPUT_NAME "plugin1"
|
||||
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/.."
|
||||
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/.."
|
||||
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/.."
|
||||
)
|
||||
|
||||
target_link_libraries(tst_manual_plugin1 PRIVATE ExtensionSystem
|
||||
PRIVATE tst_manual_plugin2
|
||||
PRIVATE tst_manual_plugin3)
|
||||
@@ -0,0 +1,12 @@
|
||||
add_library(tst_manual_plugin2 SHARED
|
||||
plugin2.cpp plugin2.h
|
||||
)
|
||||
|
||||
set_target_properties(tst_manual_plugin2 PROPERTIES
|
||||
OUTPUT_NAME "plugin2"
|
||||
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/.."
|
||||
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/.."
|
||||
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/.."
|
||||
)
|
||||
|
||||
target_link_libraries(tst_manual_plugin2 PRIVATE ExtensionSystem)
|
||||
@@ -0,0 +1,13 @@
|
||||
add_library(tst_manual_plugin3 SHARED
|
||||
plugin3.cpp plugin3.h
|
||||
)
|
||||
|
||||
set_target_properties(tst_manual_plugin3 PROPERTIES
|
||||
OUTPUT_NAME "plugin3"
|
||||
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/.."
|
||||
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/.."
|
||||
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/.."
|
||||
)
|
||||
|
||||
target_link_libraries(tst_manual_plugin3 PRIVATE ExtensionSystem
|
||||
PRIVATE tst_manual_plugin2)
|
||||
@@ -0,0 +1,11 @@
|
||||
add_qtc_test(tst_manual_qtcprocess
|
||||
MANUALTEST
|
||||
DEPENDS Utils
|
||||
SOURCES
|
||||
main.cpp
|
||||
mainwindow.cpp mainwindow.h
|
||||
)
|
||||
|
||||
set_target_properties(tst_manual_qtcprocess PROPERTIES
|
||||
OUTPUT_NAME "process"
|
||||
)
|
||||
@@ -0,0 +1,47 @@
|
||||
add_qtc_test(tst_manual_proparser
|
||||
MANUALTEST
|
||||
DEPENDS Qt5::Core Qt5::Core5Compat
|
||||
DEFINES
|
||||
"QMAKE_BUILTIN_PRFS"
|
||||
"QT_NO_CAST_TO_ASCII"
|
||||
"QT_RESTRICTED_CAST_FROM_ASCII"
|
||||
"QT_USE_QSTRINGBUILDER"
|
||||
"PROEVALUATOR_FULL"
|
||||
"PROEVALUATOR_CUMULATIVE"
|
||||
"PROEVALUATOR_INIT_PROPS"
|
||||
INCLUDES
|
||||
"${PROJECT_SOURCE_DIR}/src/shared/proparser/"
|
||||
"${PROJECT_SOURCE_DIR}/src/libs/"
|
||||
SOURCES
|
||||
main.cpp
|
||||
)
|
||||
|
||||
extend_qtc_test(tst_manual_proparser
|
||||
SOURCES_PREFIX "${PROJECT_SOURCE_DIR}/src/shared/proparser/"
|
||||
SOURCES
|
||||
ioutils.cpp ioutils.h
|
||||
profileevaluator.cpp profileevaluator.h
|
||||
proitems.cpp proitems.h
|
||||
proparser.qrc
|
||||
qmake_global.h
|
||||
qmakebuiltins.cpp
|
||||
qmakeevaluator.cpp qmakeevaluator.h qmakeevaluator_p.h
|
||||
qmakeglobals.cpp qmakeglobals.h
|
||||
qmakeparser.cpp qmakeparser.h
|
||||
qmakevfs.cpp qmakevfs.h
|
||||
registry.cpp registry_p.h
|
||||
)
|
||||
|
||||
extend_qtc_test(tst_manual_proparser
|
||||
SOURCES_PREFIX "${PROJECT_SOURCE_DIR}/src/libs/utils/"
|
||||
SOURCES porting.h
|
||||
)
|
||||
|
||||
extend_qtc_test(tst_manual_proparser CONDITION WIN32
|
||||
DEPENDS advapi32
|
||||
)
|
||||
|
||||
extend_qtc_test(tst_manual_proparser
|
||||
PROPERTIES
|
||||
OUTPUT_NAME "testreader"
|
||||
)
|
||||
@@ -0,0 +1,5 @@
|
||||
add_qtc_test(tst_manual_shootout
|
||||
MANUALTEST
|
||||
SOURCES
|
||||
tst_codesize.cpp
|
||||
)
|
||||
@@ -0,0 +1,2 @@
|
||||
add_subdirectory(sftpfsmodel)
|
||||
add_subdirectory(shell)
|
||||
@@ -0,0 +1,18 @@
|
||||
file(RELATIVE_PATH RELATIVE_TEST_PATH "${PROJECT_BINARY_DIR}" "${CMAKE_CURRENT_BINARY_DIR}")
|
||||
file(RELATIVE_PATH TEST_RELATIVE_LIBEXEC_PATH "/${RELATIVE_TEST_PATH}" "/${IDE_LIBEXEC_PATH}")
|
||||
|
||||
add_qtc_test(tst_manual_sftpfsmodel
|
||||
MANUALTEST
|
||||
DEPENDS Utils QtcSsh Qt5::Widgets
|
||||
INCLUDES "${PROJECT_SOURCE_DIR}/src/shared/modeltest"
|
||||
DEFINES "TEST_RELATIVE_LIBEXEC_PATH=\"${TEST_RELATIVE_LIBEXEC_PATH}\""
|
||||
SOURCES
|
||||
main.cpp
|
||||
window.cpp window.h window.ui
|
||||
)
|
||||
|
||||
extend_qtc_test(tst_manual_sftpfsmodel
|
||||
SOURCES_PREFIX "${PROJECT_SOURCE_DIR}/src/shared/modeltest/"
|
||||
SOURCES
|
||||
modeltest.cpp modeltest.h
|
||||
)
|
||||
@@ -0,0 +1,13 @@
|
||||
file(RELATIVE_PATH RELATIVE_TEST_PATH "${PROJECT_BINARY_DIR}" "${CMAKE_CURRENT_BINARY_DIR}")
|
||||
file(RELATIVE_PATH TEST_RELATIVE_LIBEXEC_PATH "/${RELATIVE_TEST_PATH}" "/${IDE_LIBEXEC_PATH}")
|
||||
|
||||
add_qtc_test(tst_manual_shell
|
||||
MANUALTEST
|
||||
CONDITION UNIX
|
||||
DEPENDS Utils QtcSsh Qt5::Network
|
||||
DEFINES "TEST_RELATIVE_LIBEXEC_PATH=\"${TEST_RELATIVE_LIBEXEC_PATH}\""
|
||||
SOURCES
|
||||
argumentscollector.cpp argumentscollector.h
|
||||
main.cpp
|
||||
shell.cpp shell.h
|
||||
)
|
||||
@@ -1,4 +1,5 @@
|
||||
add_qtc_test(tst_manual_widgets_crumblepath
|
||||
MANUALTEST
|
||||
DEPENDS Qt5::Gui Utils Core
|
||||
SOURCES
|
||||
tst_manual_widgets_crumblepath.cpp
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
add_qtc_test(tst_manual_widgets_infolabel
|
||||
MANUALTEST
|
||||
DEPENDS Qt5::Gui Utils Core
|
||||
SOURCES
|
||||
tst_manual_widgets_infolabel.cpp
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
add_qtc_test(tst_manual_widgets_manhattanstyle
|
||||
MANUALTEST
|
||||
DEPENDS Qt5::Gui Utils Core
|
||||
SOURCES
|
||||
tst_manual_widgets_manhattanstyle.cpp
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
add_qtc_test(tst_manual_widgets_tracing
|
||||
MANUALTEST
|
||||
CONDITION TARGET Tracing
|
||||
DEPENDS Tracing Utils Core Qt5::Gui Qt5::Quick
|
||||
SOURCES
|
||||
|
||||
Reference in New Issue
Block a user