# SPDX-FileCopyrightText: 2024 UnionTech Software Technology Co., Ltd.
#
# SPDX-License-Identifier: CC0-1.0

find_package(Qt6 REQUIRED COMPONENTS Core Test)

qt_standard_project_setup()

macro(simplelauncher_add_tests)
    foreach(_testname ${ARGN})
        qt_add_executable(simplelauncher-${_testname} ${_testname}.cpp)
        target_link_libraries(simplelauncher-${_testname} PRIVATE Qt6::Core Qt6::Test simplelaunchercommon)
        add_test(NAME simplelauncher-${_testname} COMMAND simplelauncher-${_testname})
    endforeach()
endmacro()

simplelauncher_add_tests(
    itemspagetest
    gioappinfotest
    searchfilterproxymodeltest
)

# ---- 不变量回归测试（stdlib-only Python，固定本轮修掉的每个缺陷）----
# 本项目主体是 QML，UI 行为无法无头单测；这里把"改回错误写法即红"的不变量接进 CTest。
find_package(Python3 COMPONENTS Interpreter QUIET)
if(Python3_Interpreter_FOUND)
    add_test(NAME invariants
             COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/invariants/test_invariants.py)
else()
    message(WARNING "未找到 Python3 解释器，跳过不变量测试")
endif()
