build: rename old tests binary to legacytests

ci: run-tests action, split legacy and new unit tests into two steps
This commit is contained in:
sithlord48
2025-05-09 10:48:41 -04:00
committed by Nick Bolton
parent 2aee6d8812
commit 3ae2b3a571
17 changed files with 19 additions and 25 deletions

View File

@ -15,7 +15,7 @@ runs:
using: "composite"
steps:
- name: unittests
- name: Unit Tests
id: unittests
env:
QT_QPA_PLATFORM: offscreen
@ -29,16 +29,16 @@ runs:
shell: bash
continue-on-error: true
- name: legacytests
- name: Legacy Tests
id: legacytests
env:
QT_QPA_PLATFORM: offscreen
run: |
./${{ inputs.bin-dir }}/unittests
./${{ inputs.bin-dir }}/legacytests
result=$?
if [ $result -ne 0 ]; then
echo "Unit tests failed with code: $result" >> $GITHUB_STEP_SUMMARY
echo "Legacy tests failed with code: $result" >> $GITHUB_STEP_SUMMARY
fi
shell: bash
continue-on-error: true

View File

@ -44,22 +44,23 @@ jobs:
-G "Ninja" \
-DCMAKE_BUILD_TYPE="Debug" \
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
-DSKIP_BUILD_TESTS=ON \
-DENABLE_COVERAGE=ON
- name: Build
run: |
build-wrapper-linux-x86-64 --out-dir bw-output cmake --build build -j${CPU_CORE_COUNT}
- name: Unit tests coverage
- name: Legacy tests coverage
env:
QT_QPA_PLATFORM: offscreen
run: cmake --build build --target coverage-unittests
run: cmake --build build --target coverage-legacytests
- name: Get coverage report paths
id: coverage-paths
run: |
unittests=$(find build -name coverage-unittests.xml)
paths="${unittests}"
legacytests=$(find build -name coverage-legacytests.xml)
paths="${legacytests}"
if [ -z "$paths" ]; then
echo "Error: No coverage files found"
exit 1

View File

@ -31,10 +31,10 @@ jobs:
run: cmake --build build -j8
- name: Valgrind unit tests
id: unittests
id: legacytests
uses: ./.github/actions/run-valgrind
with:
executable: ./build/bin/unittests
executable: ./build/bin/legacytests
- name: Set job summary
run: |
@ -42,9 +42,9 @@ jobs:
message=$(cat <<EOF
## Valgrind summary
### Unit tests
### legacytests Unit tests
$backticks
${{ steps.unittests.outputs.summary }}
${{ steps.legacytests.outputs.summary }}
$backticks
EOF
)

View File

@ -46,7 +46,7 @@ macro(configure_libs)
message(STATUS "Enabling code coverage")
include(cmake/CodeCoverage.cmake)
append_coverage_compiler_flags()
set(test_exclude subprojects/* build/* src/test/*)
set(test_exclude subprojects/* build/* src/tests/*)
set(test_src ${PROJECT_SOURCE_DIR}/src)
# Apparently solves the bug in gcov where it returns negative counts and confuses gcovr.
@ -55,15 +55,8 @@ macro(configure_libs)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-update=atomic")
setup_target_for_coverage_gcovr_xml(
NAME coverage-integtests
EXECUTABLE integtests
BASE_DIRECTORY ${test_src}
EXCLUDE ${test_exclude}
)
setup_target_for_coverage_gcovr_xml(
NAME coverage-unittests
EXECUTABLE unittests
NAME coverage-legacytests
EXECUTABLE legacytests
BASE_DIRECTORY ${test_src}
EXCLUDE ${test_exclude}
)

View File

@ -4,7 +4,6 @@
# SPDX-License-Identifier: MIT
include(FetchContent)
set(INSTALL_GTEST OFF)
FetchContent_Declare(
googletest
GIT_REPOSITORY https://github.com/google/googletest.git
@ -23,7 +22,7 @@ macro(config_all_tests)
config_test_deps()
add_subdirectory(unittests)
add_subdirectory(legacytests)
endmacro()

View File

@ -3,6 +3,6 @@
# SPDX-License-Identifier: MIT
config_test()
set(target unittests)
set(target legacytests)
add_executable(${target} ${sources} ${headers})
target_link_libraries(${target} ${test_libs} common)

View File

@ -38,6 +38,7 @@ function(create_test)
add_test(NAME ${m_NAME} COMMAND $<TARGET_FILE:${m_NAME}> WORKING_DIRECTORY ${m_WORKING_DIRECTORY})
set_tests_properties(${m_NAME} PROPERTIES DEPENDS ${m_DEPENDS})
set_property(GLOBAL APPEND PROPERTY ${CMAKE_PROJECT_NAME}_tests ${m_NAME})
endfunction()
enable_testing()