Files
Flora/tests/CMakeLists.txt
T
grendervill fdf59f5b39 SQLite-база хранилища: свойства, ~sql-блоки, настройки хранилища
- Frontmatter: шапка --- ключ: значение (источник правды свойств)
- VaultSettings: .flora/settings.json (журнал, sqlEnabled, sqlMaxRows)
- Database: files/tags/file_tags/links/properties, только SELECT/WITH
  на read-only соединении (mode=ro + query_only + зонд), лимит строк
- MdParser: ~sql-блоки таблицей (parseBlocks + Renderer), шапка скрыта в просмотре
- Окно: per-window Database/VaultSettings, sync при сохранении, дебаунс reindex
- QML: VaultSettingsDialog, FilePropertiesDialog, меню, автообновление ~sql
- FileStore.journalDir, DocumentManager.reloadDocument
- Тест flora_db_test (23/23 зелёных)
2026-09-07 16:30:06 +03:00

217 lines
8.6 KiB
CMake

# Smoke-тест: проверка сборки и работы сторонних библиотек.
add_executable(flora_smoke smoke_test.cpp)
target_compile_definitions(flora_smoke PRIVATE
CMARK_GFM_STATIC_DEFINE
CMARK_GFM_EXTENSIONS_STATIC_DEFINE)
target_link_libraries(flora_smoke PRIVATE
cmark::cmark
cmark::cmark_extensions
Flora_libgit2_static)
add_test(NAME flora_smoke COMMAND flora_smoke)
# Тест GitManager (git init / авто-коммиты внутри хранилища).
add_executable(flora_git_test git_test.cpp
../src/git/GitManager.cpp
../src/git/GitManager.h
../src/core/DocumentManager.cpp
../src/core/DocumentManager.h
)
target_include_directories(flora_git_test PRIVATE ../src)
target_compile_definitions(flora_git_test PRIVATE CMARK_GFM_STATIC_DEFINE)
target_link_libraries(flora_git_test PRIVATE
Qt6::Core
Flora_libgit2_static)
add_test(NAME flora_git_test COMMAND flora_git_test)
# Интеграционный тест: настройки + создание хранилища (git-репозиторий).
add_executable(flora_vault_test vault_test.cpp
../src/app/VaultManager.cpp
../src/app/VaultManager.h
../src/core/SettingsStore.cpp
../src/core/SettingsStore.h
../src/core/DocumentManager.cpp
../src/core/DocumentManager.h
../src/git/GitManager.cpp
../src/git/GitManager.h
)
target_include_directories(flora_vault_test PRIVATE ../src)
target_link_libraries(flora_vault_test PRIVATE
Qt6::Core
Flora_libgit2_static)
add_test(NAME flora_vault_test COMMAND flora_vault_test)
# Тест FileStore (файловое дерево хранилища).
add_executable(flora_filestore_test filestore_test.cpp
../src/core/FileStore.cpp
../src/core/FileStore.h
)
target_include_directories(flora_filestore_test PRIVATE ../src)
target_link_libraries(flora_filestore_test PRIVATE
Qt6::Core)
add_test(NAME flora_filestore_test COMMAND flora_filestore_test)
# Тест DocumentManager (вкладки, автосохранение, сохранение при закрытии).
add_executable(flora_docmgr_test documentmanager_test.cpp
../src/core/DocumentManager.cpp
../src/core/DocumentManager.h
)
target_include_directories(flora_docmgr_test PRIVATE ../src)
target_link_libraries(flora_docmgr_test PRIVATE
Qt6::Core)
add_test(NAME flora_docmgr_test COMMAND flora_docmgr_test)
# Тест MdParser (рендер Markdown → HTML).
add_executable(flora_mdparser_test mdparser_test.cpp
../src/markdown/MdParser.cpp
../src/markdown/MdParser.h
../src/db/Database.cpp
../src/db/Database.h
../src/core/Frontmatter.cpp
../src/core/Frontmatter.h
../src/core/VaultIndex.cpp
../src/core/VaultIndex.h
)
target_include_directories(flora_mdparser_test PRIVATE ../src)
target_compile_definitions(flora_mdparser_test PRIVATE
CMARK_GFM_STATIC_DEFINE
CMARK_GFM_EXTENSIONS_STATIC_DEFINE)
target_link_libraries(flora_mdparser_test PRIVATE
Qt6::Core
Qt6::Gui
Qt6::Sql
Qt6::Concurrent
cmark::cmark
cmark::cmark_extensions
)
if(TARGET KF6SyntaxHighlighting)
target_link_libraries(flora_mdparser_test PRIVATE KF6SyntaxHighlighting)
endif()
add_test(NAME flora_mdparser_test COMMAND flora_mdparser_test)
# Тест VaultIndex (теги, ссылки, граф).
add_executable(flora_vaultindex_test vaultindex_test.cpp
../src/core/VaultIndex.cpp
../src/core/VaultIndex.h
)
target_include_directories(flora_vaultindex_test PRIVATE ../src)
target_link_libraries(flora_vaultindex_test PRIVATE
Qt6::Core)
add_test(NAME flora_vaultindex_test COMMAND flora_vaultindex_test)
# Тест SettingsStore (темы, панели, режимы)
add_executable(flora_settings_test settings_test.cpp
../src/core/SettingsStore.cpp
../src/core/SettingsStore.h
)
target_include_directories(flora_settings_test PRIVATE ../src)
target_link_libraries(flora_settings_test PRIVATE Qt6::Core)
add_test(NAME flora_settings_test COMMAND flora_settings_test)
# Тест SyncManager (каталог ошибок, busy)
add_executable(flora_sync_test sync_test.cpp
../src/sync/SyncManager.cpp
../src/sync/SyncManager.h
)
target_include_directories(flora_sync_test PRIVATE ../src)
target_link_libraries(flora_sync_test PRIVATE Qt6::Core Qt6::Network)
add_test(NAME flora_sync_test COMMAND flora_sync_test)
# Расширенные тесты (FileStore, DocumentManager, VaultIndex, MdParser, Git)
add_executable(flora_extended_test extended_test.cpp
../src/core/FileStore.cpp
../src/core/FileStore.h
../src/core/DocumentManager.cpp
../src/core/DocumentManager.h
../src/core/VaultIndex.cpp
../src/core/VaultIndex.h
../src/core/Frontmatter.cpp
../src/core/Frontmatter.h
../src/db/Database.cpp
../src/db/Database.h
../src/markdown/MdParser.cpp
../src/markdown/MdParser.h
../src/git/GitManager.cpp
../src/git/GitManager.h
)
target_include_directories(flora_extended_test PRIVATE ../src)
target_compile_definitions(flora_extended_test PRIVATE CMARK_GFM_STATIC_DEFINE CMARK_GFM_EXTENSIONS_STATIC_DEFINE)
target_link_libraries(flora_extended_test PRIVATE Qt6::Core Qt6::Gui Qt6::Sql Qt6::Concurrent cmark::cmark cmark::cmark_extensions Flora_libgit2_static)
if(TARGET KF6SyntaxHighlighting)
target_link_libraries(flora_extended_test PRIVATE KF6SyntaxHighlighting)
endif()
if(TARGET libssh2_static)
target_link_libraries(flora_extended_test PRIVATE libssh2_static)
endif()
add_test(NAME flora_extended_test COMMAND flora_extended_test)
# Интеграционный тест (VaultManager + FileStore + DocumentManager + VaultIndex + Git + MdParser)
add_executable(flora_integration_test integration_test.cpp
../src/app/VaultManager.cpp
../src/app/VaultManager.h
../src/core/SettingsStore.cpp
../src/core/SettingsStore.h
../src/core/FileStore.cpp
../src/core/FileStore.h
../src/core/DocumentManager.cpp
../src/core/DocumentManager.h
../src/core/VaultIndex.cpp
../src/core/VaultIndex.h
../src/core/Frontmatter.cpp
../src/core/Frontmatter.h
../src/db/Database.cpp
../src/db/Database.h
../src/markdown/MdParser.cpp
../src/markdown/MdParser.h
../src/git/GitManager.cpp
../src/git/GitManager.h
)
target_include_directories(flora_integration_test PRIVATE ../src)
target_compile_definitions(flora_integration_test PRIVATE CMARK_GFM_STATIC_DEFINE CMARK_GFM_EXTENSIONS_STATIC_DEFINE)
target_link_libraries(flora_integration_test PRIVATE Qt6::Core Qt6::Gui Qt6::Sql Qt6::Concurrent cmark::cmark cmark::cmark_extensions Flora_libgit2_static)
if(TARGET KF6SyntaxHighlighting)
target_link_libraries(flora_integration_test PRIVATE KF6SyntaxHighlighting)
endif()
add_test(NAME flora_integration_test COMMAND flora_integration_test)
# Тест истории Git (вперёд/назад, diff, восстановление, время)
add_executable(flora_git_history_test git_history_test.cpp
../src/git/GitManager.cpp
../src/git/GitManager.h
../src/core/DocumentManager.cpp
../src/core/DocumentManager.h
)
target_include_directories(flora_git_history_test PRIVATE ../src)
target_link_libraries(flora_git_history_test PRIVATE Qt6::Core Flora_libgit2_static)
add_test(NAME flora_git_history_test COMMAND flora_git_history_test)
# Тест SQLite-слоя (Frontmatter, VaultSettings, Database, ~sql-блоки)
add_executable(flora_db_test db_test.cpp
../src/core/Frontmatter.cpp
../src/core/Frontmatter.h
../src/core/VaultSettings.cpp
../src/core/VaultSettings.h
../src/core/VaultIndex.cpp
../src/core/VaultIndex.h
../src/db/Database.cpp
../src/db/Database.h
../src/markdown/MdParser.cpp
../src/markdown/MdParser.h
)
target_include_directories(flora_db_test PRIVATE ../src)
target_compile_definitions(flora_db_test PRIVATE CMARK_GFM_STATIC_DEFINE CMARK_GFM_EXTENSIONS_STATIC_DEFINE)
target_link_libraries(flora_db_test PRIVATE Qt6::Core Qt6::Gui Qt6::Sql Qt6::Concurrent cmark::cmark cmark::cmark_extensions)
if(TARGET KF6SyntaxHighlighting)
target_link_libraries(flora_db_test PRIVATE KF6SyntaxHighlighting)
endif()
add_test(NAME flora_db_test COMMAND flora_db_test)
# Тест выбора хранилища (последнее выбранное, а не добавленное)
add_executable(flora_vault_select_test vault_select_test.cpp
../src/app/VaultManager.cpp
../src/core/SettingsStore.cpp
../src/core/DocumentManager.cpp
../src/git/GitManager.cpp
)
target_include_directories(flora_vault_select_test PRIVATE ../src)
target_link_libraries(flora_vault_select_test PRIVATE Qt6::Core Flora_libgit2_static)
add_test(NAME flora_vault_select_test COMMAND flora_vault_select_test)