Restructure testlib selftest project

The use of a single subdirectory only for the test binary, but not the
actual source file, just made things harder to discover when looking
for the test code. Now all subdirectories are actual sub-tests.

Change-Id: Ia3e308ba8d231cc8ead1491b10a34801f76669b0
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
bb10
Tor Arne Vestbø 2020-02-11 14:52:49 +01:00 committed by Tor Arne Vestbø
parent 737fe89691
commit 9fc9fefdc9
7 changed files with 89 additions and 148 deletions

View File

@ -1,19 +1,64 @@
# Generated from selftests.pro.
# special case begin
include(../../../../src/testlib/selfcover.cmake)
# special case end
add_subdirectory(test)
if(NOT WINRT)
if(TARGET Qt::Gui)
endif()
endif()
# special case begin
# The whole file is written manually.
# special case skip regeneration
include(../../../../src/testlib/selfcover.cmake)
# ------------- Test runner -------------
qt_add_test(tst_selftests
OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/"
SOURCES
../../../shared/emulationdetector.h
tst_selftests.cpp
INCLUDE_DIRECTORIES
../../../shared
PUBLIC_LIBRARIES
Qt::TestPrivate
# special case begin
# 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"
# special case end
)
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_add_resource(tst_selftests "qmake_expected_files"
PREFIX
"/"
BASE
"${CMAKE_CURRENT_SOURCE_DIR}" # special case
FILES
${qmake_expected_files_resource_files}
)
## Scopes:
#####################################################################
#### Keys ignored in scope 5:.:.:test.pro:NOT ANDROID AND NOT WINRT AND for(file,SUBPROGRAMS):
# TEST_HELPER_INSTALLS = "../$${file}/$${file}"
#### Keys ignored in scope 7:.:..:../selftests.pri:TARGET Qt::Gui:
# SUBPROGRAMS = "keyboard" "mouse"
qt_apply_testlib_coverage_options(tst_selftests)
# ------------- Sub tests -------------
if(NOT WINRT)
add_subdirectory(assert)

View File

@ -0,0 +1,22 @@
CONFIG += testcase
SOURCES += tst_selftests.cpp
QT = core testlib-private
TARGET = tst_selftests
win32 {
CONFIG(debug, debug|release) {
TARGET = ../debug/tst_selftests
} else {
TARGET = ../release/tst_selftests
}
}
expected_files.files = $$files($$PWD/expected_*)
expected_files.base = $$PWD
RESOURCES += expected_files
include(selftests.pri)
!android:!winrt: for(file, SUBPROGRAMS): TEST_HELPER_INSTALLS += "$${file}/$${file}"
include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)

View File

@ -59,5 +59,5 @@ qtHaveModule(gui): SUBPROGRAMS += \
keyboard \
mouse
INCLUDEPATH += ../../../../shared/
HEADERS += ../../../../shared/emulationdetector.h
INCLUDEPATH += ../../../shared/
HEADERS += ../../../shared/emulationdetector.h

View File

@ -2,10 +2,12 @@ TEMPLATE = subdirs
!winrt: include(selftests.pri)
SUBDIRS = $$SUBPROGRAMS test
selftest.file = selftest.pro
selftest.makefile = Makefile.selftest
selftest.target = selftest
SUBDIRS = $$SUBPROGRAMS selftest
INSTALLS =
QT = core

View File

@ -1,45 +0,0 @@
# Generated from test.pro.
#####################################################################
## tst_selftests Test:
#####################################################################
qt_add_test(tst_selftests
OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/../"
SOURCES
../../../../shared/emulationdetector.h
../tst_selftests.cpp
INCLUDE_DIRECTORIES
../../../../shared
PUBLIC_LIBRARIES
Qt::TestPrivate
)
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_add_resource(tst_selftests "qmake_expected_files"
PREFIX
"/"
BASE
"$$PWD/.."
FILES
${qmake_expected_files_resource_files}
)
## Scopes:
#####################################################################
#### Keys ignored in scope 5:.:.:test.pro:NOT ANDROID AND NOT WINRT AND for(file,SUBPROGRAMS):
# TEST_HELPER_INSTALLS = "../$${file}/$${file}"
#### Keys ignored in scope 7:.:..:../selftests.pri:TARGET Qt::Gui:
# SUBPROGRAMS = "keyboard" "mouse"

View File

@ -1,61 +0,0 @@
# Generated from test.pro.
#####################################################################
## tst_selftests Test:
#####################################################################
qt_add_test(tst_selftests
OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/../"
SOURCES
../../../../shared/emulationdetector.h
../tst_selftests.cpp
INCLUDE_DIRECTORIES
../../../../shared
PUBLIC_LIBRARIES
Qt::TestPrivate
# special case begin
# 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"
# special case end
)
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_add_resource(tst_selftests "qmake_expected_files"
PREFIX
"/"
BASE
"${CMAKE_CURRENT_SOURCE_DIR}" # special case
FILES
${qmake_expected_files_resource_files}
)
## Scopes:
#####################################################################
#### Keys ignored in scope 5:.:.:test.pro:NOT ANDROID AND NOT WINRT AND for(file,SUBPROGRAMS):
# TEST_HELPER_INSTALLS = "../$${file}/$${file}"
#### Keys ignored in scope 7:.:..:../selftests.pri:TARGET Qt::Gui:
# SUBPROGRAMS = "keyboard" "mouse"
# special case begin
qt_apply_testlib_coverage_options(tst_selftests)
# special case end

View File

@ -1,22 +0,0 @@
CONFIG += testcase
SOURCES += ../tst_selftests.cpp
QT = core testlib-private
TARGET = ../tst_selftests
win32 {
CONFIG(debug, debug|release) {
TARGET = ../../debug/tst_selftests
} else {
TARGET = ../../release/tst_selftests
}
}
expected_files.files = $$files($$PWD/../expected_*)
expected_files.base = $$PWD/..
RESOURCES += expected_files
include(../selftests.pri)
!android:!winrt: for(file, SUBPROGRAMS): TEST_HELPER_INSTALLS += "../$${file}/$${file}"
include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)